Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Namespaces | Functions
least_squares.hpp File Reference
#include <uni20/linalg/backends/lapack/qr.hpp>
#include <uni20/linalg/backends/least_squares_common.hpp>
#include <uni20/linalg/precision.hpp>
Include dependency graph for backends/lapack/least_squares.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  uni20
 
namespace  uni20::linalg
 
namespace  uni20::linalg::least_squares_detail
 

Functions

template<class X , class A , class B , class... P>
requires least_squares_detail::Operands<X, A, B> && least_squares_detail::PrecisionArgs<typename A::value_type, P...> && (least_squares_detail::qr_acceptance<typename A::value_type, P...>() != KernelTypeAcceptance::no)
consteval auto uni20::linalg::kernel_accepts_types (LapackBackend, least_squares_op const &, X &, A &, B &, std::span< make_real_t< typename A::value_type > >, LeastSquaresInfo &, LeastSquaresOptions< make_real_t< typename A::value_type > > const &, P...)
 Accept precisely those scalar families supported by the configured LAPACK QR kernel.
 
template<class Matrix >
void uni20::linalg::least_squares_detail::provider_qr (Matrix &a, Matrix &b, Precision p)
 
template<class S , class... P>
consteval auto uni20::linalg::least_squares_detail::qr_acceptance ()
 
template<class X , class A , class B , class... P>
requires least_squares_detail::Operands<X, A, B> && least_squares_detail::PrecisionArgs<typename A::value_type, P...> && (least_squares_detail::qr_acceptance<typename A::value_type, P...>() != KernelTypeAcceptance::no)
KernelAttempt uni20::linalg::try_kernel (LapackBackend, least_squares_op const &, X &x, A &a, B &b, std::span< make_real_t< typename A::value_type > > residuals, LeastSquaresInfo &info, LeastSquaresOptions< make_real_t< typename A::value_type > > const &options, P... precision)
 Solve using configured LAPACK/MPLAPACK reduced QR and scalar-generic triangular substitution.