Skip to content

Design question/discussion: PDMat without constructing full matrix #140

Open
@st--

Description

@st--

As pointed out in the README, PDMat always stores both Cholesky factorisation and full matrix. For many operations that are commonly used downstream, such as logdet and the quadratic forms, the full matrix is never used. So when the PDMat is constructed from an already known Cholesky factor (e.g. because we optimize for a variationally optimal covariance matrix), this is an unnecessary computation (see JuliaGaussianProcesses/ParameterHandling.jl#41 (comment)).

What are the design reasons for the current setup? What would it take to change this? Could we, for example, have some lazy way of computing mat (or chol) only when it is actually required [and then caching it]?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions