Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Eigen::PardisoLDLT< MatrixType, Options > Class Template Reference

A sparse direct Cholesky (LDLT) factorization and solver based on the PARDISO library. More...

#include <src/eigen/Eigen/src/PardisoSupport/PardisoSupport.h>

+ Inheritance diagram for Eigen::PardisoLDLT< MatrixType, Options >:
+ Collaboration diagram for Eigen::PardisoLDLT< MatrixType, Options >:

Public Types

enum  { UpLo = Options&(Upper|Lower) }
 
typedef Base::StorageIndex StorageIndex
 
enum  
 
typedef Traits::MatrixType MatrixType
 
typedef SparseMatrix< Scalar, RowMajor, StorageIndexSparseMatrixType
 
typedef Matrix< Scalar, Dynamic, 1 > VectorType
 
typedef Matrix< StorageIndex, 1, MatrixType::ColsAtCompileTime > IntRowVectorType
 
typedef Matrix< StorageIndex, MatrixType::RowsAtCompileTime, 1 > IntColVectorType
 
typedef Array< StorageIndex, 64, 1, DontAlignParameterType
 

Public Member Functions

 PardisoLDLT ()
 
 PardisoLDLT (const MatrixType &matrix)
 
void getMatrix (const MatrixType &matrix)
 
Index cols () const
 
Index rows () const
 
ComputationInfo info () const
 Reports whether previous computation was successful.
 
ParameterTypepardisoParameterArray ()
 
PardisoLDLT< MatrixType, Options > & analyzePattern (const MatrixType &matrix)
 
PardisoLDLT< MatrixType, Options > & factorize (const MatrixType &matrix)
 
PardisoLDLT< MatrixType, Options > & compute (const MatrixType &matrix)
 
void _solve_impl (const MatrixBase< Rhs > &b, MatrixBase< Dest > &dest) const
 
void _solve_impl (const MatrixBase< BDerived > &b, MatrixBase< XDerived > &x) const
 
void _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const
 
template<typename Rhs >
const Solve< Derived, Rhs > solve (const MatrixBase< Rhs > &b) const
 
template<typename Rhs >
const Solve< Derived, Rhs > solve (const SparseMatrixBase< Rhs > &b) const
 

Protected Types

typedef PardisoImpl< PardisoLDLT< MatrixType, Options > > Base
 
typedef Base::Scalar Scalar
 
typedef Base::RealScalar RealScalar
 
typedef internal::pardiso_traits< PardisoLDLT< MatrixType, Options > > Traits
 

Protected Member Functions

void pardisoRelease ()
 
void pardisoInit (int type)
 
void manageErrorCode (Index error) const
 
PardisoLDLT< MatrixType, Options > & derived ()
 
const PardisoLDLT< MatrixType, Options > & derived () const
 

Protected Attributes

SparseMatrixType m_matrix
 
ComputationInfo m_info
 
bool m_analysisIsOk
 
bool m_factorizationIsOk
 
StorageIndex m_type
 
StorageIndex m_msglvl
 
voidm_pt [64]
 
ParameterType m_iparm
 
IntColVectorType m_perm
 
Index m_size
 
bool m_isInitialized
 

Friends

class PardisoImpl< PardisoLDLT< MatrixType, Options > >
 

Detailed Description

template<typename MatrixType, int Options>
class Eigen::PardisoLDLT< MatrixType, Options >

A sparse direct Cholesky (LDLT) factorization and solver based on the PARDISO library.

This class allows to solve for A.X = B sparse linear problems via a LDL^T Cholesky factorization using the Intel MKL PARDISO library. The sparse matrix A is assumed to be selfajoint and positive definite. For complex matrices, A can also be symmetric only, see the Options template parameter. The vectors or matrices X and B can be either dense or sparse.

By default, it runs in in-core mode. To enable PARDISO's out-of-core feature, set:

solver.pardisoParameterArray()[59] = 1;
Template Parameters
MatrixTypethe type of the sparse matrix A, it must be a SparseMatrix<>
Optionscan be any bitwise combination of Upper, Lower, and Symmetric. The default is Upper, meaning only the upper triangular part has to be used. Symmetric can be used for symmetric, non-selfadjoint complex matrices, the default being to assume a selfadjoint matrix. Upper|Lower can be used to tell both triangular parts can be used as input.

\implsparsesolverconcept

See also
TutorialSparseSolverConcept, class SimplicialLDLT

Member Typedef Documentation

◆ Base

template<typename MatrixType , int Options>
typedef PardisoImpl< PardisoLDLT<MatrixType,Options> > Eigen::PardisoLDLT< MatrixType, Options >::Base
protected

