gko::factorization#

Matrix factorisations used to build preconditioners and direct solvers. The exact factorisations Cholesky and Lu are LinOpFactory classes whose generate returns a Factorization holding the CSR factors. The incomplete factorisations (Ic, Ilu, ParIc, ParIlu, ParIct, ParIlut) are generated through their own Factory and are Compositions of their CSR factors (\(L\) and \(U\), or \(L\) and \(L^H\)), ready to be passed to preconditioner::Ilu / preconditioner::Ic.

Exact factorisations (experimental)#

Incomplete factorisations (exact IC(0) and ILU(0))#

  • Ic: IC(0), incomplete Cholesky with the same sparsity pattern as the input matrix.

  • Ilu: ILU(0), incomplete LU with the same sparsity pattern as the input matrix.

Incomplete factorisations (fine-grained parallel)#

  • ParIc: ParIC, asynchronous fixed-point iteration for IC(0) (Chow & Patel).

  • ParIlu: ParILU, asynchronous fixed-point iteration for ILU(0) (Chow & Patel).

  • ParIct: ParICT, threshold-based incomplete Cholesky with sparsity-pattern refinement (Anzt et al.).

  • ParIlut: ParILUT, threshold-based incomplete LU with sparsity-pattern refinement (Anzt et al.).

The factor container#

  • experimental::Factorization: the LinOp that owns the factors, which gko::experimental::solver::Direct uses for its triangular solves; apply multiplies by the factors when they are kept as a composition.