Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Eigen::PastixLU< _MatrixType, IsStrSym > Class Template Reference

Interface to the PaStix solver. More...

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

+ Inheritance diagram for Eigen::PastixLU< _MatrixType, IsStrSym >:
+ Collaboration diagram for Eigen::PastixLU< _MatrixType, IsStrSym >:

Public Types

typedef _MatrixType MatrixType
 
typedef PastixBase< PastixLU< MatrixType > > Base
 
typedef Base::ColSpMatrix ColSpMatrix
 
typedef MatrixType::StorageIndex StorageIndex
 
enum  
 
typedef internal::pastix_traits< PastixLU< _MatrixType > >::MatrixType _MatrixType
 
typedef MatrixType::Scalar Scalar
 
typedef MatrixType::RealScalar RealScalar
 
typedef Matrix< Scalar, Dynamic, 1 > Vector
 

Public Member Functions

 PastixLU ()
 
 PastixLU (const MatrixType &matrix)
 
void compute (const MatrixType &matrix)
 
void analyzePattern (const MatrixType &matrix)
 
void factorize (const MatrixType &matrix)
 
bool _solve_impl (const MatrixBase< Rhs > &b, MatrixBase< Dest > &x) const
 
void _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const
 
Array< StorageIndex, IPARM_SIZE, 1 > & iparm ()
 
int & iparm (int idxparam)
 
Array< double, DPARM_SIZE, 1 > & dparm ()
 
double & dparm (int idxparam)
 
Index cols () const
 
Index rows () const
 
ComputationInfo info () const
 Reports whether previous computation was successful.
 
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 Member Functions

void init ()
 
void grabMatrix (const MatrixType &matrix, ColSpMatrix &out)
 
void analyzePattern (ColSpMatrix &mat)
 
void factorize (ColSpMatrix &mat)
 
void clean ()
 
void compute (ColSpMatrix &mat)
 
PastixLU< _MatrixType > & derived ()
 
const PastixLU< _MatrixType > & derived () const
 

Protected Attributes

ColSpMatrix m_transposedStructure
 
bool m_structureIsUptodate
 
Array< int, IPARM_SIZE, 1 > m_iparm
 
Array< double, DPARM_SIZE, 1 > m_dparm
 
int m_initisOk
 
int m_analysisIsOk
 
int m_factorizationIsOk
 
ComputationInfo m_info
 
pastix_data_t * m_pastixdata
 
int m_comm
 
Matrix< StorageIndex, Dynamic, 1 > m_perm
 
Matrix< StorageIndex, Dynamic, 1 > m_invp
 
int m_size
 
bool m_isInitialized
 

Detailed Description

template<typename _MatrixType, bool IsStrSym>
class Eigen::PastixLU< _MatrixType, IsStrSym >

Interface to the PaStix solver.

Sparse direct LU solver based on PaStiX library.

This class is used to solve the linear systems A.X = B via the PaStix library. The matrix can be either real or complex, symmetric or not.

See also
TutorialSparseDirectSolvers

This class is used to solve the linear systems A.X = B with a supernodal LU factorization in the PaStiX library. The matrix A should be squared and nonsingular PaStiX requires that the matrix A has a symmetric structural pattern. This interface can symmetrize the input matrix otherwise. The vectors or matrices X and B can be either dense or sparse.

Template Parameters
_MatrixTypethe type of the sparse matrix A, it must be a SparseMatrix<>
IsStrSymIndicates if the input matrix has a symmetric pattern, default is false NOTE : Note that if the analysis and factorization phase are called separately, the input matrix will be symmetrized at each call, hence it is advised to symmetrize the matrix in a end-user program and set IsStrSym to true

\implsparsesolverconcept

See also
TutorialSparseSolverConcept, class SparseLU

Member Typedef Documentation

◆ _MatrixType

◆ Base

template<typename _MatrixType , bool IsStrSym>
typedef PastixBase<PastixLU<MatrixType> > Eigen::PastixLU< _MatrixType, IsStrSym >::Base

◆ ColSpMatrix

template<typename _MatrixType , bool IsStrSym>
typedef Base::ColSpMatrix Eigen::PastixLU< _MatrixType, IsStrSym >::ColSpMatrix

◆ MatrixType

template<typename _MatrixType , bool IsStrSym>
typedef _MatrixType Eigen::PastixLU< _MatrixType, IsStrSym >::MatrixType

◆ RealScalar

typedef MatrixType::RealScalar Eigen::PastixBase< PastixLU< _MatrixType > >::RealScalar
inherited

◆ Scalar

