Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
Eigen::UmfPackLU< _MatrixType > Class Template Reference

A sparse LU factorization and solver based on UmfPack. More...

#include <UmfPackSupport.h>

Inheritance diagram for Eigen::UmfPackLU< _MatrixType >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef MatrixType::Index Index
typedef Matrix< int,
MatrixType::RowsAtCompileTime, 1 > 
IntColVectorType
typedef Matrix< int,
1, MatrixType::ColsAtCompileTime > 
IntRowVectorType
typedef SparseMatrix< ScalarLUMatrixType
typedef _MatrixType MatrixType
typedef MatrixType::RealScalar RealScalar
typedef MatrixType::Scalar Scalar
typedef SparseMatrix< Scalar,
ColMajor, int
UmfpackMatrixType
typedef Matrix< Scalar,
Dynamic, 1 > 
Vector

Public Member Functions

template<typename BDerived , typename XDerived >
bool _solve (const MatrixBase< BDerived > &b, MatrixBase< XDerived > &x) const
template<typename InputMatrixType >
void analyzePattern (const InputMatrixType &matrix)
Index cols () const
template<typename InputMatrixType >
void compute (const InputMatrixType &matrix)
Scalar determinant () const
void extractData () const
template<typename InputMatrixType >
void factorize (const InputMatrixType &matrix)
ComputationInfo info () const
 Reports whether previous computation was successful.
const LUMatrixTypematrixL () const
const LUMatrixTypematrixU () const
const IntColVectorTypepermutationP () const
const IntRowVectorTypepermutationQ () const
Index rows () const
template<typename Rhs >
const internal::solve_retval
< UmfPackLU, Rhs > 
solve (const MatrixBase< Rhs > &b) const
template<typename Rhs >
const
internal::sparse_solve_retval
< UmfPackLU, Rhs > 
solve (const SparseMatrixBase< Rhs > &b) const
 UmfPackLU ()
 UmfPackLU (const MatrixType &matrix)
 ~UmfPackLU ()

Protected Member Functions

void analyzePattern_impl ()
void factorize_impl ()
template<typename InputMatrixType >
void grapInput (const InputMatrixType &mat)
template<typename InputMatrixType >
void grapInput_impl (const InputMatrixType &mat, internal::true_type)
template<typename InputMatrixType >
void grapInput_impl (const InputMatrixType &mat, internal::false_type)
void init ()

Protected Attributes

int m_analysisIsOk
UmfpackMatrixType m_copyMatrix
bool m_extractedDataAreDirty
int m_factorizationIsOk
ComputationInfo m_info
const intm_innerIndexPtr
bool m_isInitialized
LUMatrixType m_l
voidm_numeric
const intm_outerIndexPtr
IntColVectorType m_p
IntRowVectorType m_q
voidm_symbolic
LUMatrixType m_u
const Scalarm_valuePtr

Private Member Functions

 UmfPackLU (UmfPackLU &)

Detailed Description

template<typename _MatrixType>
class Eigen::UmfPackLU< _MatrixType >

A sparse LU factorization and solver based on UmfPack.

This class allows to solve for A.X = B sparse linear problems via a LU factorization using the UmfPack library. The sparse matrix A must be squared and full rank. The vectors or matrices X and B can be either dense or sparse.

Warning:
The input matrix A should be in a compressed and column-major form. Otherwise an expensive copy will be made. You can call the inexpensive makeCompressed() to get a compressed matrix.
Template Parameters:
_MatrixTypethe type of the sparse matrix A, it must be a SparseMatrix<>
See also:
TutorialSparseDirectSolvers

Definition at line 134 of file UmfPackSupport.h.


Member Typedef Documentation

template<typename _MatrixType>
typedef MatrixType::Index Eigen::UmfPackLU< _MatrixType >::Index

Definition at line 140 of file UmfPackSupport.h.

template<typename _MatrixType>
typedef Matrix<int, MatrixType::RowsAtCompileTime, 1> Eigen::UmfPackLU< _MatrixType >::IntColVectorType

Definition at line 143 of file UmfPackSupport.h.

template<typename _MatrixType>
typedef Matrix<int, 1, MatrixType::ColsAtCompileTime> Eigen::UmfPackLU< _MatrixType >::IntRowVectorType

Definition at line 142 of file UmfPackSupport.h.

template<typename _MatrixType>
typedef SparseMatrix<Scalar> Eigen::UmfPackLU< _MatrixType >::LUMatrixType

Definition at line 144 of file UmfPackSupport.h.

template<typename _MatrixType>
typedef _MatrixType Eigen::UmfPackLU< _MatrixType >::MatrixType

Definition at line 137 of file UmfPackSupport.h.

template<typename _MatrixType>
typedef MatrixType::RealScalar Eigen::UmfPackLU< _MatrixType >::RealScalar

