Merged in f5soh/librepilot/update_credits (pull request #529)
[librepilot.git] / ground / gcs / src / libs / eigen / doc / MatrixfreeSolverExample.dox
blob3efa292b56a6d04fb542441bd14e465cf5a50060
2 namespace Eigen {
4 /**
6 \eigenManualPage MatrixfreeSolverExample Matrix-free solvers
8 Iterative solvers such as ConjugateGradient and BiCGSTAB can be used in a matrix free context. To this end, user must provide a wrapper class inheriting EigenBase<> and implementing the following methods:
9  - \c Index \c rows() and \c Index \c cols(): returns number of rows and columns respectively
10  - \c operator* with your type and an %Eigen dense column vector (its actual implementation goes in a specialization of the internal::generic_product_impl class)
12 \c Eigen::internal::traits<> must also be specialized for the wrapper type.
14 Here is a complete example wrapping an Eigen::SparseMatrix:
15 \include matrixfree_cg.cpp
16 Output: \verbinclude matrixfree_cg.out