Maestro 0.1.0
Unified interface for quantum circuit simulation
Loading...
Searching...
No Matches
Utils::Tensor< T, Storage > Class Template Reference

#include <Tensor.h>

Public Member Functions

 Tensor ()
 Tensor (const std::vector< size_t > &dims, bool dummy=false)
 Tensor (const std::vector< int > &dims, bool dummy=false)
template<class indT = size_t>
 Tensor (std::initializer_list< indT > dims, bool dummy=false)
 Tensor (const Tensor< T, Storage > &other)
 Tensor (Tensor< T, Storage > &&other) noexcept
virtual ~Tensor ()=default
template<class Archive>
void serialize (Archive &ar, const unsigned int)
Tensor< T, Storage > & operator= (const Tensor< T, Storage > &other)
Tensor< T, Storage > & operator= (Tensor< T, Storage > &&other) noexcept
void Swap (Tensor< T, Storage > &other)
size_t GetSize () const
size_t GetDim (size_t index) const
const std::vector< size_t > & GetDims () const
const size_t GetRank () const
bool IsDummy () const
bool IncrementIndex (std::vector< size_t > &indices) const
bool IncrementIndexSkip (std::vector< size_t > &indices, int skip) const
bool IncrementIndexSkip (std::vector< size_t > &indices, const std::vector< int > &skipv) const
void Clear ()
void ClearValues ()
bool Empty () const
void Resize (const std::vector< size_t > &newdims)
template<class indT = size_t>
void Resize (std::initializer_list< indT > newdims)
const T at (const std::vector< size_t > &indices) const
T & operator[] (const std::vector< size_t > &indices)
const T & operator[] (const std::vector< size_t > &indices) const
atOffset (size_t offset)
T & operator[] (size_t offset)
const T & operator[] (size_t offset) const
template<class indT = size_t>
T & operator[] (std::initializer_list< indT > args)
template<class indT = size_t>
const T & operator[] (std::initializer_list< indT > args) const
T & operator() (const std::vector< size_t > &indices)
const T & operator() (const std::vector< size_t > &indices) const
template<class indT = size_t>
T & operator() (std::initializer_list< indT > args)
template<class indT = size_t>
const T & operator() (std::initializer_list< indT > args) const
const Storage & GetValues () const
Storage & GetValues ()
Tensor< T, Storage > operator+ (const Tensor< T, Storage > &other) const
Tensor< T, Storage > operator- (const Tensor< T, Storage > &other) const
Tensor< T, Storage > operator* (const Tensor< T, Storage > &other) const
Tensor< T, Storage > operator/ (const Tensor< T, Storage > &other) const
Tensor< T, Storage > operator+ (const T &scalar) const
Tensor< T, Storage > operator- (const T &scalar) const
Tensor< T, Storage > operator* (const T &scalar) const
Tensor< T, Storage > operator/ (const T &scalar) const
Tensor< T, Storage > & operator+= (const Tensor< T, Storage > &other)
Tensor< T, Storage > & operator-= (const Tensor< T, Storage > &other)
Tensor< T, Storage > & operator*= (const Tensor< T, Storage > &other)
Tensor< T, Storage > & operator/= (const Tensor< T, Storage > &other)
Tensor< T, Storage > & operator+= (const T &scalar)
Tensor< T, Storage > & operator-= (const T &scalar)
Tensor< T, Storage > & operator*= (const T &scalar)
Tensor< T, Storage > & operator/= (const T &scalar)
Tensor< T, Storage > & operator+= (const double scalar)
Tensor< T, Storage > & operator-= (const double scalar)
Tensor< T, Storage > & operator*= (const double scalar)
Tensor< T, Storage > & operator/= (const double scalar)
Tensor< T, Storage > operator- () const
void Conj ()
Tensor< T, Storage > TensorProduct (const Tensor< T, Storage > &other) const
Tensor< T, Storage > Contract (const Tensor< T, Storage > &other, size_t ind1, size_t ind2, bool allowMultithreading=true) const
Tensor< T, Storage > Contract (const Tensor< T, Storage > &other, const std::vector< std::pair< size_t, size_t > > &indices, bool allowMultithreading=true) const
Trace () const
Tensor< T, Storage > Trace (size_t ind1, size_t ind2) const
Tensor< T, Storage > Trace (const std::vector< size_t > &tindices) const
template<class indT = size_t>
Tensor< T, Storage > Trace (std::initializer_list< indT > args) const
Tensor< T, Storage > Shuffle (const std::vector< size_t > &indices) const
template<class indT = size_t>
Tensor< T, Storage > Shuffle (std::initializer_list< indT > args) const
Tensor< T, Storage > Reshape (const std::vector< size_t > &newdims) const
template<class indT = size_t>
Tensor< T, Storage > Reshape (std::initializer_list< indT > args) const
size_t GetOffset (const std::vector< size_t > &indices) const
std::vector< size_t > IndexFromOffset (size_t offset) const

