TRIQS/nda 1.3.0
Multi-dimensional array library for C++
Loading...
Searching...
No Matches
qr.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/geqp3.hpp"
#include "../lapack/orgqr.hpp"
#include "../lapack/ungqr.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 QR factorization of a matrix.

Definition in file qr.hpp.

Go to the source code of this file.

Functions

template<MemoryMatrix A, MemoryVector TAU>
requires (nda::mem::have_host_compatible_addr_space<A, TAU> and have_same_value_type_v<A, TAU> and is_blas_lapack_v<get_value_t<A>>)
auto nda::linalg::get_qr_matrices (A const &a, TAU const &tau, bool complete=false)
 Get the \( \mathbf{Q} \) and \( \mathbf{R} \) matrices from the output of nda::lapack::geqp3.
template<Matrix A>
requires (nda::mem::have_host_compatible_addr_space<A> and is_blas_lapack_v<get_value_t<A>>)
auto nda::linalg::qr (A const &a, bool complete=false)
 Compute the QR factorization of a matrix.
template<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::qr_in_place (A &&a, bool complete=false)
 Compute the QR factorization of a matrix in place.