Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Namespaces | Concepts | Functions
svd_least_squares.hpp File Reference
#include "common.hpp"
#include <uni20/backend/blas/blas_int.hpp>
#include <uni20/backend/lapack/lapack.hpp>
#include <uni20/linalg/backends/least_squares_common.hpp>
#include <uni20/linalg/svd_least_squares_info.hpp>
Include dependency graph for backends/lapack/svd_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
 

Concepts

concept  uni20::linalg::least_squares_detail::PackedGelss
 

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...> && (LapackScalar<typename A::value_type> || least_squares_detail::PackedGelss<typename A::value_type>)
consteval auto uni20::linalg::kernel_accepts_types (LapackBackend, svd_least_squares_op const &, X &, A &, B &, std::span< make_real_t< typename A::value_type > >, LeastSquaresInfo &, SvdLeastSquaresDiagnostics< make_real_t< typename A::value_type > > &, SvdLeastSquaresOptions< make_real_t< typename A::value_type > > const &, P...)
 Accept configured real/complex GELSS providers; runtime scalars require explicit precision.
 
template<LapackScalar S>
std::size_t uni20::linalg::least_squares_detail::native_gelss (DenseMatrix< S > &a, DenseMatrix< S > &b, std::vector< make_real_t< S > > &singular, make_real_t< S > const &cutoff, std::size_t &rank)
 
template<Real R>
void uni20::linalg::least_squares_detail::require_svd_options (SvdLeastSquaresOptions< R > const &options)
 
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...> && (LapackScalar<typename A::value_type> || least_squares_detail::PackedGelss<typename A::value_type>)
KernelAttempt uni20::linalg::try_kernel (LapackBackend, svd_least_squares_op const &, X &x, A &a, B &b, std::span< make_real_t< typename A::value_type > > residuals, LeastSquaresInfo &info, SvdLeastSquaresDiagnostics< make_real_t< typename A::value_type > > &diagnostics, SvdLeastSquaresOptions< make_real_t< typename A::value_type > > const &options, P... precision)
 Solve through GELSS; numerical failure publishes only status, preserving fixed outputs.