![]() |
Prusa Slicer 2.6.0
|
A sparse direct LU factorization and solver based on the SuperLU library. More...
#include <src/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h>
Inheritance diagram for Eigen::SuperLU< _MatrixType >:
Collaboration diagram for Eigen::SuperLU< _MatrixType >:Public Types | |
| typedef SuperLUBase< _MatrixType, SuperLU > | Base |
| typedef _MatrixType | MatrixType |
| typedef Base::Scalar | Scalar |
| typedef Base::RealScalar | RealScalar |
| typedef Base::StorageIndex | StorageIndex |
| typedef Base::IntRowVectorType | IntRowVectorType |
| typedef Base::IntColVectorType | IntColVectorType |
| typedef Base::PermutationMap | PermutationMap |
| typedef Base::LUMatrixType | LUMatrixType |
| typedef TriangularView< LUMatrixType, Lower|UnitDiag > | LMatrixType |
| typedef TriangularView< LUMatrixType, Upper > | UMatrixType |
| enum | |
| typedef Matrix< Scalar, Dynamic, 1 > | Vector |
Protected Member Functions | |
| void | init () |
| void | initFactorization (const MatrixType &a) |
| void | extractData () const |
| void | clearFactors () |
| SuperLU< _MatrixType > & | derived () |
| const SuperLU< _MatrixType > & | derived () const |
Protected Attributes | |
| LUMatrixType | m_matrix |
| superlu_options_t | m_sluOptions |
| SluMatrix | m_sluA |
| SluMatrix | m_sluB |
| SluMatrix | m_sluX |
| IntColVectorType | m_p |
| IntRowVectorType | m_q |
| std::vector< int > | m_sluEtree |
| char | m_sluEqued |
| Matrix< RealScalar, Dynamic, 1 > | m_sluRscale |
| Matrix< RealScalar, Dynamic, 1 > | m_sluCscale |
| SuperMatrix | m_sluL |
| SuperMatrix | m_sluU |
| SuperLUStat_t | m_sluStat |
| Matrix< RealScalar, Dynamic, 1 > | m_sluFerr |
| Matrix< RealScalar, Dynamic, 1 > | m_sluBerr |
| LUMatrixType | m_l |
| LUMatrixType | m_u |
| int | m_analysisIsOk |
| int | m_factorizationIsOk |
| bool | m_extractedDataAreDirty |
| bool | m_isInitialized |
| ComputationInfo | m_info |
Private Member Functions | |
| SuperLU (SuperLU &) | |
A sparse direct LU factorization and solver based on the SuperLU library.
This class allows to solve for A.X = B sparse linear problems via a direct LU factorization using the SuperLU library. The sparse matrix A must be squared and invertible. The vectors or matrices X and B can be either dense or sparse.
| _MatrixType | the type of the sparse matrix A, it must be a SparseMatrix<> |
\implsparsesolverconcept
| typedef SuperLUBase<_MatrixType,SuperLU> Eigen::SuperLU< _MatrixType >::Base |
| typedef Base::IntColVectorType Eigen::SuperLU< _MatrixType >::IntColVectorType |
| typedef Base::IntRowVectorType Eigen::SuperLU< _MatrixType >::IntRowVectorType |
| typedef TriangularView<LUMatrixType, Lower|UnitDiag> Eigen::SuperLU< _MatrixType >::LMatrixType |
| typedef Base::LUMatrixType Eigen::SuperLU< _MatrixType >::LUMatrixType |
| typedef _MatrixType Eigen::SuperLU< _MatrixType >::MatrixType |
| typedef Base::PermutationMap Eigen::SuperLU< _MatrixType >::PermutationMap |
| typedef Base::RealScalar Eigen::SuperLU< _MatrixType >::RealScalar |
| typedef Base::Scalar Eigen::SuperLU< _MatrixType >::Scalar |
| typedef Base::StorageIndex Eigen::SuperLU< _MatrixType >::StorageIndex |
| typedef TriangularView<LUMatrixType, Upper> Eigen::SuperLU< _MatrixType >::UMatrixType |
|
inherited |
|
inherited |
|
inline |
|
inlineexplicit |
References Eigen::SuperLUBase< _MatrixType, Derived >::compute(), and Eigen::SuperLU< _MatrixType >::init().
Here is the call graph for this function:
|
inline |
|
inlineprivate |
| void Eigen::SuperLU< MatrixType >::_solve_impl | ( | const MatrixBase< Rhs > & | b, |
| MatrixBase< Dest > & | dest | ||
| ) | const |
References eigen_assert, Eigen::SluMatrix::Map(), Eigen::NumericalIssue, and Eigen::Success.
Here is the call graph for this function:
|
inlineinherited |
References Eigen::SparseSolverBase< Derived >::derived(), Eigen::SparseMatrixBase< Derived >::derived(), and Eigen::internal::solve_sparse_through_dense_panels().
Here is the call graph for this function:
|
inline |
Performs a symbolic decomposition on the sparcity of matrix.
This function is particularly useful when solving for several problems having the same structure.
References Eigen::SuperLUBase< _MatrixType, Derived >::analyzePattern(), Eigen::InvalidInput, Eigen::SuperLU< _MatrixType >::m_info, and Eigen::SuperLU< _MatrixType >::m_isInitialized.
Here is the call graph for this function:
|
inlineprotectedinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
| SuperLU< MatrixType >::Scalar Eigen::SuperLU< MatrixType >::determinant |
References eigen_assert.
|
inlineinherited |
|
protectedinherited |
| void Eigen::SuperLU< MatrixType >::factorize | ( | const MatrixType & | matrix | ) |
Performs a numeric decomposition of matrix
The given matrix must has the same sparcity than the matrix on which the symbolic decomposition has been performed.
References eigen_assert, Eigen::InvalidInput, Eigen::NumericalIssue, and Eigen::Success.
|
inlineinherited |
Reports whether previous computation was successful.
Success if computation was succesful, NumericalIssue if the matrix.appears to be negative.
|
inlineprotected |
References Eigen::SuperLUBase< _MatrixType, Derived >::init(), and Eigen::SuperLU< _MatrixType >::m_sluOptions.
Referenced by Eigen::SuperLU< _MatrixType >::SuperLU(), and Eigen::SuperLU< _MatrixType >::SuperLU().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotectedinherited |
|
inline |
References Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >::extractData(), Eigen::SuperLU< _MatrixType >::m_extractedDataAreDirty, and Eigen::SuperLU< _MatrixType >::m_l.
Here is the call graph for this function:
|
inline |
References Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >::extractData(), Eigen::SuperLU< _MatrixType >::m_extractedDataAreDirty, and Eigen::SuperLU< _MatrixType >::m_u.
Here is the call graph for this function:
|
inlineinherited |
|
inline |
References Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >::extractData(), Eigen::SuperLU< _MatrixType >::m_extractedDataAreDirty, and Eigen::SuperLU< _MatrixType >::m_p.
Here is the call graph for this function:
|
inline |
References Eigen::SuperLUBase< _MatrixType, SuperLU< _MatrixType > >::extractData(), Eigen::SuperLU< _MatrixType >::m_extractedDataAreDirty, and Eigen::SuperLU< _MatrixType >::m_q.
Here is the call graph for this function:
|
inlineinherited |
|
inlineinherited |
References Eigen::SparseSolverBase< Derived >::derived(), eigen_assert, and Eigen::SparseSolverBase< Derived >::m_isInitialized.
Referenced by igl::embree::bone_heat(), igl::Frame_field_deformer::compute_optimal_positions(), igl::eigs(), igl::copyleft::comiso::FrameInterpolator::interpolateSymmetric(), igl::slim::solve_weighted_arap(), and igl::copyleft::comiso::NRosyField::solveNoRoundings().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineinherited |
|
protected |
|
mutableprotected |
|
protected |
|
mutableprotected |
Referenced by Eigen::SuperLU< _MatrixType >::analyzePattern().
|
mutableprotected |
Referenced by Eigen::SuperLU< _MatrixType >::analyzePattern().
|
mutableprotected |
Referenced by Eigen::SuperLU< _MatrixType >::matrixL().
|
mutableprotected |
|
mutableprotected |
Referenced by Eigen::SuperLU< _MatrixType >::permutationP().
|
mutableprotected |
Referenced by Eigen::SuperLU< _MatrixType >::permutationQ().
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
Referenced by Eigen::SuperLU< _MatrixType >::init().
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
mutableprotected |
Referenced by Eigen::SuperLU< _MatrixType >::matrixU().