Sparse Linear Algebra

Sparse matrix solvers call functions from SuiteSparse. The following factorizations are available:

TypeDescription
SuiteSparse.CHOLMOD.FactorCholesky factorization
SuiteSparse.UMFPACK.UmfpackLULU factorization
SuiteSparse.SPQR.QRSparseQR 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:

  1. cholesky
  2. ldlt
  3. lu
  4. qr

SuiteSparse.CHOLMOD.lowrankupdate — Function

  1. lowrankupdate(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!.

source

SuiteSparse.CHOLMOD.lowrankupdate! — Function

  1. lowrankupdate!(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!.

source

SuiteSparse.CHOLMOD.lowrankdowndate — Function

  1. lowrankupdate(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!.

source

SuiteSparse.CHOLMOD.lowrankdowndate! — Function

  1. lowrankdowndate!(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!.

source

SuiteSparse.CHOLMOD.lowrankupdowndate! — Function

  1. lowrankupdowndate!(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'

source