Ensign
Low-rank framework for multi-core CPUs and GPUs
Loading...
Searching...
No Matches
tensor.hpp File Reference

Provides tensor matricization, tensorization, and orthogonalization. More...

#include <lr/lr.hpp>

Go to the source code of this file.

Namespaces

namespace  Ensign
 Core namespace for Ensign's numerical algorithms and data structures.
 
namespace  Ensign::Tensor
 Tensor matricization, tensorization, and orthogonalization operations.
 

Functions

template<size_t m, size_t d, class T >
void Ensign::Tensor::matricize (const multi_array< T, d > &input, multi_array< T, 2 > &output)
 
template<>
void Ensign::Tensor::matricize< 0, 3, double > (const multi_array< double, 3 > &input, multi_array< double, 2 > &output)
 
template<>
void Ensign::Tensor::matricize< 1, 3, double > (const multi_array< double, 3 > &input, multi_array< double, 2 > &output)
 
template<>
void Ensign::Tensor::matricize< 2, 3, double > (const multi_array< double, 3 > &input, multi_array< double, 2 > &output)
 
template<size_t m, size_t d, class T >
void Ensign::Tensor::tensorize (const multi_array< T, 2 > &input, multi_array< T, d > &output)
 
template<>
void Ensign::Tensor::tensorize< 0, 3, double > (const multi_array< double, 2 > &input, multi_array< double, 3 > &output)
 
template<>
void Ensign::Tensor::tensorize< 1, 3, double > (const multi_array< double, 2 > &input, multi_array< double, 3 > &output)
 
template<>
void Ensign::Tensor::tensorize< 2, 3, double > (const multi_array< double, 2 > &input, multi_array< double, 3 > &output)
 
template<class T >
multi_array< T, 2 > Ensign::Tensor::orthogonalize (multi_array< T, 2 > &input, const Index n_basisfunctions, const T weight, const Ensign::Matrix::blas_ops &blas)
 

Detailed Description

Provides tensor matricization, tensorization, and orthogonalization.

Definition in file tensor.hpp.