typedef MatrixType::Scalar Eigen::PastixBase< PastixLU< _MatrixType > >::Scalar
inherited

◆ StorageIndex

template<typename _MatrixType , bool IsStrSym>
typedef MatrixType::StorageIndex Eigen::PastixLU< _MatrixType, IsStrSym >::StorageIndex

◆ Vector

typedef Matrix<Scalar,Dynamic,1> Eigen::PastixBase< PastixLU< _MatrixType > >::Vector
inherited

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited
144 {
145 ColsAtCompileTime = MatrixType::ColsAtCompileTime,
146 MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
147 };
@ ColsAtCompileTime
Definition PaStiXSupport.h:145
@ MaxColsAtCompileTime
Definition PaStiXSupport.h:146

Constructor & Destructor Documentation

◆ PastixLU() [1/2]

template<typename _MatrixType , bool IsStrSym>
Eigen::PastixLU< _MatrixType, IsStrSym >::PastixLU ( )
inline
421 : Base()
422 {
423 init();
424 }
PastixBase< PastixLU< MatrixType > > Base
Definition PaStiXSupport.h:416
void init()
Definition PaStiXSupport.h:469

References Eigen::PastixLU< _MatrixType, IsStrSym >::init().

+ Here is the call graph for this function:

◆ PastixLU() [2/2]

template<typename _MatrixType , bool IsStrSym>
Eigen::PastixLU< _MatrixType, IsStrSym >::PastixLU ( const MatrixType matrix)
inlineexplicit
426 :Base()
427 {
428 init();
429 compute(matrix);
430 }
void compute(const MatrixType &matrix)
Definition PaStiXSupport.h:436

References Eigen::PastixLU< _MatrixType, IsStrSym >::compute(), and Eigen::PastixLU< _MatrixType, IsStrSym >::init().

+ Here is the call graph for this function:

Member Function Documentation

◆ _solve_impl() [1/2]

bool Eigen::PastixBase< Base >::_solve_impl ( const MatrixBase< Rhs > &  b,
MatrixBase< Dest > &  x 
) const
inherited
368{
369 eigen_assert(m_isInitialized && "The matrix should be factorized first");
370 EIGEN_STATIC_ASSERT((Dest::Flags&RowMajorBit)==0,
371 THIS_METHOD_IS_ONLY_FOR_COLUMN_MAJOR_MATRICES);
372 int rhs = 1;
373
374 x = b; /* on return, x is overwritten by the computed solution */
375
376 for (int i = 0; i < b.cols(); i++){
377 m_iparm[IPARM_START_TASK] = API_TASK_SOLVE;
378 m_iparm[IPARM_END_TASK] = API_TASK_REFINE;
379
380 internal::eigen_pastix(&m_pastixdata, MPI_COMM_WORLD, internal::convert_index<int>(x.rows()), 0, 0, 0,
381 m_perm.data(), m_invp.data(), &x(0, i), rhs, m_iparm.data(), m_dparm.data());
382 }
383
384 // Check the returned error
385 m_info = m_iparm(IPARM_ERROR_NUMBER)==0 ? Success : NumericalIssue;
386
387 return m_iparm(IPARM_ERROR_NUMBER)==0;
388}
#define eigen_assert(x)
Definition Macros.h:579
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition StaticAssert.h:124
Array< double, DPARM_SIZE, 1 > m_dparm
Definition PaStiXSupport.h:248
Matrix< StorageIndex, Dynamic, 1 > m_invp
Definition PaStiXSupport.h:250
Matrix< StorageIndex, Dynamic, 1 > m_perm
Definition PaStiXSupport.h:249
Array< int, IPARM_SIZE, 1 > m_iparm
Definition PaStiXSupport.h:247
ComputationInfo m_info
Definition PaStiXSupport.h:244
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar * data() const
Definition PlainObjectBase.h:255
@ NumericalIssue
Definition Constants.h:434
@ Success
Definition Constants.h:432
TCoord< P > x(const P &p)
Definition geometry_traits.hpp:297

◆ _solve_impl() [2/2]

void Eigen::SparseSolverBase< PastixLU< _MatrixType > >::_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 }
PastixLU< _MatrixType > & derived()
Definition SparseSolverBase.h:79

◆ analyzePattern() [1/2]

void Eigen::PastixBase< PastixLU< _MatrixType > >::analyzePattern ( ColSpMatrix mat)
protectedinherited
308{
309 eigen_assert(m_initisOk && "The initialization of PaSTiX failed");
310
311 // clean previous calls
312 if(m_size>0)
313 clean();
314
315 m_size = internal::convert_index<int>(mat.rows());
316 m_perm.resize(m_size);
317 m_invp.resize(m_size);
318
319 m_iparm(IPARM_START_TASK) = API_TASK_ORDERING;
320 m_iparm(IPARM_END_TASK) = API_TASK_ANALYSE;
321 internal::eigen_pastix(&m_pastixdata, MPI_COMM_WORLD, m_size, mat.outerIndexPtr(), mat.innerIndexPtr(),
322 mat.valuePtr(), m_perm.data(), m_invp.data(), 0, 0, m_iparm.data(), m_dparm.data());
323
324 // Check the returned error
325 if(m_iparm(IPARM_ERROR_NUMBER))
326 {
328 m_analysisIsOk = false;
329 }
330 else
331 {
332 m_info = Success;
333 m_analysisIsOk = true;
334 }
335}
int m_analysisIsOk
Definition PaStiXSupport.h:242
void clean()
Definition PaStiXSupport.h:230
int m_size
Definition PaStiXSupport.h:251
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void resize(Index rows, Index cols)
Definition PlainObjectBase.h:279

◆ analyzePattern() [2/2]

template<typename _MatrixType , bool IsStrSym>
void Eigen::PastixLU< _MatrixType, IsStrSym >::analyzePattern ( const MatrixType matrix)
inline

Compute the LU symbolic factorization of matrix using its sparsity pattern. Several ordering methods can be used at this step. See the PaStiX user's manual. The result of this operation can be used with successive matrices having the same pattern as matrix

See also
factorize()
449 {
450 m_structureIsUptodate = false;
451 ColSpMatrix temp;
452 grabMatrix(matrix, temp);
454 }
void analyzePattern(ColSpMatrix &mat)
Definition PaStiXSupport.h:307
void grabMatrix(const MatrixType &matrix, ColSpMatrix &out)
Definition PaStiXSupport.h:476
Base::ColSpMatrix ColSpMatrix
Definition PaStiXSupport.h:417
bool m_structureIsUptodate
Definition PaStiXSupport.h:504

References Eigen::PastixBase< Derived >::analyzePattern(), Eigen::PastixLU< _MatrixType, IsStrSym >::grabMatrix(), and Eigen::PastixLU< _MatrixType, IsStrSym >::m_structureIsUptodate.

+ Here is the call graph for this function:

◆ clean()

void Eigen::PastixBase< PastixLU< _MatrixType > >::clean ( )
inlineprotectedinherited
231 {
232 eigen_assert(m_initisOk && "The Pastix structure should be allocated first");
233 m_iparm(IPARM_START_TASK) = API_TASK_CLEAN;
234 m_iparm(IPARM_END_TASK) = API_TASK_CLEAN;
235 internal::eigen_pastix(&m_pastixdata, MPI_COMM_WORLD, 0, 0, 0, (Scalar*)0,
236 m_perm.data(), m_invp.data(), 0, 0, m_iparm.data(), m_dparm.data());
237 }

◆ cols()

Index Eigen::PastixBase< PastixLU< _MatrixType > >::cols ( ) const
inlineinherited
201{ return m_size; }

◆ compute() [1/2]

void Eigen::PastixBase< PastixLU< _MatrixType > >::compute ( ColSpMatrix mat)
protectedinherited
296{
297 eigen_assert(mat.rows() == mat.cols() && "The input matrix should be squared");
298
299 analyzePattern(mat);
300 factorize(mat);
301
302 m_iparm(IPARM_MATRIX_VERIFICATION) = API_NO;
303}
void factorize(ColSpMatrix &mat)
Definition PaStiXSupport.h:338

◆ compute() [2/2]

template<typename _MatrixType , bool IsStrSym>
void Eigen::PastixLU< _MatrixType, IsStrSym >::compute ( const MatrixType matrix)
inline

Compute the LU supernodal factorization of matrix. iparm and dparm can be used to tune the PaStiX parameters. see the PaStiX user's manual

See also
analyzePattern() factorize()
437 {
438 m_structureIsUptodate = false;
439 ColSpMatrix temp;
440 grabMatrix(matrix, temp);
441 Base::compute(temp);
442 }
void compute(ColSpMatrix &mat)
Definition PaStiXSupport.h:295

References Eigen::PastixBase< Derived >::compute(), Eigen::PastixLU< _MatrixType, IsStrSym >::grabMatrix(), and Eigen::PastixLU< _MatrixType, IsStrSym >::m_structureIsUptodate.

Referenced by Eigen::PastixLU< _MatrixType, IsStrSym >::PastixLU().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ derived() [1/2]

