Go to the documentation of this file.
20 #ifndef EIGEN_SIMPLICIAL_CHOLESKY_IMPL_H
21 #define EIGEN_SIMPLICIAL_CHOLESKY_IMPL_H
25 template<
typename Derived>
30 m_parent.resize(
size);
31 m_nonZerosPerCol.resize(
size);
40 m_nonZerosPerCol[k] = 0;
47 for(; tags[
i] != k;
i = m_parent[
i])
50 if (m_parent[
i] == -1)
52 m_nonZerosPerCol[
i]++;
63 Lp[k+1] = Lp[k] + m_nonZerosPerCol[k] + (doLDLT ? 0 : 1);
65 m_matrix.resizeNonZeros(Lp[
size]);
67 m_isInitialized =
true;
69 m_analysisIsOk =
true;
70 m_factorizationIsOk =
false;
74 template<
typename Derived>
80 eigen_assert(m_analysisIsOk &&
"You must first call analyzePattern()");
88 Scalar* Lx = m_matrix.valuePtr();
95 m_diag.resize(DoLDLT ?
size : 0);
103 m_nonZerosPerCol[k] = 0;
111 for(
len = 0; tags[
i] != k;
i = m_parent[
i])
117 pattern[--top] = pattern[--
len];
125 for(; top <
size; ++top)
136 yi = l_ki = yi / Lx[Lp[
i]];
140 for(
p = Lp[
i] + (DoLDLT ? 0 : 1);
p <
p2; ++
p)
145 ++m_nonZerosPerCol[
i];
158 Index p = Lp[k] + m_nonZerosPerCol[k]++;
169 m_factorizationIsOk =
true;
174 #endif // EIGEN_SIMPLICIAL_CHOLESKY_IMPL_H
Namespace containing all symbols from the Eigen library.
void factorize_preordered(const CholMatrixType &a)
static const double d[K][N]
MatrixType::StorageIndex StorageIndex
#define ei_declare_aligned_stack_constructed_variable(TYPE, NAME, SIZE, BUFFER)
MatrixType::RealScalar RealScalar
MatrixType::Scalar Scalar
AnnoyingScalar conj(const AnnoyingScalar &x)
NumTraits< Scalar >::Real RealScalar
Base::InnerIterator InnerIterator
void analyzePattern_preordered(const CholMatrixType &a, bool doLDLT)
size_t len(handle h)
Get the length of a Python object.
Jet< T, N > sqrt(const Jet< T, N > &f)
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:04:17