Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
least_squares_info.hpp
Go to the documentation of this file.
1#pragma once
2
5#if UNI20_HAS_MPREAL
7#endif
8#include <cstddef>
9#include <optional>
10
11namespace uni20::linalg
12{
23
26{
29 std::optional<std::size_t> column = {};
31 std::optional<std::size_t> unconverged = {};
32 [[nodiscard]] bool succeeded() const noexcept { return this->status == LeastSquaresStatus::success; }
33};
34
36template <Real R> struct LeastSquaresOptions
37{
42};
43} // namespace uni20::linalg
Definition linalg/async.hpp:28
LeastSquaresStatus
Numerical outcome of QR or SVD least squares.
Definition least_squares_info.hpp:15
Completed numerical attempt; success does not certify rank or conditioning.
Definition least_squares_info.hpp:26
std::optional< std::size_t > column
Zero-based QR column rejected by the diagonal policy, not a numerical rank.
Definition least_squares_info.hpp:29
LeastSquaresStatus status
Definition least_squares_info.hpp:27
bool succeeded() const noexcept
Definition least_squares_info.hpp:32
std::optional< std::size_t > unconverged
Provider nonconvergence count for an SVD attempt, when available.
Definition least_squares_info.hpp:31
Full-rank QR rejection policy, independent of any physical convergence criterion.
Definition least_squares_info.hpp:37
R relative_diagonal_tolerance
Reject nonzero abs(R[k,k])/max(abs(A)) at or below this finite, nonnegative tolerance.
Definition least_squares_info.hpp:41