sisi4s
Loading...
Searching...
No Matches
CanonicalPolyadicDecomposition.hpp
Go to the documentation of this file.
1#ifndef CANONICAL_POLYADIC_DECOMPOSITION_DEFINED
2#define CANONICAL_POLYADIC_DECOMPOSITION_DEFINED
3
4#include <DryTensor.hpp>
5#include <util/Tensor.hpp>
6
7namespace sisi4s {
12template <typename F = double>
14 Tensor<F> &B,
15 Tensor<F> &C,
16 Tensor<F> &T);
21template <typename F = double>
23 DryTensor<F> &B,
24 DryTensor<F> &C,
25 DryTensor<F> &T);
26
39template <typename F = double>
41 char const *indicesT,
42 Tensor<F> &B,
43 char const idxB,
44 Tensor<F> &C,
45 char const idxC,
46 Tensor<F> &A,
47 char const idxA);
61template <typename F = double>
63 char const *indicesT,
64 DryTensor<F> &B,
65 char const idxB,
66 DryTensor<F> &C,
67 char const idxC,
68 DryTensor<F> &A,
69 char const idxA);
70} // namespace sisi4s
71
72#endif
Definition Algorithm.hpp:10
void dryContractWithCanonicalPolyadicDecompositionTensors(DryTensor< F > &T, char const *indicesT, DryTensor< F > &B, char const idxB, DryTensor< F > &C, char const idxC, DryTensor< F > &A, char const idxA)
Performs a dry run of the calculation using a contraction order with minimal memory footprint.
Definition CanonicalPolyadicDecomposition.cxx:172
void composeCanonicalPolyadicDecompositionTensors(Tensor< F > &A, Tensor< F > &B, Tensor< F > &C, Tensor< F > &T)
Calculates with minimal memory footprint.
Definition CanonicalPolyadicDecomposition.cxx:11
void contractWithCanonicalPolyadicDecompositionTensors(Tensor< F > &T, char const *indicesT, Tensor< F > &B, char const idxB, Tensor< F > &C, char const idxC, Tensor< F > &A, char const idxA)
Calculates using a contraction order with minimal memory footprint.
Definition CanonicalPolyadicDecomposition.cxx:103
void dryComposeCanonicalPolyadicDecompositionTensors(DryTensor< F > &A, DryTensor< F > &B, DryTensor< F > &C, DryTensor< F > &T)
Performs a dry run of the calculation with minimal memory footprint.
Definition CanonicalPolyadicDecomposition.cxx:61