Definition at line 139 of file UmfPackSupport.h.

template<typename _MatrixType>
typedef MatrixType::Scalar Eigen::UmfPackLU< _MatrixType >::Scalar

Definition at line 138 of file UmfPackSupport.h.

template<typename _MatrixType>
typedef SparseMatrix<Scalar,ColMajor,int> Eigen::UmfPackLU< _MatrixType >::UmfpackMatrixType

Definition at line 145 of file UmfPackSupport.h.

template<typename _MatrixType>
typedef Matrix<Scalar,Dynamic,1> Eigen::UmfPackLU< _MatrixType >::Vector

Definition at line 141 of file UmfPackSupport.h.


Constructor & Destructor Documentation

template<typename _MatrixType>
Eigen::UmfPackLU< _MatrixType >::UmfPackLU ( ) [inline]

Definition at line 149 of file UmfPackSupport.h.

template<typename _MatrixType>
Eigen::UmfPackLU< _MatrixType >::UmfPackLU ( const MatrixType matrix) [inline]

Definition at line 151 of file UmfPackSupport.h.

template<typename _MatrixType>
Eigen::UmfPackLU< _MatrixType >::~UmfPackLU ( ) [inline]

Definition at line 157 of file UmfPackSupport.h.

template<typename _MatrixType>
Eigen::UmfPackLU< _MatrixType >::UmfPackLU ( UmfPackLU< _MatrixType > &  ) [inline, private]

Definition at line 379 of file UmfPackSupport.h.


Member Function Documentation

template<typename MatrixType >
template<typename BDerived , typename XDerived >
bool Eigen::UmfPackLU< MatrixType >::_solve ( const MatrixBase< BDerived > &  b,
MatrixBase< XDerived > &  x 
) const

Definition at line 421 of file UmfPackSupport.h.

template<typename _MatrixType>
template<typename InputMatrixType >
void Eigen::UmfPackLU< _MatrixType >::analyzePattern ( const InputMatrixType &  matrix) [inline]

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(), compute()

Definition at line 248 of file UmfPackSupport.h.

template<typename _MatrixType>
void Eigen::UmfPackLU< _MatrixType >::analyzePattern_impl ( ) [inline, protected]

Definition at line 335 of file UmfPackSupport.h.

template<typename _MatrixType>
Index Eigen::UmfPackLU< _MatrixType >::cols ( void  ) const [inline]

Definition at line 164 of file UmfPackSupport.h.

template<typename _MatrixType>
template<typename InputMatrixType >
void Eigen::UmfPackLU< _MatrixType >::compute ( const InputMatrixType &  matrix) [inline]

Computes the sparse Cholesky decomposition of matrix Note that the matrix should be column-major, and in compressed format for best performance.

See also:
SparseMatrix::makeCompressed().

Definition at line 206 of file UmfPackSupport.h.

template<typename MatrixType >
UmfPackLU< MatrixType >::Scalar Eigen::UmfPackLU< MatrixType >::determinant ( ) const

Definition at line 412 of file UmfPackSupport.h.

template<typename MatrixType >
void Eigen::UmfPackLU< MatrixType >::extractData ( ) const

Definition at line 384 of file UmfPackSupport.h.

template<typename _MatrixType>
template<typename InputMatrixType >
void Eigen::UmfPackLU< _MatrixType >::factorize ( const InputMatrixType &  matrix) [inline]

Performs a numeric decomposition of matrix

The given matrix must has the same sparcity than the matrix on which the pattern anylysis has been performed.

See also:
analyzePattern(), compute()

Definition at line 265 of file UmfPackSupport.h.

template<typename _MatrixType>
void Eigen::UmfPackLU< _MatrixType >::factorize_impl ( ) [inline, protected]

Definition at line 348 of file UmfPackSupport.h.

template<typename _MatrixType>
template<typename InputMatrixType >
void Eigen::UmfPackLU< _MatrixType >::grapInput ( const InputMatrixType &  mat) [inline, protected]

Definition at line 330 of file UmfPackSupport.h.

template<typename _MatrixType>
template<typename InputMatrixType >
void Eigen::UmfPackLU< _MatrixType >::grapInput_impl ( const InputMatrixType &  mat,
internal::true_type   
) [inline, protected]

Definition at line 301 of file UmfPackSupport.h.

template<typename _MatrixType>
template<typename InputMatrixType >
void Eigen::UmfPackLU< _MatrixType >::grapInput_impl ( const InputMatrixType &  mat,
internal::false_type   
) [inline, protected]

Definition at line 321 of file UmfPackSupport.h.

template<typename _MatrixType>
ComputationInfo Eigen::UmfPackLU< _MatrixType >::info ( ) const [inline]

Reports whether previous computation was successful.

Returns:
Success if computation was succesful, NumericalIssue if the matrix.appears to be negative.

Definition at line 171 of file UmfPackSupport.h.

