Sparse Linear Algebra
Sparse matrix solvers call functions from SuiteSparse. The following factorizations are available:
Type | Description |
---|---|
SuiteSparse.CHOLMOD.Factor | Cholesky factorization |
SuiteSparse.UMFPACK.UmfpackLU | LU factorization |
SuiteSparse.SPQR.QRSparse | QR factorization |
Other solvers such as Pardiso.jl are as external packages. Arpack.jl provides eigs
and svds
for iterative solution of eigensystems and singular value decompositions.
These factorizations are described in the Linear Algebra
section of the manual:
SuiteSparse.CHOLMOD.lowrankupdate
— Functionlowrankupdate(F::CHOLMOD.Factor, C::AbstractArray) -> FF::CHOLMOD.Factor
Get an LDLt
Factorization of A + C*C'
given an LDLt
or LLt
factorization F
of A
.
The returned factor is always an LDLt
factorization.
See also lowrankupdate!
, lowrankdowndate
, lowrankdowndate!
.
SuiteSparse.CHOLMOD.lowrankupdate!
— Functionlowrankupdate!(F::CHOLMOD.Factor, C::AbstractArray)
Update an LDLt
or LLt
Factorization F
of A
to a factorization of A + C*C'
.
LLt
factorizations are converted to LDLt
.
See also lowrankupdate
, lowrankdowndate
, lowrankdowndate!
.
SuiteSparse.CHOLMOD.lowrankdowndate
— Functionlowrankupdate(F::CHOLMOD.Factor, C::AbstractArray) -> FF::CHOLMOD.Factor
Get an LDLt
Factorization of A + C*C'
given an LDLt
or LLt
factorization F
of A
.
The returned factor is always an LDLt
factorization.
See also lowrankdowndate!
, lowrankupdate
, lowrankupdate!
.
SuiteSparse.CHOLMOD.lowrankdowndate!
— Functionlowrankdowndate!(F::CHOLMOD.Factor, C::AbstractArray)
Update an LDLt
or LLt
Factorization F
of A
to a factorization of A - C*C'
.
LLt
factorizations are converted to LDLt
.
See also lowrankdowndate
, lowrankupdate
, lowrankupdate!
.
SuiteSparse.CHOLMOD.lowrankupdowndate!
— Functionlowrankupdowndate!(F::CHOLMOD.Factor, C::Sparse, update::Cint)
Update an LDLt
or LLt
Factorization F
of A
to a factorization of A ± C*C'
.
If sparsity preserving factorization is used, i.e. L*L' == P*A*P'
then the new factor will be L*L' == P*A*P' + C'*C
update
: Cint(1)
for A + CC'
, Cint(0)
for A - CC'