sisi4s
Loading...
Searching...
No Matches
CanonicalPolyadicDecomposition.hpp File Reference
#include <DryTensor.hpp>
#include <util/Tensor.hpp>
Include dependency graph for CanonicalPolyadicDecomposition.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  sisi4s
 

Functions

template<typename F = double>
void sisi4s::composeCanonicalPolyadicDecompositionTensors (Tensor< F > &A, Tensor< F > &B, Tensor< F > &C, Tensor< F > &T)
 Calculates $T_{ijk}=A_{iR}B_{jR}C_{kR}$ with minimal memory footprint.
 
template<typename F = double>
void sisi4s::dryComposeCanonicalPolyadicDecompositionTensors (DryTensor< F > &A, DryTensor< F > &B, DryTensor< F > &C, DryTensor< F > &T)
 Performs a dry run of the calculation $T_{ijk}=A_{iR}B_{jR}C_{kR}$ with minimal memory footprint.
 
template<typename F = double>
void sisi4s::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 $A_{iR} = T_{ijk}B^{jR}C^{kR}$ using a contraction order with minimal memory footprint.
 
template<typename F = double>
void sisi4s::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 $A_{iR} = T_{ijk}B^{jR}C^{kR}$ using a contraction order with minimal memory footprint.