◆ IntColVectorType

typedef Matrix<StorageIndex, MatrixType::RowsAtCompileTime, 1> Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::IntColVectorType
inherited

◆ IntRowVectorType

typedef Matrix<StorageIndex, 1, MatrixType::ColsAtCompileTime> Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::IntRowVectorType
inherited

◆ MatrixType

typedef Traits::MatrixType Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::MatrixType
inherited

◆ ParameterType

typedef Array<StorageIndex,64,1,DontAlign> Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::ParameterType
inherited

◆ RealScalar

template<typename MatrixType , int Options>
typedef Base::RealScalar Eigen::PardisoLDLT< MatrixType, Options >::RealScalar
protected

◆ Scalar

template<typename MatrixType , int Options>
typedef Base::Scalar Eigen::PardisoLDLT< MatrixType, Options >::Scalar
protected

◆ SparseMatrixType

typedef SparseMatrix<Scalar,RowMajor,StorageIndex> Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::SparseMatrixType
inherited

◆ StorageIndex

template<typename MatrixType , int Options>
typedef Base::StorageIndex Eigen::PardisoLDLT< MatrixType, Options >::StorageIndex

◆ Traits

typedef internal::pardiso_traits<PardisoLDLT< MatrixType, Options > > Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::Traits
protectedinherited

◆ VectorType

typedef Matrix<Scalar,Dynamic,1> Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::VectorType
inherited

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited
119 {
120 ScalarIsComplex = NumTraits<Scalar>::IsComplex,
123 };
@ MaxColsAtCompileTime
Definition PardisoSupport.h:122
@ ColsAtCompileTime
Definition PardisoSupport.h:121
const int Dynamic
Definition Constants.h:21

◆ anonymous enum

template<typename MatrixType , int Options>
anonymous enum
Enumerator
UpLo 
516{ UpLo = Options&(Upper|Lower) };
@ UpLo
Definition PardisoSupport.h:516
@ Lower
Definition Constants.h:204
@ Upper
Definition Constants.h:206

Constructor & Destructor Documentation

◆ PardisoLDLT() [1/2]

template<typename MatrixType , int Options>
Eigen::PardisoLDLT< MatrixType, Options >::PardisoLDLT ( )
inline
519 : Base()
520 {
521 pardisoInit(Base::ScalarIsComplex ? ( bool(Options&Symmetric) ? 6 : -4 ) : -2);
522 }
void pardisoInit(int type)
Definition PardisoSupport.h:192
PardisoImpl< PardisoLDLT< MatrixType, Options > > Base
Definition PardisoSupport.h:505
@ Symmetric
Definition Constants.h:222

References Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::pardisoInit(), Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::ScalarIsComplex, and Eigen::Symmetric.

+ Here is the call graph for this function:

◆ PardisoLDLT() [2/2]

template<typename MatrixType , int Options>
Eigen::PardisoLDLT< MatrixType, Options >::PardisoLDLT ( const MatrixType matrix)
inlineexplicit
525 : Base()
526 {
527 pardisoInit(Base::ScalarIsComplex ? ( bool(Options&Symmetric) ? 6 : -4 ) : -2);
528 compute(matrix);
529 }
PardisoLDLT< MatrixType, Options > & compute(const MatrixType &matrix)
Definition PardisoSupport.h:259

References Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::compute(), Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::pardisoInit(), Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::ScalarIsComplex, and Eigen::Symmetric.

+ Here is the call graph for this function:

Member Function Documentation

◆ _solve_impl() [1/3]

void Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::_solve_impl ( const MatrixBase< BDerived > &  b,
MatrixBase< XDerived > &  x 
) const
inherited
322{
323 if(m_iparm[0] == 0) // Factorization was not computed
324 {
326 return;
327 }
328
329 //Index n = m_matrix.rows();
330 Index nrhs = Index(b.cols());
331 eigen_assert(m_size==b.rows());
332 eigen_assert(((MatrixBase<BDerived>::Flags & RowMajorBit) == 0 || nrhs == 1) && "Row-major right hand sides are not supported");
333 eigen_assert(((MatrixBase<XDerived>::Flags & RowMajorBit) == 0 || nrhs == 1) && "Row-major matrices of unknowns are not supported");
334 eigen_assert(((nrhs == 1) || b.outerStride() == b.rows()));
335
336
337// switch (transposed) {
338// case SvNoTrans : m_iparm[11] = 0 ; break;
339// case SvTranspose : m_iparm[11] = 2 ; break;
340// case SvAdjoint : m_iparm[11] = 1 ; break;
341// default:
342// //std::cerr << "Eigen: transposition option \"" << transposed << "\" not supported by the PARDISO backend\n";
343// m_iparm[11] = 0;
344// }
345
346 Scalar* rhs_ptr = const_cast<Scalar*>(b.derived().data());
347 Matrix<Scalar,Dynamic,Dynamic,ColMajor> tmp;
348
349 // Pardiso cannot solve in-place
350 if(rhs_ptr == x.derived().data())
351 {
352 tmp = b;
353 rhs_ptr = tmp.data();
354 }
355
356 Index error;
357 error = internal::pardiso_run_selector<StorageIndex>::run(m_pt, 1, 1, m_type, 33, internal::convert_index<StorageIndex>(m_size),
359 m_perm.data(), internal::convert_index<StorageIndex>(nrhs), m_iparm.data(), m_msglvl,
360 rhs_ptr, x.derived().data());
361
363}
#define eigen_assert(x)
Definition Macros.h:579
IntColVectorType m_perm
Definition PardisoSupport.h:253
SparseMatrixType m_matrix
Definition PardisoSupport.h:247
ComputationInfo m_info
Definition PardisoSupport.h:248
void manageErrorCode(Index error) const
Definition PardisoSupport.h:231
Traits::Scalar Scalar
Definition PardisoSupport.h:111
ParameterType m_iparm
Definition PardisoSupport.h:252
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar * data() const
Definition PlainObjectBase.h:255
const StorageIndex * innerIndexPtr() const
Definition SparseMatrix.h:157
const StorageIndex * outerIndexPtr() const
Definition SparseMatrix.h:166
const Scalar * valuePtr() const
Definition SparseMatrix.h:148
@ InvalidInput
Definition Constants.h:439
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition Meta.h:33
TCoord< P > x(const P &p)
Definition geometry_traits.hpp:297
static char error[256]
Definition tga.cpp:50

◆ _solve_impl() [2/3]

void Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::_solve_impl ( const MatrixBase< Rhs > &  b,
MatrixBase< Dest > &  dest 
) const
inherited

◆ _solve_impl() [3/3]

void Eigen::SparseSolverBase< PardisoLDLT< MatrixType, Options > >::_solve_impl ( const SparseMatrixBase< Rhs > &  b,
SparseMatrixBase< Dest > &  dest 
) const
inlineinherited
112 {
113 internal::solve_sparse_through_dense_panels(derived(), b.derived(), dest.derived());
114 }
PardisoLDLT< MatrixType, Options > & derived()
Definition SparseSolverBase.h:79

◆ analyzePattern()

PardisoLDLT< MatrixType, Options > & Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::analyzePattern ( const MatrixType matrix)
inherited

Performs a symbolic decomposition on the sparcity of matrix.

This function is particularly useful when solving for several problems having the same structure.

See also
factorize()
281{
282 m_size = a.rows();
283 eigen_assert(m_size == a.cols());
284
286 m_perm.setZero(m_size);
287 derived().getMatrix(a);
288
289 Index error;
290 error = internal::pardiso_run_selector<StorageIndex>::run(m_pt, 1, 1, m_type, 11, internal::convert_index<StorageIndex>(m_size),
292 m_perm.data(), 0, m_iparm.data(), m_msglvl, NULL, NULL);
293
295 m_analysisIsOk = true;
296 m_factorizationIsOk = false;
297 m_isInitialized = true;
298 return derived();
299}
Index m_size
Definition PardisoSupport.h:254
bool m_factorizationIsOk
Definition PardisoSupport.h:249
void pardisoRelease()
Definition PardisoSupport.h:182
bool m_isInitialized
Definition SparseSolverBase.h:119
bool m_analysisIsOk
Definition PardisoSupport.h:249
EIGEN_DEVICE_FUNC Derived & setZero(Index size)
Definition CwiseNullaryOp.h:515

◆ cols()

Index Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::cols ( ) const
inlineinherited
138{ return m_size; }

◆ compute()

PardisoLDLT< MatrixType, Options > & Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::compute ( const MatrixType matrix)
inherited
260{
261 m_size = a.rows();
262 eigen_assert(a.rows() == a.cols());
263
265 m_perm.setZero(m_size);
266 derived().getMatrix(a);
267
268 Index error;
269 error = internal::pardiso_run_selector<StorageIndex>::run(m_pt, 1, 1, m_type, 12, internal::convert_index<StorageIndex>(m_size),
271 m_perm.data(), 0, m_iparm.data(), m_msglvl, NULL, NULL);
273 m_analysisIsOk = true;
274 m_factorizationIsOk = true;
275 m_isInitialized = true;
276 return derived();
277}

