Questions tagged [sparse-arrays]
Questions on the construction and manipulation of sparse arrays in Mathematica, with functions like SparseArray[] and Band[].
309
questions
1
vote
0
answers
29
views
Method for MinimumBandwidthOrdering [closed]
MinimumBandwidthOrdering[m, Method -> "RCMD"]
What method is 'RCMD' in Mathematica?
Reverse Cuthill-McKee,
Reduced Canonical Matrix Diagram,
Restricted Minimum Column Degree,
other?
5
votes
1
answer
71
views
How could I see the memory use on sparse array and constant array matrices? What is the advantage? [duplicate]
I have a huge matrix defined using constant array function and it allocates so much memory preventing the calculation. Therefore, I would like to change the constant array matrix into sparse matrix ...
1
vote
1
answer
98
views
Efficient memory usage while building a large sparse matrix
I am sure the following problem has been solved already, but I am unable to find any solution... Any help appreciated!
So I am building a pretty huge matrix (or tensor, actually) using
...
2
votes
0
answers
56
views
Dot product of arrays that are members of the same list
Lets say I have a list of n arrays:
n=3;
list = Table[RandomInteger[{-10, 10}, {2, 2}], n];
I would like to calculate the matrix corresponding to:
...
7
votes
1
answer
102
views
Fast Sparse Tensor Addition
How can one do a fast sparse tensor addition?
Below, I have the following code: We first generate 3 random sparse 1000x1000x1000 tensors with 10^6 entries each.
Then, I want to add them. But the usual ...
2
votes
1
answer
85
views
How do I create a banded matrix using values from a given function [closed]
I would like to create a matrix were values of the function P make up the diagonals. I tried using the For loop but did not get it right.
...
4
votes
1
answer
140
views
Speeding Up Sparse Matrix Generalized Eigenvalues
I have a generalized eigenvalue problem
$$
{\mathbf A}\vec v = \lambda {\mathbf B} \vec v
$$
for which I am trying to find the smallest eigenvalue $\lambda$ and the associated eigenvector $\vec v$. ...
2
votes
1
answer
97
views
Reconstruction on large sparse array
I'm struggling with a reconstruction of a large sparse array. What I'm trying to do is to rearrange a 2 dimensional array (respresenting a system matrix for a given system of equations) such that I ...
6
votes
4
answers
917
views
Implementation of MATLAB's "numgrid" function [closed]
I am looking for an implementation of MATLAB's numgrid function, in particular the "B" mode.
For example, I want to get the matrix corresponding to the ...
3
votes
3
answers
158
views
Insert a dynamic vector into a matrix
If I have the following dynamic vector
Cs[NN_] :=
Table[{Sin[(2*i - 1) τ], Sin[(2*i - 1) τ]}, {i, 1, NN}] //
Flatten
The size of Cs depends on the integer ...
1
vote
1
answer
77
views
Plotting multidimensional tables
I have a tridiagonal matrix created by
...
0
votes
0
answers
39
views
Trying to map SparseArray over a defined list, the SparseArray defined with 3 subvalues i want to map the 3rd. subValue(list) over the defined list
I have a SparseArray already defined as following
...
1
vote
0
answers
53
views
Erratic behavior retrieving large data (several tens of gigabytes) that has been serialized by Mathematica
Hardware: PC with 256GB RAM
OS: Windows 10
Mathematica: Version 13.0.1
One of my projects has led to the creation of a SparseArray whose ByteCount is ~ 35GB in RAM. At the time of creation the ...
2
votes
1
answer
88
views
Define a function with sparsearray
I am trying to define a function using SparseArray, but the entries were defined before. How can I avoid this error?
Code is:
...
1
vote
0
answers
23
views
Why does Sparsearray diagonalization by Krylov technique become slower for very large sizes?
Here is an example sparse matrix, taken from example Hamiltonian, which was a question I asked before in this forum.
...
2
votes
0
answers
23
views
Threshold on triangular SparseArray
I am confused by the behavior of Threshold on sparse UpperTringularize (and LowerTringularize...
3
votes
0
answers
74
views
Fastest Way to make rows and columns zero and corresponding (i,i) element 1 of a large Sparse Matrix
I have a 5552 by 5552 sparse matrix:
...
4
votes
3
answers
345
views
Generating signed permutation matrices
As most people (on here at least) know a permutation matrix is a square binary matrix that has exactly one entry of 1 in each row and each column and 0s elsewhere. For the $n \times n$ case there are $...
8
votes
0
answers
127
views
Defining a SparseArray functions in Mathematica 13
I am defining a sparse array as a function of argument x, i.e.
f[x_] = SparseArray[{1->x}, {3}]
In Mathematica 12 this works perfectly, I can pass arguments and ...
0
votes
0
answers
282
views
How to convert an SparseArray into a Matrix?
I have the following sparse array and I want to change it to a matrix. Could you please tell me how to do that?
...
2
votes
1
answer
85
views
How to create a 3D matrix from different blocks?
I would like to generate a $3D$ matrix of dimension $(n1\times n1\times n1)$ compose of $216$ matrix blocks $(n2\times n2\times n2)$. All 216 matrix blocks are subdivided into 4 groups, each one with ...
9
votes
2
answers
181
views
SparseArray Input
How to create a SparseArray without using lists of rule in MMA?
In MMA we can define a SparseArray using lists of rule
...
7
votes
0
answers
52
views
Is there a way to make SparseArray distinguish between background values of different precision that are numerically equal?
To illustrate what I mean, consider the following:
SparseArray[{{1} -> 1, {5} -> 1.}, Automatic, 0] // Normal
{1, 0, 0, 0, 1.}
As you can see, the ...
0
votes
0
answers
30
views
Refer to entry of input matrix in SparseArray
The code
...
2
votes
0
answers
136
views
Building a Matrix as a piecewise-function of the indices without for loops [closed]
I'm very new to Mathematica and this site. I've read that building matrices with For loops is slow, and I have experienced this myself on the current project. I'm trying to wrap my head around ...
4
votes
0
answers
83
views
How to efficiently build a large sparse matrix and overloading a compiled function?
I would like to construct a large sparse matrix folding from rank-4 tensor given by the following:
$\mathcal{L}_{1L}^{00}(i,j)=\mathcal{L}_{1L}^{00}(m_1,m_2;M_1,M_2)$
The indices of matrix $(i,j)$ are ...
6
votes
2
answers
293
views
Speedup the production of a sparse symmetric matrix with a dense vector
The optimization of the production of a sparse symmetric matrix with a dense vector has existed for a long time. Someone once compared the matrix operations of Mathematica with MATLAB, and then came ...
1
vote
2
answers
107
views
1
vote
1
answer
133
views
Why does generating a list of elements for SparseArray crash the kernel?
I am trying to create a sparse matrix by the SparseArray command. For a set of index pairs $(i,j)$ I want to calculate the $A_{i,j}$ element and then use this ...
2
votes
0
answers
49
views
Implementing array with partial cyclic data?
I'd like to construct an array where some columns are cyclic. As an illustrative example, take
Table[Mod[k, 2^i], {k, 2^10}, {i, 0, 10}] //Grid,
where the vast ...
2
votes
1
answer
278
views
Diagonal matrix command in Mathematica
How to find the corresponding Mathematica commands for diagonal matrix operation in Matlab, e.g.
AA=rand(3,3);
Step 1.) finding the diagonal elements, and export ...
3
votes
1
answer
103
views
How to write correctly some arguments in SparseArray
I am struggling to put an argument in SparseArray. Let's consider the following example
...
1
vote
0
answers
62
views
Parallelizing construction of sparsearray
I'm constructing sparse arrays where blocks of each array are results of the integral defined in integralList
...
1
vote
2
answers
139
views
Improving large array manipulation
I am doing an iterative program, which uses large arrays/vectors and where the output of one round is used as an input for the next steps but works slowly when dimensions are bigger.
In brief, we ...
0
votes
0
answers
59
views
sparse matrix multiplication
Say I have a sparse matrix $M$ with $\sim 50.000 .000$ non zero elements.
What is the fastest way to make operations such as :
$$M^k X$$
where $X$ is a given vector.
Is the operation $MX$ ...
1
vote
1
answer
59
views
Fastest way to convert two associations into a sparse matrix
I have two association $N$ and $C$
$N$ has this form :
$N=<|x_1\rightarrow \{x_{1,1},...x_{1,p_1}\},x_2\rightarrow \{x_{2,1},...x_{2,p_2}\}...,x_D\rightarrow \{x_{D1},...x_{Dp_D}\} |>$
$C$ has ...
9
votes
1
answer
185
views
Efficiently populate a Sparsearray for a set of rules for a constrained basis
I want to populate quite a large SparseArray(10^6 x10^6) efficiently. It is basically a spin system Hamiltonian with a constrained Hilbert space. Unlike the examples I have looked at in this forum ...
1
vote
0
answers
88
views
Fast definition of sparse tensor
I'm defining a sparse array through
...
1
vote
1
answer
84
views
Lowest Eigenvalue of a large sparse matrix without choking up the RAM (Corrected) [closed]
I am trying to find the lowest eigenvalue of a large sparse matrix of dimension N (=$3^n$, where n is number of particles in system ) using ...
4
votes
1
answer
156
views
Memory leak when creating a SparseArray
Problem: I have a list e={u,v,w} and wish to construct a sparse matrix with entries {u[i],v[i]}->w[i]. Note that the same ...
2
votes
0
answers
150
views
What is the fastest way to get the lowest eigenvalue and corresponding eigenstate in Mathematica?
I tried to use the Arnoldi method to get the smallest eigenvalue and corresponding eigenstate for large matrix. However, Arnoldi did not give me the desired result:
...
6
votes
1
answer
215
views
Efficient construction of a SparseArray from LIL (list of lists of column entries)
In Python scipy.sparse, there are methods to convert between CSR, CSC, LIL, DOK, etc. implementations of a sparse matrix. What is the most efficient way in Mathematica to construct a ...
4
votes
0
answers
153
views
Insufficient memory problem in Mathematica
I am trying to initialize a 48600 x 48600 packed array from a sparse matrix and a diagonal matrix in Mathematica 8. If S1 is a sparsearray of that size then and S2 is list of 48600 length, then I am ...
4
votes
2
answers
129
views
How to efficiently upsample a greyscale image to generate a representative binary image
I want to create binary images by upsampling a series of greyscale images (192 x 144 resolution) by a factor of 10 with the new pixel values being a pseudorandom distribution of 0's & 1's based on ...
4
votes
2
answers
216
views
Creating a block matrix from arrays of blocks
I am trying to generate a matrix from square blocks. Effectively, I have a $n×n$ matrix polynomial $P(l)$, the $qth$ derivative of $P(l)$ with respect to $l$, which is denoted by $P^{(q)} (l)$, and a ...
5
votes
2
answers
214
views
Permute association key and generate a sparse array
Imagine having an Association
Av = <|{1, 4, 2, 3} -> a, {2, 4, 2, 4} -> b|>
It can be much longer. I am searching ...
0
votes
1
answer
72
views
How can I define a function using ArrayFlatten without using SetDelayed?
I created a matrix F2 using SparseArray and ArrayFlatten as follows:
...
0
votes
0
answers
61
views
Seeming inconsistencies with "Eigenfunction" [duplicate]
I am working on a problem which involves calculating the spectrum of a family of 2970x2970 Hermitian matrices. I have done similar things with Mathematica in the past, but this time there is an odd, ...
-1
votes
1
answer
66
views
Construct a matrix from blocks of matrices [closed]
I am trying to find eigen values of a matrix system where entries of the matrix are also matrix. This is how my matrix looks:
$$ M=\begin{bmatrix}
H[j,j] & T[j,j+1] & 0 &0 &....
2
votes
2
answers
161
views
Elegant way to construct a matrix with symbolic entries
I would like to construct a matrix $G$ composed of block matrices $G^{(i)}$ as defined entry-wise below stacked vertically as
$$G = \begin{bmatrix} G^{(1)} \\ G^{(2)} \\ \vdots \\ G^{(i)} \\ \vdots \\ ...