SPQRFactor¶
- class sksparse.spqr.SPQRFactor[source]¶
The main object used for creating and manipulating SPQR factorizations.
The constructor computes the sybolic analysis of the matrix and determines a fill-reducing ordering such that:
\[Q R = A E\]where \(E\) is a column permutation matrix, \(Q\) is an orthogonal matrix, and \(R\) is an upper-triangular matrix.
The numerical factorization is computed in one of two ways:
- by setting
use_singletons=Truein the constructor, which computes both the symbolic and numeric factorizations at once, or
- by setting
- by calling
SPQRFactor.factorize(), which computes the numeric factorization after symbolic analysis has been performed.
- by calling
The first method is useful when factoring a single matrix, but solving multiple right-hand sides.
The second method is useful when factoring multiple matrices with the same sparsity pattern but different numerical values.
- Parameters:
A ((M, N) array_like or sparse array) – An array convertible to a sparse matrix.
use_singletons (bool, optional) – If True, directly compute the numeric factorization to exploit singleton rows. Otherwise, only perform symbolic analysis. Default is False.
order (str, optional) – The column ordering strategy to use. Let \(S\) be the matrix \(A\) with singleton rows/columns removed, the ordering options are:
default: COLAMD(S),fixed: identity permutation (i.e. no singletons removed),natural: singletons removed, but no fill-reducing ordering applied,colamd: COLAMD(S),amd: AMD(\(S^{\top} S\)),metis: METIS(\(S^{\top} S\)),best: try all ofamd,colamd,metisand pick the best,cholmod: Same asbest,bestamd: tryamdandcolamdand pick the best.
tol (float, optional) – If the 2-norm of a column in
Ais less thantol, that column is considered to be a zero column. Iftol = 0, no columns are treated as zero. IfNone, the default tolerance is used. The default istol =\(20 \epsilon (M + N) \sqrt{\max{\mathrm{diag}(A^{\top} A)}}\), where \(\epsilon\) is the machine precision.
See also
Notes
This object is an interface to the SuiteSparse SPQR library [1].
Added in version 0.5.0.
References
Methods