|
template<class T > |
Tensor< typename Tensor< T >::scalar_type > | madness::abs (const Tensor< T > &t) |
| Return a new tensor holding the absolute value of each element of t.
|
|
static long | std::abs (long a) |
|
template<class T > |
Tensor< typename Tensor< T >::scalar_type > | madness::arg (const Tensor< T > &t) |
| Return a new tensor holding the argument of each element of t (complex types only)
|
|
template<typename Q > |
Q | madness::conditional_conj (const Q &coeff) |
| For real types return value, for complex return conjugate.
|
|
template<class T > |
Tensor< T > | madness::conj (const Tensor< T > &t) |
| Returns a new deep copy of the complex conjugate of the input tensor (complex types only)
|
|
template<class T > |
Tensor< T > | madness::conj_transpose (const Tensor< T > &t) |
| Returns a new deep copy of the complex conjugate transpose of the input tensor.
|
|
template<class Q , class T > |
Tensor< Q > | madness::convert (const Tensor< T > &t) |
| Returns a new contiguous tensor of type Q that is a deep copy of the input.
|
|
template<class T > |
Tensor< T > | madness::copy (const Tensor< T > &t) |
| Returns a new contiguous tensor that is a deep copy of the input.
|
|
template<class T , class Q > |
Tensor< TENSOR_RESULT_TYPE(T, Q) > & | madness::fast_transform (const Tensor< T > &t, const Tensor< Q > &c, Tensor< TENSOR_RESULT_TYPE(T, Q) > &result, Tensor< TENSOR_RESULT_TYPE(T, Q) > &workspace) |
| Restricted but heavily optimized form of transform()
|
|
template<class T , class Q > |
Tensor< TENSOR_RESULT_TYPE(T, Q)> | madness::general_transform (const Tensor< T > &t, const Tensor< Q > c[]) |
| Transform all dimensions of the tensor t by distinct matrices c.
|
|
template<class T > |
Tensor< typename Tensor< T >::scalar_type > | madness::imag (const Tensor< T > &t) |
| Return a new tensor holding the imaginary part of each element of t (complex types only)
|
|
template<class T , class Q > |
Tensor< TENSOR_RESULT_TYPE(T, Q)> | madness::inner (const Tensor< T > &left, const Tensor< Q > &right, long k0=-1, long k1=0) |
| Inner product ... result(i,j,...,p,q,...) = sum(z) left(i,j,...,z)*right(z,p,q,...)
|
|
template<class T , class Q > |
void | madness::inner_result (const Tensor< T > &left, const Tensor< Q > &right, long k0, long k1, Tensor< TENSOR_RESULT_TYPE(T, Q) > &result) |
| Accumulate inner product into user provided, contiguous, correctly sized result tensor.
|
|
template<typename T = int> |
double | madness::detail::mynorm (int t) |
|
template<typename T > |
T | madness::detail::mynorm (std::complex< T > t) |
|
template<typename T > |
T | madness::detail::mynorm (T t) |
|
template<typename T , typename Q > |
IsSupported< TensorTypeData< Q >, Tensor< T > >::type | madness::operator* (const Q &x, const Tensor< T > &t) |
| The class defines tensor op scalar ... here define scalar op tensor.
|
|
template<typename T , typename Q > |
IsSupported< TensorTypeData< Q >, Tensor< T > >::type | madness::operator+ (Q x, const Tensor< T > &t) |
| The class defines tensor op scalar ... here define scalar op tensor.
|
|
template<typename T , typename Q > |
IsSupported< TensorTypeData< Q >, Tensor< T > >::type | madness::operator- (Q x, const Tensor< T > &t) |
| The class defines tensor op scalar ... here define scalar op tensor.
|
|
template<class T > |
std::ostream & | madness::operator<< (std::ostream &s, const Tensor< T > &t) |
| Print (for human consumption) a tensor to the stream.
|
|
template<class T > |
Tensor< T > | madness::outer (const Tensor< T > &left, const Tensor< T > &right) |
| Outer product ... result(i,j,...,p,q,...) = left(i,k,...)*right(p,q,...)
|
|
template<class T > |
void | madness::outer_result (const Tensor< T > &left, const Tensor< T > &right, Tensor< T > &result) |
| Outer product ... result(i,j,...,p,q,...) = left(i,k,...)*right(p,q,...)
|
|
template<class T > |
Tensor< typename Tensor< T >::scalar_type > | madness::real (const Tensor< T > &t) |
| Return a new tensor holding the real part of each element of t (complex types only)
|
|
template<class T , class Q > |
Tensor< TENSOR_RESULT_TYPE(T, Q)> | madness::transform (const Tensor< T > &t, const Tensor< Q > &c) |
| Transform all dimensions of the tensor t by the matrix c.
|
|
template<class T , class Q > |
Tensor< TENSOR_RESULT_TYPE(T, Q)> | madness::transform_dir (const Tensor< T > &t, const Tensor< Q > &c, int axis) |
| Transforms one dimension of the tensor t by the matrix c, returns new contiguous tensor.
|
|
template<class T > |
Tensor< T > | madness::transpose (const Tensor< T > &t) |
| Returns a new deep copy of the transpose of the input tensor.
|
|
Defines and implements most of Tensor.