class gpr::linalg::DenseLLTInverse

Overview

#include <DenseLLTInverse.h>
 
class DenseLLTInverse: public gpr::linalg::KernelInverse {
public:
    // methods
 
    bool factorise(const EigenMatrix& K);
    virtual Kind kind() const;
    virtual Eigen::VectorXd solve(const Eigen::VectorXd& b) const;
    virtual EigenMatrix solve_mat(const EigenMatrix& B) const;
    virtual double log_det() const;
    virtual double trace_inv_times(const EigenMatrix& A) const;
};

Inherited Members

public:
    // enums
 
    enum Kind;
 
    // methods
 
    virtual Kind kind() const = 0;
    virtual Eigen::VectorXd solve(const Eigen::VectorXd& b) const = 0;
    virtual EigenMatrix solve_mat(const EigenMatrix& B) const = 0;
    virtual double log_det() const = 0;
    virtual double trace_inv_times(const EigenMatrix& A) const = 0;

Detailed Documentation

Methods

bool factorise(const EigenMatrix& K)

Factor K via Eigen LLT. Returns true on success, false if the decomposition reports NumericalIssue (i.e. K is not numerically PD); the caller decides how to react. Each subsequent solve / solve_mat / log_det / trace_inv_times call requires a successful factorise; otherwise the op throws std::logic_error.

virtual Kind kind() const

Reports whether the operator parallelises internally (Distributed) or is rank-local (RankLocal). Used by ProbeExecutor to choose the dispatch strategy.

virtual Eigen::VectorXd solve(const Eigen::VectorXd& b) const

Solve K x = b for a single right-hand side.

virtual EigenMatrix solve_mat(const EigenMatrix& B) const

Solve K X = B for a multi right-hand side.

virtual double log_det() const

Returns log |K|.

virtual double trace_inv_times(const EigenMatrix& A) const

Returns tr(K^{-1} A). Implementations may exploit structure (e.g. ScaLAPACK’s distributed dpotri) rather than materialising K^{-1} A.

Symmetry contract: A is treated as a general dense matrix; no symmetry of A is exploited by the base contract. Concrete implementations may relax this contract if their override docstring documents the additional assumption.