TRIQS/nda 1.3.0
Multi-dimensional array library for C++
Loading...
Searching...
No Matches
det.hpp

Detailed Description

Provides functions to compute the determinant of a matrix.

Definition in file det.hpp.

Go to the source code of this file.

Functions

template<typename... A>
requires (nda::clef::is_any_lazy<A...>)
auto nda::clef::det (A &&...__a)
 Lazy version of nda::linalg::det.
template<Matrix M>
requires (get_algebra<M> == 'M' and nda::mem::have_host_compatible_addr_space<M> and is_blas_lapack_v<get_value_t<M>>)
auto nda::clef::det (M const &m)
 Compute the determinant of an \( n \times n \) matrix \( \mathbf{M} \).
template<Matrix M>
requires (get_algebra<M> == 'M' and nda::mem::have_host_compatible_addr_space<M> and is_blas_lapack_v<get_value_t<M>>)
auto nda::linalg::det (M const &m)
 Compute the determinant of an \( n \times n \) matrix \( \mathbf{M} \).
template<Matrix M>
requires (get_algebra<M> == 'M' and nda::mem::have_host_compatible_addr_space<M> and is_blas_lapack_v<get_value_t<M>>)
auto nda::linalg::det_in_place (M &&m)
 Compute the determinant of an \( n \times n \) matrix \( \mathbf{M} \).

Function Documentation

◆ det()

template<Matrix M>
requires (get_algebra<M> == 'M' and nda::mem::have_host_compatible_addr_space<M> and is_blas_lapack_v<get_value_t<M>>)
auto nda::linalg::det ( M const & m)

Compute the determinant of an \( n \times n \) matrix \( \mathbf{M} \).

The given matrix/view is not modified. It first makes a copy of the matrix/view and then calls nda::linalg::det_in_place.

Template Parameters
Mnda::MemoryMatrix type.
Parameters
mInput matrix. The matrix \( \mathbf{M} \).
Returns
The determinant \( \det(\mathbf{M}) \).

Definition at line 95 of file det.hpp.