Tatooine
Functions
GESV

General Solve. More...

Collaboration diagram for GESV:

Functions

template<std::floating_point Float>
auto tatooine::lapack::gesv (int N, int NRHS, Float *A, int LDA, int *IPIV, Float *B, int LDB) -> int
 
template<typename T , size_t N>
auto tatooine::lapack::gesv (tensor< T, N, N > &A, tensor< T, N > &b, tensor< int, N > &ipiv)
 
template<typename T , size_t N, size_t K>
auto tatooine::lapack::gesv (tensor< T, N, N > &A, tensor< T, N, K > &B, tensor< int, N > &ipiv)
 
template<typename T >
auto tatooine::lapack::gesv (tensor< T > &A, tensor< T > &B, tensor< int > &ipiv)
 

Detailed Description

General Solve.

GESV computes the solution to a real system of linear equations \(\mA\mX = \mB\) where \(\mA\) is an \(n\times n\) matrix and \(\mX\) and \(\mB\) are \(n\times m\) matrices.

The LU decomposition with partial pivoting and row interchanges is used to factor \(\mA\) as \(\mA = \mP\cdot\mL\cdot\mU\) where \(\mP\) is a permutation matrix, \(\mL\) is unit lower triangular, and \(\mU\) is upper triangular. The factored form of \(\mA\) is then used to solve the system of equations \(\mA\cdot\mX=\mB\).

Function Documentation

◆ gesv() [1/4]

template<std::floating_point Float>
auto tatooine::lapack::gesv ( int  N,
int  NRHS,
Float *  A,
int  LDA,
int *  IPIV,
Float *  B,
int  LDB 
) -> int

◆ gesv() [2/4]

template<typename T >
auto tatooine::lapack::gesv ( tensor< T > &  A,
tensor< T > &  B,
tensor< int > &  ipiv 
)

◆ gesv() [3/4]

template<typename T , size_t N>
auto tatooine::lapack::gesv ( tensor< T, N, N > &  A,
tensor< T, N > &  b,
tensor< int, N > &  ipiv 
)

◆ gesv() [4/4]

template<typename T , size_t N, size_t K>
auto tatooine::lapack::gesv ( tensor< T, N, N > &  A,
tensor< T, N, K > &  B,
tensor< int, N > &  ipiv 
)