TRIQS/nda 1.3.0
Multi-dimensional array library for C++
Loading...
Searching...
No Matches
lu.hpp
#include "./utils.hpp"
#include "../basic_array.hpp"
#include "../basic_functions.hpp"
#include "../blas/tools.hpp"
#include "../concepts.hpp"
#include "../declarations.hpp"
#include "../exceptions.hpp"
#include "../lapack/getrf.hpp"
#include "../layout/policies.hpp"
#include "../layout/range.hpp"
#include "../macros.hpp"
#include "../mem/address_space.hpp"
#include "../traits.hpp"
#include <algorithm>
#include <tuple>
#include <type_traits>

Detailed Description

Provides functions to get the LU factorization of a matrix.

Definition in file lu.hpp.

Go to the source code of this file.

Functions

template<typename LP = F_layout, MemoryMatrix A>
requires (nda::mem::have_host_compatible_addr_space<A> and nda::blas::has_F_layout<A>)
auto nda::linalg::get_lu_matrices (A const &a)
 Get the \( \mathbf{L} \) and \( \mathbf{U} \) matrices from the output of nda::lapack::getrf.
template<Matrix A>
requires (nda::mem::have_host_compatible_addr_space<A> and is_blas_lapack_v<get_value_t<A>>)
auto nda::linalg::lu (A const &a, bool allow_singular=false)
 Compute the LU factorization of a matrix.
template<typename LP = F_layout, MemoryMatrix A>
requires (nda::mem::have_host_compatible_addr_space<A> and nda::blas::has_F_layout<A> and is_blas_lapack_v<get_value_t<A>>)
auto nda::linalg::lu_in_place (A &&a, bool allow_singular=false)
 Compute the LU factorization of a matrix in place.