MOAB
4.9.3pre
|
A base class for matrix decomposition and solvers. More...
#include <SolverBase.h>
Public Types | |
enum | { RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime, ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime, SizeAtCompileTime, MaxRowsAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime, MaxColsAtCompileTime = internal::traits<Derived>::MaxColsAtCompileTime, MaxSizeAtCompileTime, IsVectorAtCompileTime } |
typedef EigenBase< Derived > | Base |
typedef internal::traits < Derived >::Scalar | Scalar |
typedef Scalar | CoeffReturnType |
typedef internal::add_const < Transpose< const Derived > >::type | ConstTransposeReturnType |
typedef internal::conditional < NumTraits< Scalar > ::IsComplex, CwiseUnaryOp < internal::scalar_conjugate_op < Scalar > , ConstTransposeReturnType > , ConstTransposeReturnType > ::type | AdjointReturnType |
Public Member Functions | |
SolverBase () | |
~SolverBase () | |
template<typename Rhs > | |
const Solve< Derived, Rhs > | solve (const MatrixBase< Rhs > &b) const |
ConstTransposeReturnType | transpose () const |
AdjointReturnType | adjoint () const |
A base class for matrix decomposition and solvers.
Derived | the actual type of the decomposition/solver. |
Any matrix decomposition inheriting this base class provide the following API:
MatrixType A, b, x; DecompositionType dec(A); x = dec.solve(b); // solve A * x = b x = dec.transpose().solve(b); // solve A^T * x = b x = dec.adjoint().solve(b); // solve A' * x = b
Definition at line 41 of file SolverBase.h.
typedef internal::conditional<NumTraits<Scalar>::IsComplex, CwiseUnaryOp<internal::scalar_conjugate_op<Scalar>, ConstTransposeReturnType>, ConstTransposeReturnType >::type Eigen::SolverBase< Derived >::AdjointReturnType |
the return type of adjoint()
Definition at line 99 of file SolverBase.h.
typedef EigenBase<Derived> Eigen::SolverBase< Derived >::Base |
Reimplemented in Eigen::PartialPivLU< _MatrixType >, and Eigen::FullPivLU< _MatrixType >.
Definition at line 45 of file SolverBase.h.
typedef Scalar Eigen::SolverBase< Derived >::CoeffReturnType |
Definition at line 47 of file SolverBase.h.
typedef internal::add_const<Transpose<const Derived> >::type Eigen::SolverBase< Derived >::ConstTransposeReturnType |
the return type of transpose()
Definition at line 82 of file SolverBase.h.
typedef internal::traits<Derived>::Scalar Eigen::SolverBase< Derived >::Scalar |
Definition at line 46 of file SolverBase.h.
anonymous enum |
RowsAtCompileTime | |
ColsAtCompileTime | |
SizeAtCompileTime | |
MaxRowsAtCompileTime | |
MaxColsAtCompileTime | |
MaxSizeAtCompileTime | |
IsVectorAtCompileTime |
Definition at line 49 of file SolverBase.h.
{ RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime, ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime, SizeAtCompileTime = (internal::size_at_compile_time<internal::traits<Derived>::RowsAtCompileTime, internal::traits<Derived>::ColsAtCompileTime>::ret), MaxRowsAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime, MaxColsAtCompileTime = internal::traits<Derived>::MaxColsAtCompileTime, MaxSizeAtCompileTime = (internal::size_at_compile_time<internal::traits<Derived>::MaxRowsAtCompileTime, internal::traits<Derived>::MaxColsAtCompileTime>::ret), IsVectorAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime == 1 || internal::traits<Derived>::MaxColsAtCompileTime == 1 };
Eigen::SolverBase< Derived >::SolverBase | ( | ) | [inline] |
Eigen::SolverBase< Derived >::~SolverBase | ( | ) | [inline] |
Definition at line 66 of file SolverBase.h.
{}
AdjointReturnType Eigen::SolverBase< Derived >::adjoint | ( | ) | const [inline] |
A typical usage is to solve for the adjoint problem A' x = b:
x = dec.adjoint().solve(b);
For real scalar types, this function is equivalent to transpose().
Definition at line 109 of file SolverBase.h.
{ return AdjointReturnType(derived().transpose()); }
const Solve<Derived, Rhs> Eigen::SolverBase< Derived >::solve | ( | const MatrixBase< Rhs > & | b | ) | const [inline] |
Reimplemented in Eigen::FullPivLU< _MatrixType >, and Eigen::PartialPivLU< _MatrixType >.
Definition at line 75 of file SolverBase.h.
{ eigen_assert(derived().rows()==b.rows() && "solve(): invalid number of rows of the right hand side matrix b"); return Solve<Derived, Rhs>(derived(), b.derived()); }
ConstTransposeReturnType Eigen::SolverBase< Derived >::transpose | ( | ) | const [inline] |
A typical usage is to solve for the transposed problem A^T x = b:
x = dec.transpose().solve(b);
Definition at line 90 of file SolverBase.h.
{ return ConstTransposeReturnType(derived()); }