Class sym::BlockTridiagonalLdlt

template<typename ScalarType, int kFirstBlock, int kBlock, int kNumBlocks>
class BlockTridiagonalLdlt

Public Types

using Scalar = ScalarType
using MatrixType = Eigen::SparseMatrix<Scalar>
using StorageIndex = typename MatrixType::StorageIndex
using CholMatrixType = Eigen::SparseMatrix<Scalar, Eigen::ColMajor, StorageIndex>
using VectorType = Eigen::Matrix<Scalar, Eigen::Dynamic, 1>
using PermutationMatrixType = Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, StorageIndex>
using FirstPanel = Eigen::Matrix<Scalar, kFirstBlock + kBlock, kFirstBlock>
using Panel = Eigen::Matrix<Scalar, 2 * kBlock, kBlock>
using DiagVector = Eigen::Matrix<Scalar, kDim, 1>

Public Functions

inline bool IsInitialized() const
inline void AnalyzeSparsityPattern(const MatrixType &A_lower)
inline bool Factorize(const MatrixType &A_lower)
template<typename Rhs>
inline Eigen::Matrix<Scalar, kDim, Rhs::ColsAtCompileTime> Solve(const Eigen::MatrixBase<Rhs> &b) const
template<typename Rhs>
inline void SolveInPlace(Eigen::MatrixBase<Rhs> &b) const
inline CholMatrixType L() const
inline DiagVector D() const
inline PermutationMatrixType Permutation() const

Public Static Attributes

static int kDim = kFirstBlock + kBlock * (kNumBlocks - 1)