Ensign
Low-rank framework for multi-core CPUs and GPUs
Loading...
Searching...
No Matches
Ensign::Tensor Namespace Reference

Tensor matricization, tensorization, and orthogonalization operations. More...

Functions

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

Detailed Description

Tensor matricization, tensorization, and orthogonalization operations.

Function Documentation

◆ matricize()

template<size_t m, size_t d, class T >
void Ensign::Tensor::matricize ( const multi_array< T, d > &  input,
multi_array< T, 2 > &  output 
)

Definition at line 17 of file tensor.hpp.

◆ matricize< 0, 3, double >()

template<>
void Ensign::Tensor::matricize< 0, 3, double > ( const multi_array< double, 3 > &  input,
multi_array< double, 2 > &  output 
)

◆ matricize< 1, 3, double >()

template<>
void Ensign::Tensor::matricize< 1, 3, double > ( const multi_array< double, 3 > &  input,
multi_array< double, 2 > &  output 
)

◆ matricize< 2, 3, double >()

template<>
void Ensign::Tensor::matricize< 2, 3, double > ( const multi_array< double, 3 > &  input,
multi_array< double, 2 > &  output 
)

◆ orthogonalize()

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 
)

Definition at line 85 of file tensor.hpp.

◆ tensorize()

template<size_t m, size_t d, class T >
void Ensign::Tensor::tensorize ( const multi_array< T, 2 > &  input,
multi_array< T, d > &  output 
)

Definition at line 51 of file tensor.hpp.

◆ tensorize< 0, 3, double >()

template<>
void Ensign::Tensor::tensorize< 0, 3, double > ( const multi_array< double, 2 > &  input,
multi_array< double, 3 > &  output 
)

◆ tensorize< 1, 3, double >()

template<>
void Ensign::Tensor::tensorize< 1, 3, double > ( const multi_array< double, 2 > &  input,
multi_array< double, 3 > &  output 
)

◆ tensorize< 2, 3, double >()

template<>
void Ensign::Tensor::tensorize< 2, 3, double > ( const multi_array< double, 2 > &  input,
multi_array< double, 3 > &  output 
)