PastixLU< _MatrixType > & Eigen::SparseSolverBase< PastixLU< _MatrixType > >::derived ( )
inlineprotectedinherited
79{ return *static_cast<Derived*>(this); }

◆ derived() [2/2]

const PastixLU< _MatrixType > & Eigen::SparseSolverBase< PastixLU< _MatrixType > >::derived ( ) const
inlineprotectedinherited
80{ return *static_cast<const Derived*>(this); }

◆ dparm() [1/2]

Array< double, DPARM_SIZE, 1 > & Eigen::PastixBase< PastixLU< _MatrixType > >::dparm ( )
inlineinherited

Returns a reference to the double vector DPARM of PaStiX parameters The statistics related to the different phases of factorization and solve are saved here as well

See also
analyzePattern() factorize()
188 {
189 return m_dparm;
190 }

◆ dparm() [2/2]

double & Eigen::PastixBase< PastixLU< _MatrixType > >::dparm ( int  idxparam)
inlineinherited

Return a reference to a particular index parameter of the DPARM vector

See also
dparm()
197 {
198 return m_dparm(idxparam);
199 }

◆ factorize() [1/2]

void Eigen::PastixBase< PastixLU< _MatrixType > >::factorize ( ColSpMatrix mat)
protectedinherited
339{
340// if(&m_cpyMat != &mat) m_cpyMat = mat;
341 eigen_assert(m_analysisIsOk && "The analysis phase should be called before the factorization phase");
342 m_iparm(IPARM_START_TASK) = API_TASK_NUMFACT;
343 m_iparm(IPARM_END_TASK) = API_TASK_NUMFACT;
344 m_size = internal::convert_index<int>(mat.rows());
345
346 internal::eigen_pastix(&m_pastixdata, MPI_COMM_WORLD, m_size, mat.outerIndexPtr(), mat.innerIndexPtr(),
347 mat.valuePtr(), m_perm.data(), m_invp.data(), 0, 0, m_iparm.data(), m_dparm.data());
348
349 // Check the returned error
350 if(m_iparm(IPARM_ERROR_NUMBER))
351 {
353 m_factorizationIsOk = false;
354 m_isInitialized = false;
355 }
356 else
357 {
358 m_info = Success;
359 m_factorizationIsOk = true;
360 m_isInitialized = true;
361 }
362}
int m_factorizationIsOk
Definition PaStiXSupport.h:243
bool m_isInitialized
Definition SparseSolverBase.h:119

◆ factorize() [2/2]

template<typename _MatrixType , bool IsStrSym>
void Eigen::PastixLU< _MatrixType, IsStrSym >::factorize ( const MatrixType matrix)
inline

Compute the LU supernodal factorization of matrix WARNING The matrix matrix should have the same structural pattern as the same used in the analysis phase.

See also
analyzePattern()
462 {
463 ColSpMatrix temp;
464 grabMatrix(matrix, temp);
465 Base::factorize(temp);
466 }

References Eigen::PastixBase< Derived >::factorize(), and Eigen::PastixLU< _MatrixType, IsStrSym >::grabMatrix().

+ Here is the call graph for this function:

◆ grabMatrix()

template<typename _MatrixType , bool IsStrSym>
void Eigen::PastixLU< _MatrixType, IsStrSym >::grabMatrix ( const MatrixType matrix,
ColSpMatrix out 
)
inlineprotected
477 {
478 if(IsStrSym)
479 out = matrix;
480 else
481 {
483 {
484 // update the transposed structure
486
487 // Set the elements of the matrix to zero
488 for (Index j=0; j<m_transposedStructure.outerSize(); ++j)
489 for(typename ColSpMatrix::InnerIterator it(m_transposedStructure, j); it; ++it)
490 it.valueRef() = 0.0;
491
493 }
494
495 out = m_transposedStructure + matrix;
496 }
498 }
ColSpMatrix m_transposedStructure
Definition PaStiXSupport.h:503
TransposeReturnType transpose()
Definition SparseMatrixBase.h:349
Base::InnerIterator InnerIterator
Definition SparseMatrix.h:112
Index outerSize() const
Definition SparseMatrix.h:143
void c_to_fortran_numbering(MatrixType &mat)
Definition PaStiXSupport.h:97
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition Meta.h:33

References Eigen::internal::c_to_fortran_numbering(), Eigen::PastixLU< _MatrixType, IsStrSym >::m_structureIsUptodate, Eigen::PastixLU< _MatrixType, IsStrSym >::m_transposedStructure, Eigen::SparseMatrix< _Scalar, _Options, _StorageIndex >::outerSize(), and Eigen::SparseMatrixBase< Derived >::transpose().

Referenced by Eigen::PastixLU< _MatrixType, IsStrSym >::analyzePattern(), Eigen::PastixLU< _MatrixType, IsStrSym >::compute(), and Eigen::PastixLU< _MatrixType, IsStrSym >::factorize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ info()

ComputationInfo Eigen::PastixBase< PastixLU< _MatrixType > >::info ( ) const
inlineinherited

Reports whether previous computation was successful.

Returns
Success if computation was succesful, NumericalIssue if the PaStiX reports a problem InvalidInput if the input matrix is invalid
See also
iparm()
213 {
214 eigen_assert(m_isInitialized && "Decomposition is not initialized.");
215 return m_info;
216 }

◆ init()

template<typename _MatrixType , bool IsStrSym>
void Eigen::PastixLU< _MatrixType, IsStrSym >::init ( )
inlineprotected
470 {
471 m_structureIsUptodate = false;
472 m_iparm(IPARM_SYM) = API_SYM_NO;
473 m_iparm(IPARM_FACTORIZATION) = API_FACT_LU;
474 }
Array< int, IPARM_SIZE, 1 > m_iparm
Definition PaStiXSupport.h:247

References Eigen::PastixLU< _MatrixType, IsStrSym >::m_iparm, and Eigen::PastixLU< _MatrixType, IsStrSym >::m_structureIsUptodate.

Referenced by Eigen::PastixLU< _MatrixType, IsStrSym >::PastixLU(), and Eigen::PastixLU< _MatrixType, IsStrSym >::PastixLU().

+ Here is the caller graph for this function:

◆ iparm() [1/2]

Array< StorageIndex, IPARM_SIZE, 1 > & Eigen::PastixBase< PastixLU< _MatrixType > >::iparm ( )
inlineinherited

Returns a reference to the integer vector IPARM of PaStiX parameters to modify the default parameters. The statistics related to the different phases of factorization and solve are saved here as well

See also
analyzePattern() factorize()
170 {
171 return m_iparm;
172 }

◆ iparm() [2/2]

int & Eigen::PastixBase< PastixLU< _MatrixType > >::iparm ( int  idxparam)
inlineinherited

Return a reference to a particular index parameter of the IPARM vector

See also
iparm()
179 {
180 return m_iparm(idxparam);
181 }

◆ rows()

Index Eigen::PastixBase< PastixLU< _MatrixType > >::rows ( ) const
inlineinherited
202{ 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 }

Member Data Documentation

◆ m_analysisIsOk

int Eigen::PastixBase< PastixLU< _MatrixType > >::m_analysisIsOk
protectedinherited

◆ m_comm

int Eigen::PastixBase< PastixLU< _MatrixType > >::m_comm
mutableprotectedinherited

◆ m_dparm

template<typename _MatrixType , bool IsStrSym>
Array<double,DPARM_SIZE,1> Eigen::PastixBase< Derived >::m_dparm
mutableprotected

◆ m_factorizationIsOk

int Eigen::PastixBase< PastixLU< _MatrixType > >::m_factorizationIsOk
protectedinherited

◆ m_info

ComputationInfo Eigen::PastixBase< PastixLU< _MatrixType > >::m_info
mutableprotectedinherited

◆ m_initisOk

int Eigen::PastixBase< PastixLU< _MatrixType > >::m_initisOk
protectedinherited

◆ m_invp

Matrix<StorageIndex,Dynamic,1> Eigen::PastixBase< PastixLU< _MatrixType > >::m_invp
mutableprotectedinherited

◆ m_iparm

template<typename _MatrixType , bool IsStrSym>
Array<int,IPARM_SIZE,1> Eigen::PastixBase< Derived >::m_iparm
mutableprotected

◆ m_isInitialized

bool Eigen::SparseSolverBase< PastixLU< _MatrixType > >::m_isInitialized
mutableprotectedinherited

◆ m_pastixdata

pastix_data_t* Eigen::PastixBase< PastixLU< _MatrixType > >::m_pastixdata
mutableprotectedinherited

◆ m_perm

Matrix<StorageIndex,Dynamic,1> Eigen::PastixBase< PastixLU< _MatrixType > >::m_perm
mutableprotectedinherited

◆ m_size

int Eigen::PastixBase< PastixLU< _MatrixType > >::m_size
mutableprotectedinherited

◆ m_structureIsUptodate

◆ m_transposedStructure

template<typename _MatrixType , bool IsStrSym>
ColSpMatrix Eigen::PastixLU< _MatrixType, IsStrSym >::m_transposedStructure
protected

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