Static Protected Member Functions

static int GetNumberOfThreads ()

Protected Attributes

Storage values
std::vector< size_t > dims
size_t sz

Static Protected Attributes

static constexpr size_t OmpLimit = 1024
static constexpr int divSchedule = 2

Friends

class boost::serialization::access

Detailed Description

template<class T = std::complex<double>, class Storage = std::valarray<T>>
class Utils::Tensor< T, Storage >

Definition at line 40 of file Tensor.h.

Constructor & Destructor Documentation

◆ Tensor() [1/6]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Utils::Tensor< T, Storage >::Tensor ( )
inline

Definition at line 56 of file Tensor.h.

◆ Tensor() [2/6]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Utils::Tensor< T, Storage >::Tensor ( const std::vector< size_t > & dims,
bool dummy = false )
inline

Definition at line 60 of file Tensor.h.

◆ Tensor() [3/6]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Utils::Tensor< T, Storage >::Tensor ( const std::vector< int > & dims,
bool dummy = false )
inline

Definition at line 70 of file Tensor.h.

◆ Tensor() [4/6]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
template<class indT = size_t>
Utils::Tensor< T, Storage >::Tensor ( std::initializer_list< indT > dims,
bool dummy = false )
inline

Definition at line 81 of file Tensor.h.

◆ Tensor() [5/6]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Utils::Tensor< T, Storage >::Tensor ( const Tensor< T, Storage > & other)
inline

Definition at line 91 of file Tensor.h.

◆ Tensor() [6/6]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Utils::Tensor< T, Storage >::Tensor ( Tensor< T, Storage > && other)
inlinenoexcept

Definition at line 94 of file Tensor.h.

◆ ~Tensor()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
virtual Utils::Tensor< T, Storage >::~Tensor ( )
virtualdefault

Member Function Documentation

◆ at()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
const T Utils::Tensor< T, Storage >::at ( const std::vector< size_t > & indices) const
inline

Definition at line 250 of file Tensor.h.

◆ atOffset()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
T Utils::Tensor< T, Storage >::atOffset ( size_t offset)
inline

Definition at line 266 of file Tensor.h.

◆ Clear()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
void Utils::Tensor< T, Storage >::Clear ( )
inline

Definition at line 221 of file Tensor.h.

◆ ClearValues()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
void Utils::Tensor< T, Storage >::ClearValues ( )
inline

Definition at line 226 of file Tensor.h.

◆ Conj()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
void Utils::Tensor< T, Storage >::Conj ( )
inline

Definition at line 513 of file Tensor.h.

