Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
A minimal PythonObject configuration for the SciPy package
ResourceFunction["SciPyObject"][] returns a configured PythonObject for the Python package SciPy in a new Python session. | |
ResourceFunction["SciPyObject"][session] uses the specified running ExternalSessionObject session. | |
ResourceFunction["SciPyObject"][…,"func"[args,opts]] executes the function func with the specified arguments and options. |
BSR | block sparse row |
COO | coordinate format |
CSC | compressed sparse column |
CSR | compressed sparse row |
Create a Python object for the SciPy package:
In[1]:= | ![]() |
Out[1]= | ![]() |
Create a Python compressed sparse row (CSR) matrix from a dense matrix:
In[2]:= | ![]() |
Out[2]= | ![]() |
Import the Python sparse matrix: as SparseArray:
In[3]:= | ![]() |
Out[3]= | ![]() |
Display in the dense form:
In[4]:= | ![]() |
Out[4]= | ![]() |
Clean up by closing the Python session:
In[5]:= | ![]() |
Export a SparseArray object to Python as a CSR matrix:
In[6]:= | ![]() |
Out[6]= | ![]() |
In[7]:= | ![]() |
Out[7]= | ![]() |
In[8]:= | ![]() |
Out[8]= | ![]() |
Import the Python sparse matrix as a SparseArray:
In[9]:= | ![]() |
Out[9]= | ![]() |
Display in the dense form:
In[10]:= | ![]() |
Out[10]= | ![]() |
In[11]:= | ![]() |
SciPyObject supports the creation of both sparse matrices and sparse arrays:
In[12]:= | ![]() |
Out[12]= | ![]() |
In[13]:= | ![]() |
Out[13]= | ![]() |
In[14]:= | ![]() |
In[15]:= | ![]() |
Out[15]= | ![]() |
Instances of all these arrays can be imported:
In[16]:= | ![]() |
Out[16]= | ![]() |
They are all equivalent to each other and the original matrix:
In[17]:= | ![]() |
Out[17]= | ![]() |
In[18]:= | ![]() |
Access the functionality of the SciPy package, for instance, compute the Minkowski distance between two arrays:
In[19]:= | ![]() |
Out[19]= | ![]() |
In[20]:= | ![]() |
Out[20]= | ![]() |
In[21]:= | ![]() |
Out[21]= | ![]() |
In[22]:= | ![]() |
Many Python packages, for instance, NetworkX, return sparse arrays in one of the the SciPy formats:
In[23]:= | ![]() |
Out[23]= | ![]() |
Create a graph in Python:
In[24]:= | ![]() |
Out[24]= | ![]() |
Compute the adjacency matrix on the Python side:
In[25]:= | ![]() |
Out[25]= | ![]() |
Import the matrix as SparseArray:
In[26]:= | ![]() |
Out[26]= | ![]() |
Display in the denseForm:
In[27]:= | ![]() |
Out[27]= | ![]() |
For comparison, compute the adjacency matrix of the imported graph:
In[28]:= | ![]() |
Out[28]= | ![]() |
In[29]:= | ![]() |
Out[29]= | ![]() |
In[30]:= | ![]() |
Out[30]= | ![]() |
In[31]:= | ![]() |
Create a Python object for the SciPy's compressed sparse row matrix using the "Configuration" option:
In[32]:= | ![]() |
Out[32]= | ![]() |
Define a sparse matrix in Python:
In[33]:= | ![]() |
Out[33]= | ![]() |
Convert the Python object to SparseArray:
In[34]:= | ![]() |
Out[34]= | ![]() |
In[35]:= | ![]() |
Wolfram Language 12.3 (May 2021) or above
This work is licensed under a Creative Commons Attribution 4.0 International License