10#include <memory_resource>
12#include <nk/value/value.hpp>
34std::tuple<Value, Value, Value>
44std::tuple<Value, Value>
53std::tuple<Value, Value, Value>
64std::tuple<Value, Value>
66 std::pmr::memory_resource *mr =
nullptr);
75std::tuple<Value, Value>
77 std::pmr::memory_resource *mr =
nullptr);
86std::tuple<Value, Value>
88 std::pmr::memory_resource *mr =
nullptr);
109 std::pmr::memory_resource *mr =
nullptr);
Core MATLAB-compatible multidimensional array and scalar value type.
std::tuple< Value, Value, Value > svd_decompose(const Value &A, std::pmr::memory_resource *mr=nullptr)
Singular value decomposition ([U, S, V] = svd_decompose(A)).
std::tuple< Value, Value, Value > lu_decompose(const Value &A, std::pmr::memory_resource *mr=nullptr)
LU with partial pivoting ([L, U, P] = lu_decompose(A)).
Value lu_combined(const Value &A, std::pmr::memory_resource *mr=nullptr)
Combined L+U output (LU = lu(A) single-output form).
Value chol(const Value &A, std::pmr::memory_resource *mr=nullptr)
Cholesky factorisation (R = chol(A)).
Value qr_R_only(const Value &A, std::pmr::memory_resource *mr=nullptr)
R-only QR output (R = qr(A) single-output form).
std::tuple< Value, Value > qrupdate(const Value &Q, const Value &R, const Value &u, const Value &v, std::pmr::memory_resource *mr=nullptr)
Rank-1 QR update ([Q1, R1] = qrupdate(Q, R, u, v)).
Value cholupdate(const Value &R, const Value &x, int sign=1, std::pmr::memory_resource *mr=nullptr)
Rank-1 Cholesky update / downdate (R1 = cholupdate(R, x[, sign])).
std::tuple< Value, Value > qr_decompose(const Value &A, std::pmr::memory_resource *mr=nullptr)
QR via Householder reflections ([Q, R] = qr_decompose(A)).
std::tuple< Value, Value > qrinsert(const Value &Q, const Value &R, std::size_t k_1based, const Value &x, std::pmr::memory_resource *mr=nullptr)
Insert column into QR ([Q1, R1] = qrinsert(Q, R, k, x)).
std::tuple< Value, Value > qrdelete(const Value &Q, const Value &R, std::size_t k_1based, std::pmr::memory_resource *mr=nullptr)
Delete column from QR ([Q1, R1] = qrdelete(Q, R, k)).
Value svd_values(const Value &A, std::pmr::memory_resource *mr=nullptr)
Singular values only (s = svd(A) single-output form).