Questions tagged [suitesparse]

SuiteSparse is a suite of sparse matrix algorithms, including UMFPACK, CHOLMOD, SPQR, KLU, BTF, ordering methods (AMD, CAMD, COLAMD, and CCOLAMD), CSparse, CXSparse, UFget, spqr_rank, Factorize, SSMULT, SFMULT, and many other packages.

SuiteSparse is a suite of sparse matrix algorithms, including:

  • UMFPACK: multifrontal LU factorization. Appears as LU and x=A\b in MATLAB.
  • CHOLMOD: supernodal Cholesky. Appears as CHOL and x=A\b in MATLAB. Used in Google Ceres. Now with CUDA acceleration, in collaboration with NVIDIA.
  • SPQR: multifrontal QR. Appears as QR and x=A\b in MATLAB. CUDA acceleration just released (October 10, 2014, SuiteSparse 4.4.0), and submitted to ACM Trans. Math. Software
  • KLU and BTF: sparse LU factorization, well-suited for circuit simulation. Appears in Xyce by Sandia, and many commercial circuit simulation packages.
  • Ordering methods (AMD, CAMD, COLAMD, and CCOLAMD). AMD and COLAMD appear in MATLAB.
  • CSparse and CXSparse: a concise sparse Cholesky factorization package for the book, "direct methods for sparse linear systems" from Tim Davis published by SIAM.
  • UFget: a MATLAB interface for the UF Sparse Matrix Collection
  • spqr_rank: a MATLAB package for reliable sparse rank detection, null set bases, pseudoinverse solutions, and basic solutions.
  • Factorize: an object-oriented solver for MATLAB (a reusable backslash).
  • SSMULT and SFMULT: sparse matrix multiplication. Appears as C=A*B in MATLAB.
  • ... and many other packages.
50 questions
1
vote
0 answers

Suitesparse equivalent for MATLAB A/b of complex semi-symmetric matrix

I am currently using MATLAB to do matrix division of very large, very sparse, complex matrices that are symmetric in structure, but asymmetric in value (i.e. A(1,2)=3+4i and A(2,1)=3-4i). I am now converting my code to Java. What is the proper…
FlyingTurbine
  • 323
  • 2
  • 9
1
vote
1 answer

SuiteSparse(4.5.1)'s SPQR - calling to cholmod_allocate_triplet always returns NULL

I am trying to use SuiteSparse SPQR to solve a linear equation system x = A\b; my A matrix is sparse and it is a rectangular matrix so I chose SPQR to solve this. I built SuiteSparse using MS Visual Studio 2012 on Windows 7 x64 using those provided…
Sonia
  • 195
  • 2
  • 11
1
vote
1 answer

Cannot use CHOLMOD with CUDA acceleration in my own code

I am trying to use CHOLMOD with CUDA acceleration in SuiteSparse 4.4.4. I compiled it according to the user guide and I could run gpu.sh under Demo folder successfully, which showed that the GPU was doing part of the work. However, when I tried to…
Shenghan Gao
  • 71
  • 1
  • 8
1
vote
0 answers

NameError with Python Swig trying to interface the cholmod library

I'm trying to create a Python interface to the C Cholmod library, part of the SuiteSparse library (SuiteSparse). As I'm new to Swig, I don't know if this is a daunting task or not. I didn't find any reference to this interface done in…
Nikolaj
  • 11
  • 2
1
vote
2 answers

How to compile CHOLMOD library (SuiteSparse) from IDE

For some time I am trying to create a static CHOLMOD lib from SuiteSparse Each other library (f.ex. Umfpack) can be easiy compiled from IDE (I used Code::Blocks on Linux and Visual Studio on Windows). However when trying to compile CHOLMOD I get…
Misery
  • 689
  • 2
  • 8
  • 25
1
vote
1 answer

Calculating the inverse of a sparse matrix using Cholmod and Cholmod-Extra

I recently installed Cholmod in order to perform sparse cholesky decompositions in some C++ code. I wanted to then use the decomp to calculate the matrix inverse (I have the following problem: d^T . (A^-1 + B^-1)^-1 . d where d is a vector ^T…
1
vote
1 answer

CHOLMOD sparse matrix cholesky decomposition: incorrect factor?

I have been using CHOLMOD to factorise the matrix A and solve the system Ax = b, for A being the Hessian matrix (printed below) and b = [1, 1, 1] created by the cholmod_ones function. Unfortunately, the solution for x is incorrect (should be [1.5,…
Kyle_S-C
  • 1,107
  • 1
  • 14
  • 31
0
votes
0 answers

CMake: Issue with finding the right header files for suitesparse library with find_package() and find_path()

I am relatively new to cmake. I'm on Ubuntu 20.04, and I'm encountering an issue where I'm trying to build the project dpgo from this repository: https://github.com/mit-acl/dpgo. From the repository, it says to install the dependency binaries with…
0
votes
0 answers

Speed comparison between SuiteSparse KLU and CHOLMOD routine

I'm trying to solve a relatively small sparse matrix (about 5000 by 5000 with 13000 non-zero numbers) using SuiteSparse C++ library. The matrix happens to be symmetric positive definite, so I tried both KLU and CHOLMOD routines. When timing the…
Ruizhi
  • 87
  • 10
0
votes
1 answer

SciKits.umfpack installation

I am trying to install on UBuntu 20.4 the scikits.umfpack python package because it is needed as a dependency for this python packages for network analysis on my dissertation. I am also using python 2.7.18, because the tool I want to use ONLY runs…
0
votes
0 answers

How to print and assign values of a solution from CHOLMOD to a std::vector in C++?

I am trying to solve a simple working example, a linear system $Ax=b$, where $A$ is sparse SPD and $b$ is dense, using CHOLMOD. int main() { std::vector A = {4.0, 0.0, 1.0, 0.0, 3.0, 1.0, …
0
votes
0 answers

Implementing the simplicial LDL^T CHOLMOD for a sparse band matrix with zero diagonals in C++

I am implementing the simplicial LDL^T CHOLMOD to solve a linear equation system in my C++ project which has a sparse band matrix (dimension is between 1,000 to 3,000). The matrix has several zero diagonals, hence sometimes CHOLMOD gives the wrong…
0
votes
0 answers

Parallel SPQR from suitesparse

I'm trying to use the sparsesuite SPQR support module in eigen to solve a system with multi-threading enabled. I've compiled the corresponding library with -fopenmp flags and tbb. What i'm running is something like uint n = Eigen::nbThreads(); vec…
Mi Ka
  • 1
  • 1
0
votes
1 answer

Recovering Q from packed Q (spqr, in a sparse way)

following from my question I would like to follow up and calculate the Q matrix in an (memory) efficient way from the output of the spqr procedure. Up to now, only matrix() seems to be implemented. However, I only need the Q matrix in a sparse…
varantir
  • 6,624
  • 6
  • 36
  • 57
0
votes
1 answer

Compiling SuiteSparse in Ubuntu, breaks when installing CHOLMOD

I've downloaded the .zip for SuiteSparse from the following GitHub. I'm trying to install/compile the C/C++ libraries in Ubuntu. I'm using the Windows Subsystem for Linux and installed Ubuntu from the Microsoft Store. The SuiteSparse instructions…
Anshu Chen
  • 423
  • 2
  • 9
  • 23