Drake
Drake C++ Documentation
ImplicitIntegrator< T >::IterationMatrix Class Reference

Detailed Description

template<class T>
class drake::systems::ImplicitIntegrator< T >::IterationMatrix

A class for storing the factorization of an iteration matrix and using it to solve linear systems of equations.

This class exists simply because Eigen AutoDiff puts limitations on what kinds of factorizations can be used; encapsulating the iteration matrix factorizations like this frees the implementer of these kinds of details.

#include <drake/systems/analysis/implicit_integrator.h>

Public Member Functions

void SetAndFactorIterationMatrix (const MatrixX< T > &iteration_matrix)
 Factors a dense matrix (the iteration matrix) using LU factorization, which should be faster than the QR factorization used in the specialized template method for AutoDiffXd below. More...
 
VectorX< T > Solve (const VectorX< T > &b) const
 Solves a linear system Ax = b for x using the iteration matrix (A) factored using LU decomposition. More...
 
bool matrix_factored () const
 Returns whether the iteration matrix has been set and factored. More...
 
template<>
void SetAndFactorIterationMatrix (const MatrixX< AutoDiffXd > &iteration_matrix)
 
template<>
VectorX< AutoDiffXdSolve (const VectorX< AutoDiffXd > &b) const
 

Member Function Documentation

◆ matrix_factored()

bool matrix_factored ( ) const

Returns whether the iteration matrix has been set and factored.

◆ SetAndFactorIterationMatrix() [1/2]

void SetAndFactorIterationMatrix ( const MatrixX< T > &  iteration_matrix)

Factors a dense matrix (the iteration matrix) using LU factorization, which should be faster than the QR factorization used in the specialized template method for AutoDiffXd below.

◆ SetAndFactorIterationMatrix() [2/2]

void SetAndFactorIterationMatrix ( const MatrixX< AutoDiffXd > &  iteration_matrix)

◆ Solve() [1/2]

VectorX<T> Solve ( const VectorX< T > &  b) const

Solves a linear system Ax = b for x using the iteration matrix (A) factored using LU decomposition.

See also
Factor()

◆ Solve() [2/2]

VectorX< AutoDiffXd > Solve ( const VectorX< AutoDiffXd > &  b) const

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