|
enum | { ScalarIsComplex = NumTraits<Scalar>::IsComplex
} |
|
typedef Traits::MatrixType | MatrixType |
|
typedef Traits::Scalar | Scalar |
|
typedef Traits::RealScalar | RealScalar |
|
typedef Traits::Index | Index |
|
typedef SparseMatrix< Scalar, RowMajor, Index > | SparseMatrixType |
|
typedef Matrix< Scalar, Dynamic, 1 > | VectorType |
|
typedef Matrix< Index, 1, MatrixType::ColsAtCompileTime > | IntRowVectorType |
|
typedef Matrix< Index, MatrixType::RowsAtCompileTime, 1 > | IntColVectorType |
|
typedef Array< Index, 64, 1, DontAlign > | ParameterType |
|
|
void | pardisoRelease () |
|
void | pardisoInit (int type) |
|
void | manageErrorCode (Index error) |
|
template<class Derived>
class Eigen::PardisoImpl< Derived >
Definition at line 99 of file PardisoSupport.h.
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()
Definition at line 308 of file PardisoSupport.h.
311 eigen_assert(m_size == a.cols());
314 memset(m_pt, 0,
sizeof(m_pt));
316 derived().getMatrix(a);
319 error = internal::pardiso_run_selector<Index>::run(m_pt, 1, 1, m_type, 11, m_size,
321 m_perm.
data(), 0, m_iparm.
data(), m_msglvl, NULL, NULL);
323 manageErrorCode(error);
324 m_analysisIsOk =
true;
325 m_factorizationIsOk =
false;
326 m_initialized =
true;
const Index * innerIndexPtr() const
EIGEN_STRONG_INLINE const Scalar * data() const
Derived & setZero(Index size)
const Index * outerIndexPtr() const
const Scalar * valuePtr() const
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()
Definition at line 331 of file PardisoSupport.h.
333 eigen_assert(m_analysisIsOk &&
"You must first call analyzePattern()");
334 eigen_assert(m_size == a.rows() && m_size == a.cols());
336 derived().getMatrix(a);
339 error = internal::pardiso_run_selector<Index>::run(m_pt, 1, 1, m_type, 22, m_size,
341 m_perm.
data(), 0, m_iparm.
data(), m_msglvl, NULL, NULL);
343 manageErrorCode(error);
344 m_factorizationIsOk =
true;
const Index * innerIndexPtr() const
EIGEN_STRONG_INLINE const Scalar * data() const
const Index * outerIndexPtr() const
const Scalar * valuePtr() const
Reports whether previous computation was successful.
- Returns
Success
if computation was succesful, NumericalIssue
if the matrix appears to be negative.
Definition at line 137 of file PardisoSupport.h.
139 eigen_assert(m_initialized &&
"Decomposition is not initialized.");
- Warning
- for advanced usage only.
- Returns
- a reference to the parameter array controlling PARDISO. See the PARDISO manual to know how to use it.
Definition at line 146 of file PardisoSupport.h.
template<class Derived>
template<typename Rhs >
- Returns
- the solution x of using the current decomposition of A.
- See also
- compute()
Definition at line 175 of file PardisoSupport.h.
177 eigen_assert(m_initialized &&
"Pardiso solver is not initialized.");
178 eigen_assert(rows()==b.rows()
179 &&
"PardisoImpl::solve(): invalid number of rows of the right hand side matrix b");
180 return internal::solve_retval<PardisoImpl, Rhs>(*
this, b.derived());
template<class Derived>
template<typename Rhs >
- Returns
- the solution x of using the current decomposition of A.
- See also
- compute()
Definition at line 189 of file PardisoSupport.h.
191 eigen_assert(m_initialized &&
"Pardiso solver is not initialized.");
192 eigen_assert(rows()==b.rows()
193 &&
"PardisoImpl::solve(): invalid number of rows of the right hand side matrix b");
194 return internal::sparse_solve_retval<PardisoImpl, Rhs>(*
this, b.derived());
The documentation for this class was generated from the following file:
- C:/Users/Brig/Documents/ShapeWorksStudio/src/Surfworks/Eigen/src/PardisoSupport/PardisoSupport.h