NDDEM
Classes | Public Types | Public Member Functions | Protected Attributes | List of all members
Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex > Class Template Reference

a class to manipulate the L supernodal factor from the SparseLU factorization More...

#include <SparseLU_SupernodalMatrix.h>

Classes

class  InnerIterator
 InnerIterator class to iterate over nonzero values of the current column in the supernodal matrix L. More...
 

Public Types

typedef _Scalar Scalar
 
typedef _StorageIndex StorageIndex
 
typedef Matrix< StorageIndex, Dynamic, 1 > IndexVector
 
typedef Matrix< Scalar, Dynamic, 1 > ScalarVector
 

Public Member Functions

 MappedSuperNodalMatrix ()
 
 MappedSuperNodalMatrix (Index m, Index n, ScalarVector &nzval, IndexVector &nzval_colptr, IndexVector &rowind, IndexVector &rowind_colptr, IndexVector &col_to_sup, IndexVector &sup_to_col)
 
 ~MappedSuperNodalMatrix ()
 
void setInfos (Index m, Index n, ScalarVector &nzval, IndexVector &nzval_colptr, IndexVector &rowind, IndexVector &rowind_colptr, IndexVector &col_to_sup, IndexVector &sup_to_col)
 
Index rows () const
 
Index cols () const
 
ScalarvaluePtr ()
 
const ScalarvaluePtr () const
 
StorageIndexcolIndexPtr ()
 
const StorageIndexcolIndexPtr () const
 
StorageIndexrowIndex ()
 
const StorageIndexrowIndex () const
 
StorageIndexrowIndexPtr ()
 
const StorageIndexrowIndexPtr () const
 
StorageIndexcolToSup ()
 
const StorageIndexcolToSup () const
 
StorageIndexsupToCol ()
 
const StorageIndexsupToCol () const
 
Index nsuper () const
 
template<typename Dest >
void solveInPlace (MatrixBase< Dest > &X) const
 Solve with the supernode triangular matrix. More...
 
template<bool Conjugate, typename Dest >
void solveTransposedInPlace (MatrixBase< Dest > &X) const
 

Protected Attributes

Index m_row
 
Index m_col
 
Index m_nsuper
 
Scalarm_nzval
 
StorageIndexm_nzval_colptr
 
StorageIndexm_rowind
 
StorageIndexm_rowind_colptr
 
StorageIndexm_col_to_sup
 
StorageIndexm_sup_to_col
 

Detailed Description

template<typename _Scalar, typename _StorageIndex>
class Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >

a class to manipulate the L supernodal factor from the SparseLU factorization

This class contain the data to easily store and manipulate the supernodes during the factorization and solution phase of Sparse LU. Only the lower triangular matrix has supernodes.

NOTE : This class corresponds to the SCformat structure in SuperLU

Member Typedef Documentation

◆ IndexVector

template<typename _Scalar , typename _StorageIndex >
typedef Matrix<StorageIndex,Dynamic,1> Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::IndexVector

◆ Scalar

template<typename _Scalar , typename _StorageIndex >
typedef _Scalar Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::Scalar

◆ ScalarVector

template<typename _Scalar , typename _StorageIndex >
typedef Matrix<Scalar,Dynamic,1> Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::ScalarVector

◆ StorageIndex

template<typename _Scalar , typename _StorageIndex >
typedef _StorageIndex Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::StorageIndex

Constructor & Destructor Documentation

◆ MappedSuperNodalMatrix() [1/2]

template<typename _Scalar , typename _StorageIndex >
Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::MappedSuperNodalMatrix ( )
inline

◆ MappedSuperNodalMatrix() [2/2]

template<typename _Scalar , typename _StorageIndex >
Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::MappedSuperNodalMatrix ( Index  m,
Index  n,
ScalarVector nzval,
IndexVector nzval_colptr,
IndexVector rowind,
IndexVector rowind_colptr,
IndexVector col_to_sup,
IndexVector sup_to_col 
)
inline

◆ ~MappedSuperNodalMatrix()

template<typename _Scalar , typename _StorageIndex >
Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::~MappedSuperNodalMatrix ( )
inline

Member Function Documentation

◆ colIndexPtr() [1/2]

template<typename _Scalar , typename _StorageIndex >
StorageIndex* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::colIndexPtr ( )
inline

Return the pointers to the beginning of each column in valuePtr()

◆ colIndexPtr() [2/2]

template<typename _Scalar , typename _StorageIndex >
const StorageIndex* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::colIndexPtr ( ) const
inline

◆ cols()

template<typename _Scalar , typename _StorageIndex >
Index Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::cols ( void  ) const
inline

Number of columns

◆ colToSup() [1/2]

template<typename _Scalar , typename _StorageIndex >
StorageIndex* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::colToSup ( )
inline

Return the array of column-to-supernode mapping

◆ colToSup() [2/2]

template<typename _Scalar , typename _StorageIndex >
const StorageIndex* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::colToSup ( ) const
inline

◆ nsuper()

template<typename _Scalar , typename _StorageIndex >
Index Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::nsuper ( ) const
inline

Return the number of supernodes

◆ rowIndex() [1/2]

template<typename _Scalar , typename _StorageIndex >
StorageIndex* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::rowIndex ( )
inline

Return the array of compressed row indices of all supernodes

◆ rowIndex() [2/2]

template<typename _Scalar , typename _StorageIndex >
const StorageIndex* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::rowIndex ( ) const
inline

◆ rowIndexPtr() [1/2]

template<typename _Scalar , typename _StorageIndex >
StorageIndex* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::rowIndexPtr ( )
inline

Return the location in rowvaluePtr() which starts each column

◆ rowIndexPtr() [2/2]

template<typename _Scalar , typename _StorageIndex >
const StorageIndex* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::rowIndexPtr ( ) const
inline

◆ rows()

template<typename _Scalar , typename _StorageIndex >
Index Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::rows ( void  ) const
inline

Number of rows

◆ setInfos()

template<typename _Scalar , typename _StorageIndex >
void Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::setInfos ( Index  m,
Index  n,
ScalarVector nzval,
IndexVector nzval_colptr,
IndexVector rowind,
IndexVector rowind_colptr,
IndexVector col_to_sup,
IndexVector sup_to_col 
)
inline

Set appropriate pointers for the lower triangular supernodal matrix These infos are available at the end of the numerical factorization FIXME This class will be modified such that it can be use in the course of the factorization.

◆ solveInPlace()

template<typename Scalar , typename Index_ >
template<typename Dest >
void Eigen::internal::MappedSuperNodalMatrix< Scalar, Index_ >::solveInPlace ( MatrixBase< Dest > &  X) const

Solve with the supernode triangular matrix.

◆ solveTransposedInPlace()

template<typename Scalar , typename Index_ >
template<bool Conjugate, typename Dest >
void Eigen::internal::MappedSuperNodalMatrix< Scalar, Index_ >::solveTransposedInPlace ( MatrixBase< Dest > &  X) const

◆ supToCol() [1/2]

template<typename _Scalar , typename _StorageIndex >
StorageIndex* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::supToCol ( )
inline

Return the array of supernode-to-column mapping

◆ supToCol() [2/2]

template<typename _Scalar , typename _StorageIndex >
const StorageIndex* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::supToCol ( ) const
inline

◆ valuePtr() [1/2]

template<typename _Scalar , typename _StorageIndex >
Scalar* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::valuePtr ( )
inline

Return the array of nonzero values packed by column

The size is nnz

◆ valuePtr() [2/2]

template<typename _Scalar , typename _StorageIndex >
const Scalar* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::valuePtr ( ) const
inline

Member Data Documentation

◆ m_col

template<typename _Scalar , typename _StorageIndex >
Index Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::m_col
protected

◆ m_col_to_sup

template<typename _Scalar , typename _StorageIndex >
StorageIndex* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::m_col_to_sup
protected

◆ m_nsuper

template<typename _Scalar , typename _StorageIndex >
Index Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::m_nsuper
protected

◆ m_nzval

template<typename _Scalar , typename _StorageIndex >
Scalar* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::m_nzval
protected

◆ m_nzval_colptr

template<typename _Scalar , typename _StorageIndex >
StorageIndex* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::m_nzval_colptr
protected

◆ m_row

template<typename _Scalar , typename _StorageIndex >
Index Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::m_row
protected

◆ m_rowind

template<typename _Scalar , typename _StorageIndex >
StorageIndex* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::m_rowind
protected

◆ m_rowind_colptr

template<typename _Scalar , typename _StorageIndex >
StorageIndex* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::m_rowind_colptr
protected

◆ m_sup_to_col

template<typename _Scalar , typename _StorageIndex >
StorageIndex* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _StorageIndex >::m_sup_to_col
protected

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