nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
gsvd.hpp
Go to the documentation of this file.
1
3// toolboxes/linalg/include/nk/linalg/gsvd.hpp
4//
5// Generalized Singular Value Decomposition: [U, V, X, C, S] = gsvd(A, B) or sigma = gsvd(A, B)
6
7#pragma once
8
9#include <memory_resource>
10#include <tuple>
11#include <nk/value/value.hpp>
12
13namespace nk::linalg {
14
17
18
20Value gsvd_values(const Value &A, const Value &B, std::pmr::memory_resource *mr = nullptr);
21
25std::tuple<Value, Value, Value, Value, Value> gsvd(const Value &A, const Value &B,
26 std::pmr::memory_resource *mr = nullptr);
27
28
30} // namespace nk::linalg
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
Value gsvd_values(const Value &A, const Value &B, std::pmr::memory_resource *mr=nullptr)
Compute generalized singular values of matrix pair (A, B) as a column vector (ascending order).
std::tuple< Value, Value, Value, Value, Value > gsvd(const Value &A, const Value &B, std::pmr::memory_resource *mr=nullptr)
Full generalized SVD decomposition of matrix pair (A, B).