16#ifndef BT_CONJUGATE_RESIDUAL_H
17#define BT_CONJUGATE_RESIDUAL_H
20template <
class MatrixX>
33 :
Base(max_it_in, 1e-8)
86 btScalar beta = r_dot_Ar_new / r_dot_Ar;
87 r_dot_Ar = r_dot_Ar_new;
95 std::cout <<
"ConjugateResidual max iterations reached, residual = " <<
best_r << std::endl;
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
int size() const
return the number of elements in the array
void resize(int newsize, const T &fillData=T())
btConjugateResidual(const int max_it_in)
int solve(MatrixX &A, TVStack &x, const TVStack &b, bool verbose=false)
void reinitialize(const TVStack &b)
btKrylovSolver< MatrixX > Base
virtual ~btConjugateResidual()
btAlignedObjectArray< btVector3 > TVStack
virtual btScalar norm(const TVStack &a)
virtual btScalar dot(const TVStack &a, const TVStack &b)
virtual TVStack sub(const TVStack &a, const TVStack &b)
virtual void multAndAddTo(btScalar s, const TVStack &a, TVStack &result)
virtual TVStack multAndAdd(btScalar s, const TVStack &a, const TVStack &b)