num::randommat::grounded_approx_chol_factor¶
Defined in header <linear/graph/randommat/preconditioner.hpp>
class grounded_approx_chol_factor final;
Sparse approximate factor C of a grounded SDDM matrix, stored through the Cholesky factor of its one-vertex Laplacian extension.
The ground vertex is pinned last and omitted from all vector actions below.
Members¶
| member | description |
|---|---|
using domain_type = vec<real> |
|
using codomain_type = vec<real> |
|
using laws = law::list<law::spd> |
|
explicit grounded_approx_chol_factor(cholesky_factor<real, idx> factor) |
|
idx rows() const noexcept |
|
idx cols() const noexcept |
|
vec<real> apply_lower(const vec<real> &x) const |
Apply C, where the approximate grounded matrix is C C^T. |
vec<real> solve_lower(const vec<real> &b) const |
Apply C^{-1} by forward substitution. |
vec<real> solve_upper(const vec<real> &b) const |
Apply C^{-T} by backward substitution. |
void apply(const vec<real> &b, vec<real> &x) const |
Apply the approximate inverse C^{-T} C^{-1} as an SPD preconditioner. |
const cholesky_factor<real, idx> &factor() const noexcept |