◆ Contract() [1/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > Utils::Tensor< T, Storage >::Contract ( const Tensor< T, Storage > & other,
const std::vector< std::pair< size_t, size_t > > & indices,
bool allowMultithreading = true ) const
inline

Definition at line 633 of file Tensor.h.

◆ Contract() [2/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > Utils::Tensor< T, Storage >::Contract ( const Tensor< T, Storage > & other,
size_t ind1,
size_t ind2,
bool allowMultithreading = true ) const
inline

Definition at line 537 of file Tensor.h.

◆ Empty()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
bool Utils::Tensor< T, Storage >::Empty ( ) const
inline

Definition at line 231 of file Tensor.h.

◆ GetDim()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
size_t Utils::Tensor< T, Storage >::GetDim ( size_t index) const
inline

Definition at line 141 of file Tensor.h.

◆ GetDims()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
const std::vector< size_t > & Utils::Tensor< T, Storage >::GetDims ( ) const
inline

Definition at line 147 of file Tensor.h.

◆ GetNumberOfThreads()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
int Utils::Tensor< T, Storage >::GetNumberOfThreads ( )
inlinestaticprotected

Definition at line 49 of file Tensor.h.

◆ GetOffset()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
size_t Utils::Tensor< T, Storage >::GetOffset ( const std::vector< size_t > & indices) const
inline

Definition at line 951 of file Tensor.h.

◆ GetRank()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
const size_t Utils::Tensor< T, Storage >::GetRank ( ) const
inline

Definition at line 149 of file Tensor.h.

◆ GetSize()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
size_t Utils::Tensor< T, Storage >::GetSize ( ) const
inline

Definition at line 133 of file Tensor.h.

◆ GetValues() [1/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Storage & Utils::Tensor< T, Storage >::GetValues ( )
inline

Definition at line 328 of file Tensor.h.

◆ GetValues() [2/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
const Storage & Utils::Tensor< T, Storage >::GetValues ( ) const
inline

Definition at line 326 of file Tensor.h.

◆ IncrementIndex()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
bool Utils::Tensor< T, Storage >::IncrementIndex ( std::vector< size_t > & indices) const
inline

Definition at line 153 of file Tensor.h.

◆ IncrementIndexSkip() [1/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
bool Utils::Tensor< T, Storage >::IncrementIndexSkip ( std::vector< size_t > & indices,
const std::vector< int > & skipv ) const
inline

Definition at line 187 of file Tensor.h.

◆ IncrementIndexSkip() [2/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
bool Utils::Tensor< T, Storage >::IncrementIndexSkip ( std::vector< size_t > & indices,
int skip ) const
inline

Definition at line 169 of file Tensor.h.

◆ IndexFromOffset()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
std::vector< size_t > Utils::Tensor< T, Storage >::IndexFromOffset ( size_t offset) const
inline

Definition at line 955 of file Tensor.h.

◆ IsDummy()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
bool Utils::Tensor< T, Storage >::IsDummy ( ) const
inline

Definition at line 151 of file Tensor.h.

◆ operator()() [1/4]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
T & Utils::Tensor< T, Storage >::operator() ( const std::vector< size_t > & indices)
inline

Definition at line 298 of file Tensor.h.

◆ operator()() [2/4]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
const T & Utils::Tensor< T, Storage >::operator() ( const std::vector< size_t > & indices) const
inline

Definition at line 304 of file Tensor.h.

◆ operator()() [3/4]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
template<class indT = size_t>
T & Utils::Tensor< T, Storage >::operator() ( std::initializer_list< indT > args)
inline

Definition at line 309 of file Tensor.h.

◆ operator()() [4/4]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
template<class indT = size_t>
const T & Utils::Tensor< T, Storage >::operator() ( std::initializer_list< indT > args) const
inline

Definition at line 318 of file Tensor.h.

◆ operator*() [1/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > Utils::Tensor< T, Storage >::operator* ( const T & scalar) const
inline

Definition at line 392 of file Tensor.h.

◆ operator*() [2/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > Utils::Tensor< T, Storage >::operator* ( const Tensor< T, Storage > & other) const
inline

Definition at line 352 of file Tensor.h.

◆ operator*=() [1/3]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > & Utils::Tensor< T, Storage >::operator*= ( const double scalar)
inline

Definition at line 490 of file Tensor.h.

◆ operator*=() [2/3]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > & Utils::Tensor< T, Storage >::operator*= ( const T & scalar)
inline

Definition at line 460 of file Tensor.h.

◆ operator*=() [3/3]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > & Utils::Tensor< T, Storage >::operator*= ( const Tensor< T, Storage > & other)
inline

Definition at line 428 of file Tensor.h.

◆ operator+() [1/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > Utils::Tensor< T, Storage >::operator+ ( const T & scalar) const
inline

Definition at line 374 of file Tensor.h.

◆ operator+() [2/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > Utils::Tensor< T, Storage >::operator+ ( const Tensor< T, Storage > & other) const
inline

Definition at line 330 of file Tensor.h.

◆ operator+=() [1/3]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > & Utils::Tensor< T, Storage >::operator+= ( const double scalar)
inline

Definition at line 476 of file Tensor.h.

◆ operator+=() [2/3]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > & Utils::Tensor< T, Storage >::operator+= ( const T & scalar)
inline

Definition at line 446 of file Tensor.h.

◆ operator+=() [3/3]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > & Utils::Tensor< T, Storage >::operator+= ( const Tensor< T, Storage > & other)
inline

Definition at line 410 of file Tensor.h.

◆ operator-() [1/3]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > Utils::Tensor< T, Storage >::operator- ( ) const
inline

Definition at line 504 of file Tensor.h.

◆ operator-() [2/3]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > Utils::Tensor< T, Storage >::operator- ( const T & scalar) const
inline

Definition at line 383 of file Tensor.h.

◆ operator-() [3/3]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > Utils::Tensor< T, Storage >::operator- ( const Tensor< T, Storage > & other) const
inline

Definition at line 341 of file Tensor.h.

◆ operator-=() [1/3]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > & Utils::Tensor< T, Storage >::operator-= ( const double scalar)
inline

Definition at line 483 of file Tensor.h.

◆ operator-=() [2/3]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > & Utils::Tensor< T, Storage >::operator-= ( const T & scalar)
inline

Definition at line 453 of file Tensor.h.

◆ operator-=() [3/3]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > & Utils::Tensor< T, Storage >::operator-= ( const Tensor< T, Storage > & other)
inline

Definition at line 419 of file Tensor.h.

◆ operator/() [1/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > Utils::Tensor< T, Storage >::operator/ ( const T & scalar) const
inline

Definition at line 401 of file Tensor.h.

◆ operator/() [2/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > Utils::Tensor< T, Storage >::operator/ ( const Tensor< T, Storage > & other) const
inline

Definition at line 363 of file Tensor.h.

◆ operator/=() [1/3]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > & Utils::Tensor< T, Storage >::operator/= ( const double scalar)
inline

Definition at line 497 of file Tensor.h.

◆ operator/=() [2/3]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > & Utils::Tensor< T, Storage >::operator/= ( const T & scalar)
inline

Definition at line 467 of file Tensor.h.

◆ operator/=() [3/3]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > & Utils::Tensor< T, Storage >::operator/= ( const Tensor< T, Storage > & other)
inline

Definition at line 437 of file Tensor.h.

◆ operator=() [1/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > & Utils::Tensor< T, Storage >::operator= ( const Tensor< T, Storage > & other)
inline

Definition at line 110 of file Tensor.h.

◆ operator=() [2/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > & Utils::Tensor< T, Storage >::operator= ( Tensor< T, Storage > && other)
inlinenoexcept

Definition at line 117 of file Tensor.h.

◆ operator[]() [1/6]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
T & Utils::Tensor< T, Storage >::operator[] ( const std::vector< size_t > & indices)
inline

Definition at line 256 of file Tensor.h.

◆ operator[]() [2/6]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
const T & Utils::Tensor< T, Storage >::operator[] ( const std::vector< size_t > & indices) const
inline

Definition at line 262 of file Tensor.h.

◆ operator[]() [3/6]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
T & Utils::Tensor< T, Storage >::operator[] ( size_t offset)
inline

Definition at line 272 of file Tensor.h.

◆ operator[]() [4/6]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
const T & Utils::Tensor< T, Storage >::operator[] ( size_t offset) const
inline

Definition at line 278 of file Tensor.h.

◆ operator[]() [5/6]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
template<class indT = size_t>
T & Utils::Tensor< T, Storage >::operator[] ( std::initializer_list< indT > args)
inline

Definition at line 281 of file Tensor.h.

◆ operator[]() [6/6]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
template<class indT = size_t>
const T & Utils::Tensor< T, Storage >::operator[] ( std::initializer_list< indT > args) const
inline

Definition at line 290 of file Tensor.h.

◆ Reshape() [1/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > Utils::Tensor< T, Storage >::Reshape ( const std::vector< size_t > & newdims) const
inline

Definition at line 929 of file Tensor.h.

◆ Reshape() [2/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
template<class indT = size_t>
Tensor< T, Storage > Utils::Tensor< T, Storage >::Reshape ( std::initializer_list< indT > args) const
inline

Definition at line 942 of file Tensor.h.

◆ Resize() [1/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
void Utils::Tensor< T, Storage >::Resize ( const std::vector< size_t > & newdims)
inline

Definition at line 233 of file Tensor.h.

◆ Resize() [2/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
template<class indT = size_t>
void Utils::Tensor< T, Storage >::Resize ( std::initializer_list< indT > newdims)
inline

Definition at line 242 of file Tensor.h.

◆ serialize()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
template<class Archive>
void Utils::Tensor< T, Storage >::serialize ( Archive & ar,
const unsigned int  )
inline

Definition at line 103 of file Tensor.h.

◆ Shuffle() [1/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > Utils::Tensor< T, Storage >::Shuffle ( const std::vector< size_t > & indices) const
inline

Definition at line 898 of file Tensor.h.

◆ Shuffle() [2/2]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
template<class indT = size_t>
Tensor< T, Storage > Utils::Tensor< T, Storage >::Shuffle ( std::initializer_list< indT > args) const
inline

Definition at line 923 of file Tensor.h.

◆ Swap()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
void Utils::Tensor< T, Storage >::Swap ( Tensor< T, Storage > & other)
inline

Definition at line 127 of file Tensor.h.

◆ TensorProduct()

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > Utils::Tensor< T, Storage >::TensorProduct ( const Tensor< T, Storage > & other) const
inline

Definition at line 518 of file Tensor.h.

◆ Trace() [1/4]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
T Utils::Tensor< T, Storage >::Trace ( ) const
inline

Definition at line 759 of file Tensor.h.

◆ Trace() [2/4]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > Utils::Tensor< T, Storage >::Trace ( const std::vector< size_t > & tindices) const
inline

Definition at line 828 of file Tensor.h.

◆ Trace() [3/4]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Tensor< T, Storage > Utils::Tensor< T, Storage >::Trace ( size_t ind1,
size_t ind2 ) const
inline

Definition at line 781 of file Tensor.h.

◆ Trace() [4/4]

template<class T = std::complex<double>, class Storage = std::valarray<T>>
template<class indT = size_t>
Tensor< T, Storage > Utils::Tensor< T, Storage >::Trace ( std::initializer_list< indT > args) const
inline

Definition at line 892 of file Tensor.h.

◆ boost::serialization::access

template<class T = std::complex<double>, class Storage = std::valarray<T>>
friend class boost::serialization::access
friend

Definition at line 54 of file Tensor.h.

Member Data Documentation

◆ dims

template<class T = std::complex<double>, class Storage = std::valarray<T>>
std::vector<size_t> Utils::Tensor< T, Storage >::dims
protected

Definition at line 43 of file Tensor.h.

◆ divSchedule

template<class T = std::complex<double>, class Storage = std::valarray<T>>
int Utils::Tensor< T, Storage >::divSchedule = 2
staticconstexprprotected

Definition at line 47 of file Tensor.h.

◆ OmpLimit

template<class T = std::complex<double>, class Storage = std::valarray<T>>
size_t Utils::Tensor< T, Storage >::OmpLimit = 1024
staticconstexprprotected

Definition at line 46 of file Tensor.h.

◆ sz

template<class T = std::complex<double>, class Storage = std::valarray<T>>
size_t Utils::Tensor< T, Storage >::sz
mutableprotected

Definition at line 44 of file Tensor.h.

◆ values

template<class T = std::complex<double>, class Storage = std::valarray<T>>
Storage Utils::Tensor< T, Storage >::values
protected

Definition at line 42 of file Tensor.h.


The documentation for this class was generated from the following file: