Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
svd_least_squares.hpp File Reference

Precision-generic minimum-norm SVD least squares with recoverable rank diagnostics. More...

#include <uni20/linalg/backends/lapack/svd_least_squares.hpp>
#include <uni20/linalg/precision.hpp>
#include <uni20/tensor/precision.hpp>
Include dependency graph for ops/svd_least_squares.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  uni20::linalg::SvdLeastSquaresResult< S >
 Preserving least-squares result; solution and residuals are published only on success. More...
 

Namespaces

namespace  uni20
 
namespace  uni20::linalg
 

Functions

template<class... Args>
requires requires(Args&&... args) { svd_least_squares_with_info(std::forward<Args>(args)...); }
auto uni20::linalg::svd_least_squares (Args &&... args)
 Return a preserving truncated-SVD solution; numerical failure uses the ordinary terminal error policy.
 
template<RankedTensorView< 2 > A, RankedTensorView< 2 > B>
requires RealOrComplex<tensor_element_t<A>> && std::same_as<tensor_element_t<A>, tensor_element_t<B>>
auto uni20::linalg::svd_least_squares_with_info (A const &a, B const &b, Precision p, SvdLeastSquaresOptions< make_real_t< tensor_element_t< A > > > const &options={})
 Use the ordinary backend selector for the owning host result.
 
template<RankedTensorView< 2 > A, RankedTensorView< 2 > B>
requires RealOrComplex<tensor_element_t<A>> && std::same_as<tensor_element_t<A>, tensor_element_t<B>>
auto uni20::linalg::svd_least_squares_with_info (A const &a, B const &b, SvdLeastSquaresOptions< make_real_t< tensor_element_t< A > > > const &options={})
 Infer precision and select the ordinary host-result backends.
 
template<KernelBackendSelector Backend, RankedTensorView< 2 > A, RankedTensorView< 2 > B>
requires RealOrComplex<tensor_element_t<A>> && std::same_as<tensor_element_t<A>, tensor_element_t<B>>
auto uni20::linalg::svd_least_squares_with_info (Backend &&backend, A const &a, B const &b, Precision p, SvdLeastSquaresOptions< make_real_t< tensor_element_t< A > > > const &options={})
 Compute a minimum-norm solution after singular-value truncation for rectangular A.
 
template<KernelBackendSelector Backend, RankedTensorView< 2 > A, RankedTensorView< 2 > B>
requires RealOrComplex<tensor_element_t<A>> && std::same_as<tensor_element_t<A>, tensor_element_t<B>>
auto uni20::linalg::svd_least_squares_with_info (Backend &&backend, A const &a, B const &b, SvdLeastSquaresOptions< make_real_t< tensor_element_t< A > > > const &options={})
 Infer working precision from input defaults, requiring matching finite defaults when both exist.
 

Detailed Description

Precision-generic minimum-norm SVD least squares with recoverable rank diagnostics.