Re: [eigen] Sparse Cholesky Factors |

[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]

Looking at the source code
eigen-3.2.1/Eigen/src/SparseCholesky/SimplicialCholesky.h
one can see the undocumented public member function
inline const VectorType vectorD() const {

` eigen_assert(Base::m_factorizationIsOk && "Simplicial Cholesky
``not factorized");
` return Base::m_diag;
}
Is vectorD() intended to be part of the Eigen API ?
It appears that in the case of an eigen LDL Cholesky factorization
http://eigen.tuxfamily.org/dox-devel/classEigen_1_1SimplicialLDLT.html
the LDL means the same as in
http://en.wikipedia.org/wiki/Cholesky_decomposition#LDL_decomposition

`It also appears that vectorD() returns the diagonal of the D matrix for
``this case.
`

`Is this is true ? If so, one can uses these facts to directly compute
``the log of the determinant.
`
On 4/3/2015 6:17 AM, Brad Bell wrote:

Looking at the documentation
http://eigen.tuxfamily.org/dox-devel/classEigen_1_1SimplicialLLT.html
there is a determinant member function

` Scalar Eigen::SimplicialLLT< _MatrixType, _UpLo, _Ordering
``>::determinant() const
`

`For large matrices, the determinant often results in underflow or
``overflow. Is there also a log-determinant function (to avoid this
``problem) ?
`