Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
Eigen::SolverBase< Derived > Class Template Reference

A base class for matrix decomposition and solvers. More...

#include <SolverBase.h>

Inheritance diagram for Eigen::SolverBase< Derived >:
Inheritance graph
[legend]

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, NumDimensions = int(MaxSizeAtCompileTime) == 1 ? 0 : bool(IsVectorAtCompileTime) ? 1 : 2
}
 
typedef internal::conditional< NumTraits< Scalar >::IsComplex, CwiseUnaryOp< internal::scalar_conjugate_op< Scalar >, ConstTransposeReturnType >, ConstTransposeReturnType >::type AdjointReturnType
 
typedef EigenBase< Derived > Base
 
typedef Scalar CoeffReturnType
 
typedef internal::add_const< Transpose< const Derived > >::type ConstTransposeReturnType
 
typedef internal::traits< Derived >::Scalar Scalar
 
- Public Types inherited from Eigen::EigenBase< Derived >
typedef Eigen::Index Index
 The interface type of indices. More...
 
typedef internal::traits< Derived >::StorageKind StorageKind
 

Public Member Functions

AdjointReturnType adjoint () const
 
template<typename Rhs >
const Solve< Derived, Rhs > solve (const MatrixBase< Rhs > &b) const
 
 SolverBase ()
 
ConstTransposeReturnType transpose () const
 
 ~SolverBase ()
 
- Public Member Functions inherited from Eigen::EigenBase< Derived >
template<typename Dest >
EIGEN_DEVICE_FUNC void addTo (Dest &dst) const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void applyThisOnTheLeft (Dest &dst) const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void applyThisOnTheRight (Dest &dst) const
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC Derived & const_cast_derived () const
 
EIGEN_DEVICE_FUNC const Derived & const_derived () const
 
EIGEN_DEVICE_FUNC Derived & derived ()
 
EIGEN_DEVICE_FUNC const Derived & derived () const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void evalTo (Dest &dst) const
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index size () const EIGEN_NOEXCEPT
 
template<typename Dest >
EIGEN_DEVICE_FUNC void subTo (Dest &dst) const
 

Protected Member Functions

template<bool Transpose_, typename Rhs >
void _check_solve_assertion (const Rhs &b) const
 

Friends

template<typename Derived_ >
struct internal::solve_assertion
 

Detailed Description

template<typename Derived>
class Eigen::SolverBase< Derived >

A base class for matrix decomposition and solvers.

Template Parameters
Derivedthe actual type of the decomposition/solver.

Any matrix decomposition inheriting this base class provide the following API:

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
Warning
Currently, any other usage of transpose() and adjoint() are not supported and will produce compilation errors.
See also
class PartialPivLU, class FullPivLU, class HouseholderQR, class ColPivHouseholderQR, class FullPivHouseholderQR, class CompleteOrthogonalDecomposition, class LLT, class LDLT, class SVDBase

Definition at line 68 of file SolverBase.h.

Member Typedef Documentation

◆ AdjointReturnType

Definition at line 130 of file SolverBase.h.

◆ Base

template<typename Derived>
typedef EigenBase<Derived> Eigen::SolverBase< Derived >::Base

Definition at line 72 of file SolverBase.h.

◆ CoeffReturnType

template<typename Derived>
typedef Scalar Eigen::SolverBase< Derived >::CoeffReturnType

Definition at line 74 of file SolverBase.h.

◆ ConstTransposeReturnType

template<typename Derived>
typedef internal::add_const<Transpose<const Derived> >::type Eigen::SolverBase< Derived >::ConstTransposeReturnType

Definition at line 113 of file SolverBase.h.

◆ Scalar

template<typename Derived>
typedef internal::traits<Derived>::Scalar Eigen::SolverBase< Derived >::Scalar

Definition at line 73 of file SolverBase.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename Derived>
anonymous enum
Enumerator
RowsAtCompileTime 
ColsAtCompileTime 
SizeAtCompileTime 
MaxRowsAtCompileTime 
MaxColsAtCompileTime 
MaxSizeAtCompileTime 
IsVectorAtCompileTime 
NumDimensions 

Definition at line 79 of file SolverBase.h.

Constructor & Destructor Documentation

◆ SolverBase()

template<typename Derived>
Eigen::SolverBase< Derived >::SolverBase ( )
inline

Default constructor

Definition at line 94 of file SolverBase.h.

◆ ~SolverBase()

template<typename Derived>
Eigen::SolverBase< Derived >::~SolverBase ( )
inline

Definition at line 97 of file SolverBase.h.

Member Function Documentation

◆ _check_solve_assertion()

template<typename Derived>
template<bool Transpose_, typename Rhs >
void Eigen::SolverBase< Derived >::_check_solve_assertion ( const Rhs &  b) const
inlineprotected

Definition at line 148 of file SolverBase.h.

◆ adjoint()

template<typename Derived>
AdjointReturnType Eigen::SolverBase< Derived >::adjoint ( ) const
inline
Returns
an expression of the adjoint of the factored matrix

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().

See also
transpose(), solve()

Definition at line 140 of file SolverBase.h.

◆ solve()

template<typename Derived>
template<typename Rhs >
const Solve<Derived, Rhs> Eigen::SolverBase< Derived >::solve ( const MatrixBase< Rhs > &  b) const
inline
Returns
an expression of the solution x of $ A x = b $ using the current decomposition of A.

Definition at line 106 of file SolverBase.h.

◆ transpose()

template<typename Derived>
ConstTransposeReturnType Eigen::SolverBase< Derived >::transpose ( ) const
inline
Returns
an expression of the transposed of the factored matrix.

A typical usage is to solve for the transposed problem A^T x = b:

x = dec.transpose().solve(b);
See also
adjoint(), solve()

Definition at line 121 of file SolverBase.h.

Friends And Related Function Documentation

◆ internal::solve_assertion

template<typename Derived>
template<typename Derived_ >
friend struct internal::solve_assertion
friend

Definition at line 77 of file SolverBase.h.


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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:43:17