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...
The btAlignedObjectArray template class uses a subset of the stl::vector interface for its methods It...
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)
virtual ~btConjugateResidual()
btAlignedObjectArray< btVector3 > TVStack
btKrylovSolver< MatrixX > Base
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)