Blender V5.0
btKrylovSolver< MatrixX > Class Template Referenceabstract

#include <btKrylovSolver.h>

Inherited by btConjugateGradient< MatrixX >, and btConjugateResidual< MatrixX >.

Public Member Functions

 btKrylovSolver (int maxIterations, btScalar tolerance)
virtual ~btKrylovSolver ()
virtual int solve (MatrixX &A, TVStack &x, const TVStack &b, bool verbose=false)=0
virtual void reinitialize (const TVStack &b)=0
virtual SIMD_FORCE_INLINE TVStack sub (const TVStack &a, const TVStack &b)
virtual SIMD_FORCE_INLINE btScalar squaredNorm (const TVStack &a)
virtual SIMD_FORCE_INLINE btScalar norm (const TVStack &a)
virtual SIMD_FORCE_INLINE btScalar dot (const TVStack &a, const TVStack &b)
virtual SIMD_FORCE_INLINE void multAndAddTo (btScalar s, const TVStack &a, TVStack &result)
virtual SIMD_FORCE_INLINE TVStack multAndAdd (btScalar s, const TVStack &a, const TVStack &b)
virtual SIMD_FORCE_INLINE void setTolerance (btScalar tolerance)

Public Attributes

int m_maxIterations
btScalar m_tolerance

Detailed Description

template<class MatrixX>
class btKrylovSolver< MatrixX >

Definition at line 27 of file btKrylovSolver.h.

Constructor & Destructor Documentation

◆ btKrylovSolver()

template<class MatrixX>
btKrylovSolver< MatrixX >::btKrylovSolver ( int maxIterations,
btScalar tolerance )
inline

Definition at line 34 of file btKrylovSolver.h.

References m_maxIterations, and m_tolerance.

Referenced by btConjugateGradient< MatrixX >::btConjugateGradient().

◆ ~btKrylovSolver()

template<class MatrixX>
virtual btKrylovSolver< MatrixX >::~btKrylovSolver ( )
inlinevirtual

Definition at line 39 of file btKrylovSolver.h.

Member Function Documentation

◆ dot()

template<class MatrixX>
virtual SIMD_FORCE_INLINE btScalar btKrylovSolver< MatrixX >::dot ( const TVStack & a,
const TVStack & b )
inlinevirtual

◆ multAndAdd()

template<class MatrixX>
virtual SIMD_FORCE_INLINE TVStack btKrylovSolver< MatrixX >::multAndAdd ( btScalar s,
const TVStack & a,
const TVStack & b )
inlinevirtual

◆ multAndAddTo()

template<class MatrixX>
virtual SIMD_FORCE_INLINE void btKrylovSolver< MatrixX >::multAndAddTo ( btScalar s,
const TVStack & a,
TVStack & result )
inlinevirtual

◆ norm()

template<class MatrixX>
virtual SIMD_FORCE_INLINE btScalar btKrylovSolver< MatrixX >::norm ( const TVStack & a)
inlinevirtual

Definition at line 63 of file btKrylovSolver.h.

References btFabs(), btMax(), i, ret, SIMD_FORCE_INLINE, and btAlignedObjectArray< T >::size().

◆ reinitialize()

template<class MatrixX>
virtual void btKrylovSolver< MatrixX >::reinitialize ( const TVStack & b)
pure virtual

◆ setTolerance()

template<class MatrixX>
virtual SIMD_FORCE_INLINE void btKrylovSolver< MatrixX >::setTolerance ( btScalar tolerance)
inlinevirtual

Definition at line 102 of file btKrylovSolver.h.

References m_tolerance, and SIMD_FORCE_INLINE.

◆ solve()

template<class MatrixX>
virtual int btKrylovSolver< MatrixX >::solve ( MatrixX & A,
TVStack & x,
const TVStack & b,
bool verbose = false )
pure virtual

◆ squaredNorm()

template<class MatrixX>
virtual SIMD_FORCE_INLINE btScalar btKrylovSolver< MatrixX >::squaredNorm ( const TVStack & a)
inlinevirtual

Definition at line 58 of file btKrylovSolver.h.

References dot(), and SIMD_FORCE_INLINE.

◆ sub()

template<class MatrixX>
virtual SIMD_FORCE_INLINE TVStack btKrylovSolver< MatrixX >::sub ( const TVStack & a,
const TVStack & b )
inlinevirtual

Member Data Documentation

◆ m_maxIterations

template<class MatrixX>
int btKrylovSolver< MatrixX >::m_maxIterations

◆ m_tolerance

template<class MatrixX>
btScalar btKrylovSolver< MatrixX >::m_tolerance

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