Cholesky space

The Cholesky space is a Riemannian manifold on the lower triangular matrices. Its metric is based on the cholesky decomposition. The CholeskySpace is used to define the LogCholeskyMetric on the manifold of SymmetricPositiveDefinite matrices.

Manifolds.CholeskySpace โ€” Type
CholeskySpace{T} <: AbstractManifold{โ„}

The manifold of lower triangular matrices with positive diagonal and a metric based on the cholesky decomposition. The formulae for this manifold are for example summarized in Table 1 of [Lin19].

Constructor

CholeskySpace(n; parameter::Symbol=:type)

Generate the manifold of $nร—n$ lower triangular matrices with positive diagonal.

source
Base.exp โ€” Method
exp(M::CholeskySpace, p, X)

Compute the exponential map on the CholeskySpaceM emanating from the lower triangular matrix with positive diagonal p towards the lower triangular matrix X The formula reads

\[\exp_p X = โŒŠ p โŒ‹ + โŒŠ X โŒ‹ + \operatorname{diag}(p) \operatorname{diag}(p)\exp\bigl( \operatorname{diag}(X)\operatorname{diag}(p)^{-1}\bigr),\]

where $โŒŠโ‹…โŒ‹$ denotes the strictly lower triangular matrix, and $\operatorname{diag}$ extracts the diagonal matrix.

source
Base.log โ€” Method
log(M::CholeskySpace, X, p, q)

Compute the logarithmic map on the CholeskySpaceM for the geodesic emanating from the lower triangular matrix with positive diagonal p towards q. The formula reads

\[\log_p q = โŒŠ p โŒ‹ - โŒŠ q โŒ‹ + \operatorname{diag}(p)\log\bigl(\operatorname{diag}(q)\operatorname{diag}(p)^{-1}\bigr),\]

where $โŒŠโ‹…โŒ‹$ denotes the strictly lower triangular matrix, and $\operatorname{diag}$ extracts the diagonal matrix.

source
ManifoldsBase.check_point โ€” Method
check_point(M::CholeskySpace, p; kwargs...)

Check whether the matrix p lies on the CholeskySpaceM, i.e. it's size fits the manifold, it is a lower triangular matrix and has positive entries on the diagonal. The tolerance for the tests can be set using the kwargs....

source
ManifoldsBase.check_vector โ€” Method
check_vector(M::CholeskySpace, p, X; kwargs... )

Check whether v is a tangent vector to p on the CholeskySpaceM, i.e. after check_point(M,p), X has to have the same dimension as p and a symmetric matrix. The tolerance for the tests can be set using the kwargs....

source
ManifoldsBase.distance โ€” Method
distance(M::CholeskySpace, p, q)

Compute the Riemannian distance on the CholeskySpaceM between two matrices p, q that are lower triangular with positive diagonal. The formula reads

\[d_{\mathcal M}(p,q) = \sqrt{\sum_{i>j} (p_{ij}-q_{ij})^2 + \sum_{j=1}^m (\log p_{jj} - \log q_{jj})^2 }\]

source
ManifoldsBase.inner โ€” Method
inner(M::CholeskySpace, p, X, Y)

Compute the inner product on the CholeskySpaceM at the lower triangular matric with positive diagonal p and the two tangent vectors X,Y, i.e they are both lower triangular matrices with arbitrary diagonal. The formula reads

\[g_p(X,Y) = \sum_{i>j} X_{ij}Y_{ij} + \sum_{j=1}^m X_{ii}Y_{ii}p_{ii}^{-2}\]

source
ManifoldsBase.parallel_transport_to โ€” Method
parallel_transport_to(M::CholeskySpace, p, X, q)

Parallely transport the tangent vector X at p along the geodesic to q on the CholeskySpace manifold M. The formula reads

\[\mathcal P_{qโ†p}(X) = โŒŠ X โŒ‹ + \operatorname{diag}(q)\operatorname{diag}(p)^{-1}\operatorname{diag}(X),\]

where $โŒŠโ‹…โŒ‹$ denotes the strictly lower triangular matrix, and $\operatorname{diag}$ extracts the diagonal matrix.

source

Literature