akreon-linalg
Fixed-size linear algebra and numerical methods in C++26.
Loading...
Searching...
No Matches
linalg::MatrixInverse< MatIn > Struct Template Reference

Matrix inverse via QR. More...

#include <matrix_inverse.hpp>

Public Types

using Mat = linalg::remove_cvref_t< MatIn >
 
using T = matrix_scalar_t< Mat >
 

Public Member Functions

constexpr auto operator() (const Mat &A) const
 Compute the inverse by solving against identity columns.
 
constexpr auto apply (const Mat &A) const
 Compute the inverse by solving against identity columns.
 

Static Public Attributes

static constexpr std::size_t N = mat_rows_v<Mat>
 

Detailed Description

template<MatrixContainer MatIn>
struct linalg::MatrixInverse< MatIn >

Matrix inverse via QR.

Template Parameters
MatInSquare input matrix type.

Definition at line 20 of file matrix_inverse.hpp.

Member Typedef Documentation

◆ Mat

template<MatrixContainer MatIn>
using linalg::MatrixInverse< MatIn >::Mat = linalg::remove_cvref_t<MatIn>

Definition at line 21 of file matrix_inverse.hpp.

◆ T

template<MatrixContainer MatIn>
using linalg::MatrixInverse< MatIn >::T = matrix_scalar_t<Mat>

Definition at line 22 of file matrix_inverse.hpp.

Member Function Documentation

◆ apply()

template<MatrixContainer MatIn>
constexpr auto linalg::MatrixInverse< MatIn >::apply ( const Mat &  A) const
inlineconstexpr

Compute the inverse by solving against identity columns.

Parameters
[in]ASquare input matrix.
Returns
Tuple (Mat inverse, NumericalEvent event); inverse is complete only when event is NONE.

Definition at line 42 of file matrix_inverse.hpp.

References linalg::mat_rows_v, linalg::MatrixInverse< MatIn >::N, and linalg::NONE.

Referenced by linalg::MatrixInverse< MatIn >::operator()().

◆ operator()()

template<MatrixContainer MatIn>
constexpr auto linalg::MatrixInverse< MatIn >::operator() ( const Mat &  A) const
inlineconstexpr

Compute the inverse by solving against identity columns.

Parameters
[in]ASquare input matrix.
Returns
Tuple (Mat inverse, NumericalEvent event); inverse is complete only when event is NONE.

Definition at line 33 of file matrix_inverse.hpp.

References linalg::MatrixInverse< MatIn >::apply(), and linalg::mat_rows_v.

Member Data Documentation

◆ N

template<MatrixContainer MatIn>
constexpr std::size_t linalg::MatrixInverse< MatIn >::N = mat_rows_v<Mat>
staticconstexpr

Definition at line 23 of file matrix_inverse.hpp.

Referenced by linalg::MatrixInverse< MatIn >::apply().


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