◆ derived() [1/2]

PardisoLDLT< MatrixType, Options > & Eigen::SparseSolverBase< PardisoLDLT< MatrixType, Options > >::derived ( )
inlineprotectedinherited
79{ return *static_cast<Derived*>(this); }

◆ derived() [2/2]

const PardisoLDLT< MatrixType, Options > & Eigen::SparseSolverBase< PardisoLDLT< MatrixType, Options > >::derived ( ) const
inlineprotectedinherited
80{ return *static_cast<const Derived*>(this); }

◆ factorize()

PardisoLDLT< MatrixType, Options > & Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::factorize ( const MatrixType matrix)
inherited

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.

See also
analyzePattern()
303{
304 eigen_assert(m_analysisIsOk && "You must first call analyzePattern()");
305 eigen_assert(m_size == a.rows() && m_size == a.cols());
306
307 derived().getMatrix(a);
308
309 Index error;
310 error = internal::pardiso_run_selector<StorageIndex>::run(m_pt, 1, 1, m_type, 22, internal::convert_index<StorageIndex>(m_size),
312 m_perm.data(), 0, m_iparm.data(), m_msglvl, NULL, NULL);
313
315 m_factorizationIsOk = true;
316 return derived();
317}

◆ getMatrix()

template<typename MatrixType , int Options>
void Eigen::PardisoLDLT< MatrixType, Options >::getMatrix ( const MatrixType matrix)
inline
532 {
533 // PARDISO supports only upper, row-major matrices
534 PermutationMatrix<Dynamic,Dynamic,StorageIndex> p_null;
535 m_matrix.resize(matrix.rows(), matrix.cols());
536 m_matrix.template selfadjointView<Upper>() = matrix.template selfadjointView<UpLo>().twistedBy(p_null);
538 }
SparseSymmetricPermutationProduct< Derived, Upper|Lower > twistedBy(const PermutationMatrix< Dynamic, Dynamic, StorageIndex > &perm) const
Definition SparseMatrixBase.h:324
void makeCompressed()
Definition SparseMatrix.h:464
void resize(Index rows, Index cols)
Definition SparseMatrix.h:621

References Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::m_matrix, Eigen::SparseMatrix< _Scalar, _Options, _StorageIndex >::makeCompressed(), Eigen::SparseMatrix< _Scalar, _Options, _StorageIndex >::resize(), and Eigen::SparseMatrixBase< Derived >::twistedBy().

+ Here is the call graph for this function:

◆ info()

ComputationInfo Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::info ( ) const
inlineinherited

Reports whether previous computation was successful.

Returns
Success if computation was succesful, NumericalIssue if the matrix appears to be negative.
147 {
148 eigen_assert(m_isInitialized && "Decomposition is not initialized.");
149 return m_info;
150 }

◆ manageErrorCode()

void Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::manageErrorCode ( Index  error) const
inlineprotectedinherited
232 {
233 switch(error)
234 {
235 case 0:
236 m_info = Success;
237 break;
238 case -4:
239 case -7:
241 break;
242 default:
244 }
245 }
@ NumericalIssue
Definition Constants.h:434
@ Success
Definition Constants.h:432

◆ pardisoInit()

void Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::pardisoInit ( int  type)
inlineprotectedinherited
193 {
194 m_type = type;
195 bool symmetric = std::abs(m_type) < 10;
196 m_iparm[0] = 1; // No solver default
197 m_iparm[1] = 2; // use Metis for the ordering
198 m_iparm[2] = 0; // Reserved. Set to zero. (??Numbers of processors, value of OMP_NUM_THREADS??)
199 m_iparm[3] = 0; // No iterative-direct algorithm
200 m_iparm[4] = 0; // No user fill-in reducing permutation
201 m_iparm[5] = 0; // Write solution into x, b is left unchanged
202 m_iparm[6] = 0; // Not in use
203 m_iparm[7] = 2; // Max numbers of iterative refinement steps
204 m_iparm[8] = 0; // Not in use
205 m_iparm[9] = 13; // Perturb the pivot elements with 1E-13
206 m_iparm[10] = symmetric ? 0 : 1; // Use nonsymmetric permutation and scaling MPS
207 m_iparm[11] = 0; // Not in use
208 m_iparm[12] = symmetric ? 0 : 1; // Maximum weighted matching algorithm is switched-off (default for symmetric).
209 // Try m_iparm[12] = 1 in case of inappropriate accuracy
210 m_iparm[13] = 0; // Output: Number of perturbed pivots
211 m_iparm[14] = 0; // Not in use
212 m_iparm[15] = 0; // Not in use
213 m_iparm[16] = 0; // Not in use
214 m_iparm[17] = -1; // Output: Number of nonzeros in the factor LU
215 m_iparm[18] = -1; // Output: Mflops for LU factorization
216 m_iparm[19] = 0; // Output: Numbers of CG Iterations
217
218 m_iparm[20] = 0; // 1x1 pivoting
219 m_iparm[26] = 0; // No matrix checker
220 m_iparm[27] = (sizeof(RealScalar) == 4) ? 1 : 0;
221 m_iparm[34] = 1; // C indexing
222 m_iparm[36] = 0; // CSR
223 m_iparm[59] = 0; // 0 - In-Core ; 1 - Automatic switch between In-Core and Out-of-Core modes ; 2 - Out-of-Core
224
225 memset(m_pt, 0, sizeof(m_pt));
226 }
StorageIndex m_type
Definition PardisoSupport.h:250
Traits::RealScalar RealScalar
Definition PardisoSupport.h:112

◆ pardisoParameterArray()

ParameterType & Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::pardisoParameterArray ( )
inlineinherited
Warning
for advanced usage only.
Returns
a reference to the parameter array controlling PARDISO. See the PARDISO manual to know how to use it.
156 {
157 return m_iparm;
158 }

◆ pardisoRelease()

void Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::pardisoRelease ( )
inlineprotectedinherited
183 {
184 if(m_isInitialized) // Factorization ran at least once
185 {
186 internal::pardiso_run_selector<StorageIndex>::run(m_pt, 1, 1, m_type, -1, internal::convert_index<StorageIndex>(m_size),0, 0, 0, m_perm.data(), 0,
187 m_iparm.data(), m_msglvl, NULL, NULL);
188 m_isInitialized = false;
189 }
190 }

◆ rows()

Index Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::rows ( ) const
inlineinherited
139{ return m_size; }

◆ solve() [1/2]

template<typename Derived >
template<typename Rhs >
const Solve< Derived, Rhs > Eigen::SparseSolverBase< Derived >::solve ( const MatrixBase< Rhs > &  b) const
inlineinherited
Returns
an expression of the solution x of $ A x = b $ using the current decomposition of A.
See also
compute()
89 {
90 eigen_assert(m_isInitialized && "Solver is not initialized.");
91 eigen_assert(derived().rows()==b.rows() && "solve(): invalid number of rows of the right hand side matrix b");
92 return Solve<Derived, Rhs>(derived(), b.derived());
93 }
bool m_isInitialized
Definition SparseSolverBase.h:119
Derived & derived()
Definition SparseSolverBase.h:79
size_t rows(const T &raster)
Definition MarchingSquares.hpp:55

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:

◆ solve() [2/2]

template<typename Derived >
template<typename Rhs >
const Solve< Derived, Rhs > Eigen::SparseSolverBase< Derived >::solve ( const SparseMatrixBase< Rhs > &  b) const
inlineinherited
Returns
an expression of the solution x of $ A x = b $ using the current decomposition of A.
See also
compute()
102 {
103 eigen_assert(m_isInitialized && "Solver is not initialized.");
104 eigen_assert(derived().rows()==b.rows() && "solve(): invalid number of rows of the right hand side matrix b");
105 return Solve<Derived, Rhs>(derived(), b.derived());
106 }

Friends And Related Symbol Documentation

◆ PardisoImpl< PardisoLDLT< MatrixType, Options > >

template<typename MatrixType , int Options>
friend class PardisoImpl< PardisoLDLT< MatrixType, Options > >
friend

Member Data Documentation

◆ m_analysisIsOk

bool Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::m_analysisIsOk
protectedinherited

◆ m_factorizationIsOk

bool Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::m_factorizationIsOk
protectedinherited

◆ m_info

ComputationInfo Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::m_info
mutableprotectedinherited

◆ m_iparm

ParameterType Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::m_iparm
mutableprotectedinherited

◆ m_isInitialized

bool Eigen::SparseSolverBase< PardisoLDLT< MatrixType, Options > >::m_isInitialized
mutableprotectedinherited

◆ m_matrix

SparseMatrixType Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::m_matrix
mutableprotectedinherited

◆ m_msglvl

StorageIndex Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::m_msglvl
protectedinherited

◆ m_perm

IntColVectorType Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::m_perm
mutableprotectedinherited

◆ m_pt

void* Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::m_pt[64]
mutableprotectedinherited

◆ m_size

Index Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::m_size
protectedinherited

◆ m_type

StorageIndex Eigen::PardisoImpl< PardisoLDLT< MatrixType, Options > >::m_type
protectedinherited

The documentation for this class was generated from the following file: