MOAB
4.9.3pre
|
#include <SuperLUSupport.h>
Public Types | |
typedef Derived | MatrixType |
Static Public Member Functions | |
static void | run (MatrixType &mat, SluMatrix &res) |
Definition at line 225 of file SuperLUSupport.h.
typedef Derived Eigen::SluMatrixMapHelper< SparseMatrixBase< Derived > >::MatrixType |
Definition at line 227 of file SuperLUSupport.h.
static void Eigen::SluMatrixMapHelper< SparseMatrixBase< Derived > >::run | ( | MatrixType & | mat, |
SluMatrix & | res | ||
) | [inline, static] |
Definition at line 228 of file SuperLUSupport.h.
{ if ((MatrixType::Flags&RowMajorBit)==RowMajorBit) { res.setStorageType(SLU_NR); res.nrow = mat.cols(); res.ncol = mat.rows(); } else { res.setStorageType(SLU_NC); res.nrow = mat.rows(); res.ncol = mat.cols(); } res.Mtype = SLU_GE; res.storage.nnz = mat.nonZeros(); res.storage.values = mat.valuePtr(); res.storage.innerInd = mat.innerIndexPtr(); res.storage.outerInd = mat.outerIndexPtr(); res.setScalarType<typename MatrixType::Scalar>(); // FIXME the following is not very accurate if (MatrixType::Flags & Upper) res.Mtype = SLU_TRU; if (MatrixType::Flags & Lower) res.Mtype = SLU_TRL; eigen_assert(((MatrixType::Flags & SelfAdjoint)==0) && "SelfAdjoint matrix shape not supported by SuperLU"); }