SyTen
dense_operators.h File Reference

Operators acting on DenseTensor. More...

+ Include dependency graph for dense_operators.h:
+ This graph shows which files directly or indirectly include this file:

Namespaces

namespace  syten
 Syten namespace.
 

Functions

template<Rank rank, typename Scalar >
bool syten::operator!= (DenseTensor< rank, Scalar > const &a, DenseTensor< rank, Scalar > const &b)
 Returns false if all elements of the two tensors are within SYTEN_SMALL_THRESHOLD of each other. More...
 
template<Rank rank, typename Scalar >
Scalar syten::operator* (DenseTensor< rank, Scalar > const &a, DenseTensor< rank, Scalar > const &b)
 \( r = \sum_{i\ldots} a_{i\ldots}^\star b_{i\ldots} \) More...
 
template<Rank rank, typename ScalarA , typename ScalarB >
DenseTensor< rank, ScalarA > syten::operator* (DenseTensor< rank, ScalarA > const &a, ScalarB const b)
 \( r_{i\ldots} = b \cdot a_{i\ldots} \) More...
 
template<Rank rank, typename ScalarB , typename ScalarA >
DenseTensor< rank, ScalarA > syten::operator* (ScalarB const b, DenseTensor< rank, ScalarA > const &a)
 \( r_{i\ldots} = b \cdot a_{i\ldots} \) More...
 
template<Rank rank, typename ScalarA , typename ScalarB >
DenseTensor< rank, ScalarA > syten::operator*= (DenseTensor< rank, ScalarA > &&a, ScalarB b)
 \( a_{i\ldots} = b \cdot a_{i\ldots} \) More...
 
template<Rank rank, typename ScalarA , typename ScalarB >
DenseTensor< rank, ScalarA > & syten::operator*= (DenseTensor< rank, ScalarA > &a, ScalarB b)
 \( a_{i\ldots} = b \cdot a_{i\ldots} \) More...
 
template<Rank rank, typename Scalar >
DenseTensor< rank, Scalar > syten::operator+ (DenseTensor< rank, Scalar > const &a, DenseTensor< rank, Scalar > const &b)
 \( r_{i\ldots} = a_{i\ldots} + b_{i\ldots} \) More...
 
template<Rank rank, typename Scalar >
DenseTensor< rank, Scalar > & syten::operator+= (DenseTensor< rank, Scalar > &a, DenseTensor< rank, Scalar > const &b)
 \( a_{i\ldots} = a_{i\ldots} + b_{i\ldots} \) More...
 
template<Rank rank, typename Scalar >
DenseTensor< rank, Scalar > syten::operator- (DenseTensor< rank, Scalar > const &a, DenseTensor< rank, Scalar > const &b)
 \( r_{i\ldots} = a_{i\ldots} - b_{i\ldots} \) More...
 
template<Rank rank, typename Scalar >
DenseTensor< rank, Scalar > syten::operator-= (DenseTensor< rank, Scalar > &&a, DenseTensor< rank, Scalar > const &b)
 \( a_{i\ldots} = a_{i\ldots} - b_{i\ldots} \) More...
 
template<Rank rank, typename Scalar >
DenseTensor< rank, Scalar > & syten::operator-= (DenseTensor< rank, Scalar > &a, DenseTensor< rank, Scalar > const &b)
 \( a_{i\ldots} = a_{i\ldots} - b_{i\ldots} \) More...
 
template<Rank rank, typename Scalar >
DenseTensor< rank, Scalar > syten::operator/ (DenseTensor< rank, Scalar > const &a, typename IdentityType< Scalar >::type b)
 \( r_{i\ldots} = a_{i\ldots}/b \) More...
 
template<Rank rank, typename Scalar >
DenseTensor< rank, Scalar > & syten::operator/= (DenseTensor< rank, Scalar > &a, typename IdentityType< Scalar >::type b)
 \( a_{i\ldots} = a_{i\ldots}/b \) More...
 
template<typename Scalar >
std::ostreamsyten::operator<< (std::ostream &out, DenseTensor< 1, Scalar > const &t)
 Prettyprinting of a vector. More...
 
template<typename Scalar >
std::ostreamsyten::operator<< (std::ostream &out, DenseTensor< 2, Scalar > const &t)
 Prettyprinting of a matrix. More...
 
template<Rank rank, typename Scalar >
std::ostreamsyten::operator<< (std::ostream &out, DenseTensor< rank, Scalar > const &t)
 Prettyprinting of a rank-3 or higher tensor. More...
 
template<Rank rank, typename Scalar >
bool syten::operator== (DenseTensor< rank, Scalar > const &a, DenseTensor< rank, Scalar > const &b)
 Returns true if all elements of the two tensors are within SYTEN_SMALL_THRESHOLD of each other. More...
 
template<typename Scalar >
std::istreamsyten::operator>> (std::istream &in, DenseTensor< 1, Scalar > &v)
 Parse a rank-1 tensor from an input stream. More...
 
template<typename Scalar >
std::istreamsyten::operator>> (std::istream &in, DenseTensor< 2, Scalar > &v)
 Parse a rank-2 tensor from an input stream. More...
 
template<typename Scalar >
std::istreamsyten::operator>> (std::istream &in, DenseTensor< 3, Scalar > &v)
 Parse a rank-3 tensor from an input stream. More...
 
template<typename Type >
std::vector< Type > syten::parseVector (std::istream &in, char start='{', char end='}', char delim=',')
 Helper for the rank-3 tensor parser, reads from an input stream into a vector. More...
 
template<typename Scalar , Rank rank>
void syten::read (std::istream &in, DenseTensor< rank, Scalar > &v)
 Reads an arbitrary-rank tensor as produced by write() More...
 
template<typename ScalarBase , Rank rank>
void syten::readTabulatedCmplx (std::istream &in, DenseTensor< rank, std::complex< ScalarBase > > &t)
 Reads tabulated complex data into a pre-sized dense tensor. More...
 
template<typename Scalar , Rank rank>
void syten::readTabulatedReal (std::istream &in, DenseTensor< rank, Scalar > &t)
 Reads tabulated real data into a pre-sized dense tensor. More...
 
template<typename Scalar , Rank rank>
void syten::write (std::ostream &out, DenseTensor< rank, Scalar > const &t)
 Writes a arbitrary-rank dense tensor at the necessary precision to an output stream. More...
 

Detailed Description

Operators acting on DenseTensor.