template<typename _MatrixType>
void Eigen::UmfPackLU< _MatrixType >::init ( ) [inline, protected]

Definition at line 288 of file UmfPackSupport.h.

template<typename _MatrixType>
const LUMatrixType& Eigen::UmfPackLU< _MatrixType >::matrixL ( ) const [inline]

Definition at line 177 of file UmfPackSupport.h.

template<typename _MatrixType>
const LUMatrixType& Eigen::UmfPackLU< _MatrixType >::matrixU ( ) const [inline]

Definition at line 183 of file UmfPackSupport.h.

template<typename _MatrixType>
const IntColVectorType& Eigen::UmfPackLU< _MatrixType >::permutationP ( ) const [inline]

Definition at line 189 of file UmfPackSupport.h.

template<typename _MatrixType>
const IntRowVectorType& Eigen::UmfPackLU< _MatrixType >::permutationQ ( ) const [inline]

Definition at line 195 of file UmfPackSupport.h.

template<typename _MatrixType>
Index Eigen::UmfPackLU< _MatrixType >::rows ( void  ) const [inline]

Definition at line 163 of file UmfPackSupport.h.

template<typename _MatrixType>
template<typename Rhs >
const internal::solve_retval<UmfPackLU, Rhs> Eigen::UmfPackLU< _MatrixType >::solve ( const MatrixBase< Rhs > &  b) const [inline]
Returns:
the solution x of $ A x = b $ using the current decomposition of A.
See also:
compute()

Definition at line 220 of file UmfPackSupport.h.

template<typename _MatrixType>
template<typename Rhs >
const internal::sparse_solve_retval<UmfPackLU, Rhs> Eigen::UmfPackLU< _MatrixType >::solve ( const SparseMatrixBase< Rhs > &  b) const [inline]
Returns:
the solution x of $ A x = b $ using the current decomposition of A.
See also:
compute()

Definition at line 233 of file UmfPackSupport.h.


Member Data Documentation

template<typename _MatrixType>
int Eigen::UmfPackLU< _MatrixType >::m_analysisIsOk [protected]

Definition at line 375 of file UmfPackSupport.h.

template<typename _MatrixType>
UmfpackMatrixType Eigen::UmfPackLU< _MatrixType >::m_copyMatrix [protected]

Definition at line 365 of file UmfPackSupport.h.

template<typename _MatrixType>
bool Eigen::UmfPackLU< _MatrixType >::m_extractedDataAreDirty [mutable, protected]

Definition at line 376 of file UmfPackSupport.h.

template<typename _MatrixType>
int Eigen::UmfPackLU< _MatrixType >::m_factorizationIsOk [protected]

Definition at line 374 of file UmfPackSupport.h.

template<typename _MatrixType>
ComputationInfo Eigen::UmfPackLU< _MatrixType >::m_info [mutable, protected]

Definition at line 372 of file UmfPackSupport.h.

template<typename _MatrixType>
const int* Eigen::UmfPackLU< _MatrixType >::m_innerIndexPtr [protected]

Definition at line 368 of file UmfPackSupport.h.

template<typename _MatrixType>
bool Eigen::UmfPackLU< _MatrixType >::m_isInitialized [protected]

Definition at line 373 of file UmfPackSupport.h.

template<typename _MatrixType>
LUMatrixType Eigen::UmfPackLU< _MatrixType >::m_l [mutable, protected]

Definition at line 360 of file UmfPackSupport.h.

template<typename _MatrixType>
void* Eigen::UmfPackLU< _MatrixType >::m_numeric [protected]

Definition at line 369 of file UmfPackSupport.h.

template<typename _MatrixType>
const int* Eigen::UmfPackLU< _MatrixType >::m_outerIndexPtr [protected]

Definition at line 367 of file UmfPackSupport.h.

template<typename _MatrixType>
IntColVectorType Eigen::UmfPackLU< _MatrixType >::m_p [mutable, protected]

Definition at line 362 of file UmfPackSupport.h.

template<typename _MatrixType>
IntRowVectorType Eigen::UmfPackLU< _MatrixType >::m_q [mutable, protected]

Definition at line 363 of file UmfPackSupport.h.

template<typename _MatrixType>
void* Eigen::UmfPackLU< _MatrixType >::m_symbolic [protected]

Definition at line 370 of file UmfPackSupport.h.

template<typename _MatrixType>
LUMatrixType Eigen::UmfPackLU< _MatrixType >::m_u [mutable, protected]

Definition at line 361 of file UmfPackSupport.h.

template<typename _MatrixType>
const Scalar* Eigen::UmfPackLU< _MatrixType >::m_valuePtr [protected]

Definition at line 366 of file UmfPackSupport.h.


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


turtlebot_exploration_3d
Author(s): Bona , Shawn
autogenerated on Thu Jun 6 2019 21:00:58