| 
    TRIQS/nda 1.3.0
    
   Multi-dimensional array library for C++ 
   | 
 
#include "../basic_array.hpp"#include "../basic_functions.hpp"#include "../clef/make_lazy.hpp"#include "../concepts.hpp"#include "../exceptions.hpp"#include "../lapack/getrf.hpp"#include "../lapack/getri.hpp"#include "../layout/policies.hpp"#include "../matrix_functions.hpp"#include "../mem/address_space.hpp"#include "../mem/policies.hpp"#include "../print.hpp"#include "../traits.hpp"#include <iostream>#include <type_traits>#include <utility>Provides functions to compute the determinant and inverse of a matrix.
Definition in file det_and_inverse.hpp.
Go to the source code of this file.
Functions | |
| 
template<typename... A>  requires (nda::clef::is_any_lazy<A...>)  | |
| auto | nda::clef::determinant (A &&...__a) | 
| Lazy version of nda::determinant.  | |
| template<typename M> | |
| auto | nda::determinant (M const &m) | 
| Compute the determinant of a square matrix/view.   | |
| template<typename M>  requires (is_matrix_or_view_v<M>)  | |
| auto | nda::determinant_in_place (M &m) | 
| Compute the determinant of a square matrix/view.   | |
| 
template<typename... A>  requires (nda::clef::is_any_lazy<A...>)  | |
| auto | nda::clef::inverse (A &&...__a) | 
| Lazy version of nda::inverse.  | |
| template<Matrix M>  requires (get_algebra<M> == 'M')  | |
| auto | nda::inverse (M const &m) | 
| Compute the inverse of an n-by-n matrix.   | |
| template<MemoryMatrix M>  requires (get_algebra<M> == 'M' and mem::on_host<M>)  | |
| void | nda::inverse1_in_place (M &&m) | 
| Compute the inverse of a 1-by-1 matrix.   | |
| template<MemoryMatrix M>  requires (get_algebra<M> == 'M' and mem::on_host<M>)  | |
| void | nda::inverse2_in_place (M &&m) | 
| Compute the inverse of a 2-by-2 matrix.   | |
| template<MemoryMatrix M>  requires (get_algebra<M> == 'M' and mem::on_host<M>)  | |
| void | nda::inverse3_in_place (M &&m) | 
| Compute the inverse of a 3-by-3 matrix.   | |
| template<MemoryMatrix M>  requires (get_algebra<M> == 'M')  | |
| void | nda::inverse_in_place (M &&m) | 
| Compute the inverse of an n-by-n matrix.   | |
| template<typename A> | |
| bool | nda::is_matrix_diagonal (A const &a, bool print_error=false) | 
| Check if a given array/view is diagonal, i.e. if it is square (see nda::is_matrix_square) and all the the off-diagonal elements are zero.   | |
| template<typename A> | |
| bool | nda::is_matrix_square (A const &a, bool print_error=false) | 
| Check if a given array/view is square, i.e. if the first dimension has the same extent as the second dimension.   | |