Utility functor for solving the equation linear system \(Ax=b\) using LU factorisation with partial pivoting of \(A\) for a square matrix.
More...
#include <ptems/matrix.hpp>
|
constexpr | BasicLUFactorisation (const BasicMatrix< T, N, N > &matrix) |
| LU factorise, with partial pivoting, the specified matrix. More...
|
|
constexpr | BasicLUFactorisation (BasicMatrix< T, N, N > &&matrix) |
| LU factorise, with partial pivoting, the specified matrix. More...
|
|
template<typename... Args> |
constexpr | BasicLUFactorisation (Args... args) |
| LU factorise, with partial pivoting, the specified matrix. More...
|
|
constexpr BasicVector< T, N > | operator() (BasicVector< T, N > rhs) const |
| Solve the linear system \(Ax=b\) for the matrix \(A\) this functor was constructed with, and specified right hand side \(b\). More...
|
|
template<typename T, std::size_t N>
class ptems::BasicLUFactorisation< T, N >
Utility functor for solving the equation linear system \(Ax=b\) using LU factorisation with partial pivoting of \(A\) for a square matrix.
- Note
- This is a basic implementation of LU factorisation which should be sufficient for small-ish matrices. For larger matrices a specialised linear algebra library is recommended.
- Template Parameters
-
T | The type of the matrix entries |
N | The size of the matrix (both dimensions) |
◆ BasicLUFactorisation() [1/3]
template<typename T , std::size_t N>
LU factorise, with partial pivoting, the specified matrix.
- Exceptions
-
- Parameters
-
matrix | Matrix to perform LU factorisation on |
◆ BasicLUFactorisation() [2/3]
template<typename T , std::size_t N>
LU factorise, with partial pivoting, the specified matrix.
- Exceptions
-
- Parameters
-
matrix | Matrix to perform LU factorisation on |
◆ BasicLUFactorisation() [3/3]
template<typename T , std::size_t N>
template<typename... Args>
LU factorise, with partial pivoting, the specified matrix.
- Exceptions
-
- Parameters
-
args | Arguments to forward to a BasicMatrix<T,N,N> constructor to create the matrix to LU factorise. |
◆ operator()()
template<typename T , std::size_t N>
Solve the linear system \(Ax=b\) for the matrix \(A\) this functor was constructed with, and specified right hand side \(b\).
- Parameters
-
rhs | The right hand side vector \(b\) |
- Returns
- The solution vector \(x=\)
The documentation for this class was generated from the following file: