Path Tracer
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 >:
Eigen::EigenBase< Derived >

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 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 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

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

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
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

Constructor & Destructor Documentation

◆ SolverBase()

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

Default constructor

Member Function Documentation

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

◆ derived() [1/2]

template<typename Derived >
EIGEN_DEVICE_FUNC Derived& Eigen::EigenBase< Derived >::derived
inline
Returns
a reference to the derived object

◆ derived() [2/2]

template<typename Derived >
EIGEN_DEVICE_FUNC const Derived& Eigen::EigenBase< Derived >::derived
inline
Returns
a const reference to the derived object

◆ 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.

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

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