Einsums/Decomposition/Tucker.hpp#
Defined in header Einsums/Decomposition/Tucker.hpp.
See Overview for a list of names and headers that are part of the public Einsums API.
-
namespace einsums
-
namespace decomposition
Functions
-
template<TensorConcept TTensor, ContainerOf<TensorLike<TTensor, ValueTypeT<TTensor>, 2>> Factors>
TTensor tucker_reconstruct(TTensor const &g_tensor, Factors const &factors)#
-
template<size_t Rank, MatrixConcept TTensor, typename Alloc, ContainerOf<size_t> Ranks>
BufferVector<TTensor> initialize_tucker(std::vector<TTensor, Alloc> &folds, Ranks &ranks)#
-
template<template<typename, size_t> typename TTensor, size_t TRank, ContainerOf<size_t> Ranks, typename TType = double, ContainerOf<Tensor<TType, 2>> Folds>
std::tuple<Tensor<TType, TRank>, BufferVector<Tensor<TType, 2>>> tucker_ho_svd(TTensor<TType, TRank> const &tensor, Ranks &ranks, Folds const &folds)# Tucker decomposition of a tensor via Higher-Order SVD (HO-SVD). Computes a rank-
rank
decomposition oftensor
such that:tensor = [|weights[r0][r1]…; factor[0][r0], …, factors[-1][rn] |]
-
template<template<typename, size_t> typename TTensor, size_t TRank, ContainerOf<size_t> Ranks, typename TType = double>
std::tuple<Tensor<TType, TRank>, BufferVector<Tensor<TType, 2>>> tucker_ho_svd(TTensor<TType, TRank> const &tensor, Ranks &ranks)#
-
template<template<typename, size_t> typename TTensor, size_t TRank, ContainerOf<size_t> Ranks, typename TType = double>
std::tuple<TTensor<TType, TRank>, BufferVector<Tensor<TType, 2>>> tucker_ho_oi(TTensor<TType, TRank> const &tensor, Ranks &ranks, int n_iter_max = 100, double tolerance = 1.e-8)# Tucker decomposition via Higher-Order Orthogonal Inversion (HO-OI). Computes a rank-
rank
decomposition oftensor
such that:tensor = [|weights[r0][r1]…; factor[0][r1], …, factors[-1][rn] |].
-
template<TensorConcept TTensor, ContainerOf<TensorLike<TTensor, ValueTypeT<TTensor>, 2>> Factors>
-
namespace decomposition