|
Heidelberg Educational Numerics Library Version 0.27 (from 15 March 2021)
|
This file implements LU decomposition. More...
#include "vector.hh"#include "densematrix.hh"Go to the source code of this file.
Functions | |
| template<class T > | |
| void | hdnum::lr (DenseMatrix< T > &A, Vector< std::size_t > &p) |
| compute lr decomposition of A with first nonzero pivoting | |
| template<class T > | |
| T | hdnum::abs (const T &t) |
| our own abs class that works also for multiprecision types | |
| template<class T > | |
| void | hdnum::lr_partialpivot (DenseMatrix< T > &A, Vector< std::size_t > &p) |
| lr decomposition of A with column pivoting | |
| template<class T > | |
| void | hdnum::lr_fullpivot (DenseMatrix< T > &A, Vector< std::size_t > &p, Vector< std::size_t > &q) |
| lr decomposition of A with full pivoting | |
| template<class T > | |
| void | hdnum::permute_forward (const Vector< std::size_t > &p, Vector< T > &b) |
| apply permutations to a right hand side vector | |
| template<class T > | |
| void | hdnum::permute_backward (const Vector< std::size_t > &q, Vector< T > &z) |
| apply permutations to a solution vector | |
| template<class T > | |
| void | hdnum::row_equilibrate (DenseMatrix< T > &A, Vector< T > &s) |
| perform a row equilibration of a matrix; return scaling for later use | |
| template<class T > | |
| void | hdnum::apply_equilibrate (Vector< T > &s, Vector< T > &b) |
| apply row equilibration to right hand side vector | |
| template<class T > | |
| void | hdnum::solveL (const DenseMatrix< T > &A, Vector< T > &x, const Vector< T > &b) |
| Assume L = lower triangle of A with l_ii=1, solve L x = b. | |
| template<class T > | |
| void | hdnum::solveR (const DenseMatrix< T > &A, Vector< T > &x, const Vector< T > &b) |
| Assume R = upper triangle of A and solve R x = b. | |
| template<class T > | |
| void | hdnum::linsolve (DenseMatrix< T > &A, Vector< T > &x, Vector< T > &b) |
| a complete solver; Note A, x and b are modified! | |
This file implements LU decomposition.