nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
eigs.hpp
Go to the documentation of this file.
1
3// toolboxes/linalg/include/nk/linalg/eigs.hpp
4//
5// eigs & svds: Subset of eigenvalues / singular values via Arnoldi iteration.
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 eigs_values(const Value &A, std::size_t k = 6, std::pmr::memory_resource *mr = nullptr);
21
23std::tuple<Value, Value> eigs(const Value &A, std::size_t k = 6, std::pmr::memory_resource *mr = nullptr);
24
26Value svds_values(const Value &A, std::size_t k = 6, std::pmr::memory_resource *mr = nullptr);
27
29std::tuple<Value, Value, Value> svds(const Value &A, std::size_t k = 6, std::pmr::memory_resource *mr = nullptr);
30
31
33} // namespace nk::linalg
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
std::tuple< Value, Value > eigs(const Value &A, std::size_t k=6, std::pmr::memory_resource *mr=nullptr)
Compute top k eigenvalues and eigenvectors of A: [V, D] = eigs(A, k).
Value eigs_values(const Value &A, std::size_t k=6, std::pmr::memory_resource *mr=nullptr)
Compute top k eigenvalues of A as a column vector.
Value svds_values(const Value &A, std::size_t k=6, std::pmr::memory_resource *mr=nullptr)
Compute top k singular values of A as a column vector.
std::tuple< Value, Value, Value > svds(const Value &A, std::size_t k=6, std::pmr::memory_resource *mr=nullptr)
Compute top k singular values and vectors of A: [U, S, V] = svds(A, k).