Shapeworks Studio  2.1
Shape analysis software suite
List of all members | Classes | Public Types | Public Member Functions | Protected Attributes
Eigen::internal::MappedSuperNodalMatrix< _Scalar, _Index > Class Template Reference

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

#include <SparseLU_SupernodalMatrix.h>

+ Collaboration diagram for Eigen::internal::MappedSuperNodalMatrix< _Scalar, _Index >:

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 _Index Index
 
typedef Matrix< Index, Dynamic, 1 > IndexVector
 
typedef Matrix< Scalar, Dynamic, 1 > ScalarVector
 

Public Member Functions

 MappedSuperNodalMatrix (Index m, Index n, ScalarVector &nzval, IndexVector &nzval_colptr, IndexVector &rowind, IndexVector &rowind_colptr, IndexVector &col_to_sup, IndexVector &sup_to_col)
 
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 ()
 
Index cols ()
 
Scalar * valuePtr ()
 
const Scalar * valuePtr () const
 
Index * colIndexPtr ()
 
const Index * colIndexPtr () const
 
Index * rowIndex ()
 
const Index * rowIndex () const
 
Index * rowIndexPtr ()
 
const Index * rowIndexPtr () const
 
Index * colToSup ()
 
const Index * colToSup () const
 
Index * supToCol ()
 
const Index * supToCol () const
 
Index nsuper () const
 
template<typename Dest >
void solveInPlace (MatrixBase< Dest > &X) const
 Solve with the supernode triangular matrix.
 

Protected Attributes

Index m_row
 
Index m_col
 
Index m_nsuper
 
Scalar * m_nzval
 
Index * m_nzval_colptr
 
Index * m_rowind
 
Index * m_rowind_colptr
 
Index * m_col_to_sup
 
Index * m_sup_to_col
 

Detailed Description

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

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

Definition at line 33 of file SparseLU_SupernodalMatrix.h.

Member Function Documentation

template<typename _Scalar, typename _Index>
Index* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _Index >::colIndexPtr ( )
inline

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

Definition at line 99 of file SparseLU_SupernodalMatrix.h.

100  {
101  return m_nzval_colptr;
102  }
template<typename _Scalar, typename _Index>
Index Eigen::internal::MappedSuperNodalMatrix< _Scalar, _Index >::cols ( void  )
inline

Number of columns

Definition at line 83 of file SparseLU_SupernodalMatrix.h.

83 { return m_col; }
template<typename _Scalar, typename _Index>
Index* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _Index >::colToSup ( )
inline

Return the array of column-to-supernode mapping

Definition at line 132 of file SparseLU_SupernodalMatrix.h.

132 { return m_col_to_sup; }
template<typename _Scalar, typename _Index>
Index Eigen::internal::MappedSuperNodalMatrix< _Scalar, _Index >::nsuper ( ) const
inline

Return the number of supernodes

Definition at line 151 of file SparseLU_SupernodalMatrix.h.

152  {
153  return m_nsuper;
154  }
template<typename _Scalar, typename _Index>
Index* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _Index >::rowIndex ( )
inline

Return the array of compressed row indices of all supernodes

Definition at line 112 of file SparseLU_SupernodalMatrix.h.

112 { return m_rowind; }
template<typename _Scalar, typename _Index>
Index* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _Index >::rowIndexPtr ( )
inline

Return the location in rowvaluePtr() which starts each column

Definition at line 122 of file SparseLU_SupernodalMatrix.h.

122 { return m_rowind_colptr; }
template<typename _Scalar, typename _Index>
Index Eigen::internal::MappedSuperNodalMatrix< _Scalar, _Index >::rows ( void  )
inline

Number of rows

Definition at line 78 of file SparseLU_SupernodalMatrix.h.

78 { return m_row; }
template<typename _Scalar, typename _Index>
void Eigen::internal::MappedSuperNodalMatrix< _Scalar, _Index >::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.

Definition at line 61 of file SparseLU_SupernodalMatrix.h.

63  {
64  m_row = m;
65  m_col = n;
66  m_nzval = nzval.data();
67  m_nzval_colptr = nzval_colptr.data();
68  m_rowind = rowind.data();
69  m_rowind_colptr = rowind_colptr.data();
70  m_nsuper = col_to_sup(n);
71  m_col_to_sup = col_to_sup.data();
72  m_sup_to_col = sup_to_col.data();
73  }
template<typename _Scalar, typename _Index>
Index* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _Index >::supToCol ( )
inline

Return the array of supernode-to-column mapping

Definition at line 141 of file SparseLU_SupernodalMatrix.h.

141 { return m_sup_to_col; }
template<typename _Scalar, typename _Index>
Scalar* Eigen::internal::MappedSuperNodalMatrix< _Scalar, _Index >::valuePtr ( )
inline

Return the array of nonzero values packed by column

The size is nnz

Definition at line 90 of file SparseLU_SupernodalMatrix.h.

90 { return m_nzval; }

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