|
MADNESS 0.10.1
|
#include <gentensor.h>


Public Types | |
| typedef TensorTypeData< T >::float_scalar_type | float_scalar_type |
| C++ typename of the floating point type associated with scalar real type. | |
| typedef TensorTypeData< T >::scalar_type | scalar_type |
| C++ typename of the real type associated with a complex type. | |
Public Types inherited from madness::Tensor< T > | |
| typedef TensorTypeData< T >::float_scalar_type | float_scalar_type |
| C++ typename of the floating point type associated with scalar real type. | |
| typedef TensorTypeData< T >::scalar_type | scalar_type |
| C++ typename of the real type associated with a complex type. | |
| typedef T | type |
| C++ typename of this tensor. | |
Public Member Functions | |
| GenTensor () | |
| GenTensor ()=default | |
| empty ctor | |
| GenTensor (const GenTensor< T > &other)=default | |
| copy ctor, shallow | |
| GenTensor (const long ndim, const long *dims, const TensorType &tt) | |
| GenTensor (const SliceLowRankTensor< T > &other) | |
| ctor with a SliceLowRankTensor as argument, deep | |
| GenTensor (const SRConf< T > &sr1) | |
| GenTensor (const std::vector< long > &dim, const TensorArgs &targs) | |
| ctor with dimensions; constructs tensor filled with zeros | |
| GenTensor (const std::vector< long > &dim, const TensorType &tt) | |
| ctor with dimensions; constructs tensor filled with zeros | |
| GenTensor (const SVDTensor< T > &other) | |
| ctor with a SVDTensor as argument, shallow | |
| GenTensor (const Tensor< T > &other) | |
| ctor with a regular Tensor, deep | |
| GenTensor (const Tensor< T > &rhs, const double &thresh, const TensorType &tt) | |
| ctor with a regular Tensor and arguments, deep | |
| GenTensor (const Tensor< T > &rhs, const TensorArgs &targs) | |
| ctor with a regular Tensor and arguments, deep | |
| GenTensor (const Tensor< T > &t1) | |
| GenTensor (const Tensor< T > &t1, const TensorArgs &targs) | |
| GenTensor (const Tensor< T > &t1, double eps, const TensorType tt) | |
| GenTensor (const TensorTrain< T > &other) | |
| ctor with a TensorTrain as argument, shallow | |
| GenTensor (const TensorType &tt, const long k, const long ndim) | |
| ctor with dimensions; all dims have the same value k | |
| GenTensor (const TensorType tt) | |
| GenTensor (long nd, const long d[], const TensorType &tt) | |
| GenTensor (std::vector< long > v, const TensorArgs &targs) | |
| GenTensor (std::vector< long > v, const TensorType &tt) | |
| void | add_SVD (const GenTensor &other, const double &thresh) |
| void | add_SVD (const GenTensor< T > &rhs, const double &eps) |
| SRConf< T > | config () const |
| GenTensor | convert (const TensorArgs &targs) const |
| GenTensor | convert (const TensorArgs &targs) const |
| convert this to a new LowRankTensor of given tensor type | |
| GenTensor & | convert_inplace (const TensorArgs &targs) |
| long | dim (const int i) const |
| return the number of entries in dimension i | |
| const long * | dims () const |
| return the number of entries in dimension i | |
| GenTensor< T > & | emul (const GenTensor< T > &other) |
| Inplace multiply by corresponding elements of argument Tensor. | |
| Tensor< T > & | full_tensor () |
| Tensor< T > & | full_tensor () |
| const Tensor< T > & | full_tensor () const |
| const Tensor< T > & | full_tensor () const |
| Tensor< T > | full_tensor_copy () |
| Tensor< T > | full_tensor_copy () const |
| Tensor< T > | full_tensor_copy () const |
| GenTensor & | gaxpy (const T alpha, const GenTensor &other, const T beta) |
| GenTensor & | gaxpy (const T alpha, std::array< Slice, TENSOR_MAXDIM > s0, const GenTensor &other, const T beta, std::array< Slice, TENSOR_MAXDIM > s1) |
| SRConf< T > | get_configs (const int &start, const int &end) const |
| SVDTensor< T > & | get_svdtensor () |
| SVDTensor< T > & | get_svdtensor () |
| const SVDTensor< T > & | get_svdtensor () const |
| const SVDTensor< T > & | get_svdtensor () const |
| Tensor< T > & | get_tensor () |
| Tensor< T > & | get_tensor () |
| const Tensor< T > & | get_tensor () const |
| const Tensor< T > & | get_tensor () const |
| SVDTensor< T > & | get_tensortrain () |
| TensorTrain< T > & | get_tensortrain () |
| const SVDTensor< T > & | get_tensortrain () const |
| const TensorTrain< T > & | get_tensortrain () const |
| bool | has_data () const |
| bool | has_data () const |
| bool | has_no_data () const |
| bool | has_no_data () const |
| int | index () const |
| bool | is_assigned () const |
| bool | is_assigned () const |
| constexpr bool | is_full_tensor () const |
| constexpr bool | is_full_tensor () const |
| bool | is_of_tensortype (const TensorType &tt) const |
| bool | is_of_tensortype (const TensorType &tt) const |
| constexpr bool | is_svd_tensor () const |
| constexpr bool | is_svd_tensor () const |
| constexpr bool | is_tensortrain () const |
| constexpr bool | is_tensortrain () const |
| size_t | nCoeff () const |
| long | nCoeff () const |
| long | ndim () const |
| void | normalize () |
| void | normalize () |
| float_scalar_type | normf () const |
| template<class Q > | |
| operator GenTensor< Q > () const | |
| Type conversion makes a deep copy. | |
| template<class Q > | |
| operator GenTensor< Q > () const | |
| Type conversion makes a deep copy. | |
| SliceLowRankTensor< T > | operator() (const std::vector< Slice > &s) |
| general slicing, shallow; for temporary use only! | |
| const SliceLowRankTensor< T > | operator() (const std::vector< Slice > &s) const |
| general slicing, shallow; for temporary use only! | |
| template<typename Q > | |
| GenTensor< TENSOR_RESULT_TYPE(T, Q)> | operator* (const Q &x) const |
| multiply with a number | |
| GenTensor | operator+ (const GenTensor &other) |
| GenTensor | operator+ (const SliceLowRankTensor< T > &other) |
| GenTensor & | operator+= (const GenTensor &other) |
| GenTensor & | operator+= (const SliceLowRankTensor< T > &other) |
| GenTensor | operator- (const GenTensor &other) |
| GenTensor & | operator-= (const GenTensor &other) |
| GenTensor & | operator-= (const SliceLowRankTensor< T > &other) |
| GenTensor & | operator= (const GenTensor< T > &other) |
| shallow assignment operator | |
| GenTensor & | operator= (const SliceLowRankTensor< T > &other) |
| deep assignment with slices: g0 = g1(s) | |
| GenTensor & | operator= (const SVDTensor< T > &other) |
| deep assignment operator | |
| GenTensor & | operator= (const T &number) |
| assign a number to this tensor | |
| GenTensor & | operator= (const Tensor< T > &other) |
| deep assignment operator | |
| GenTensor & | operator= (const TensorTrain< T > &other) |
| deep assignment operator | |
| const BaseTensor * | ptr () const |
| might return a NULL pointer! | |
| long | rank () const |
| long | rank () const |
| size_t | real_size () const |
| long | real_size () const |
| Tensor< T > | reconstruct_tensor () const |
| Tensor< T > | reconstruct_tensor () const |
| reconstruct this to return a full tensor | |
| void | reduce_rank (const double &eps) |
| void | reduce_rank (const double &thresh) |
| template<typename Q > | |
| IsSupported< TensorTypeData< Q >, GenTensor< T > & >::type | scale (Q fac) |
| Inplace multiplication by scalar of supported type (legacy name) | |
| long | size () const |
| double | svd_normf () const |
| float_scalar_type | svd_normf () const |
| template<typename Q > | |
| TENSOR_RESULT_TYPE (T, Q) trace_conj(const GenTensor< Q > &rhs) const | |
| returns the trace of <this|rhs> | |
| TensorType | tensor_type () const |
| TensorType | tensor_type () const |
| return the tensor type | |
| std::string | what_am_i () const |
| std::string | what_am_i () const |
Public Member Functions inherited from madness::Tensor< T > | |
| Tensor () | |
| Default constructor does not allocate any data and sets ndim=-1, size=0, _p=0, and id. | |
| Tensor (const std::vector< long > &d, bool dozero=true) | |
| Create and optionally zero new n-d tensor. This is the most general constructor. | |
| Tensor (const Tensor< T > &t) | |
| Copy constructor is shallow (same as assignment) | |
| Tensor (long d0) | |
| Create and zero new 1-d tensor. | |
| Tensor (long d0, long d1) | |
| Create and zero new 2-d tensor. | |
| Tensor (long d0, long d1, long d2) | |
| Create and zero new 3-d tensor. | |
| Tensor (long d0, long d1, long d2, long d3) | |
| Create and zero new 4-d tensor. | |
| Tensor (long d0, long d1, long d2, long d3, long d4) | |
| Create and zero new 5-d tensor. | |
| Tensor (long d0, long d1, long d2, long d3, long d4, long d5) | |
| Create and zero new 6-d tensor. | |
| Tensor (long nd, const long d[], bool dozero=true) | |
| Politically incorrect general constructor. | |
| virtual | ~Tensor () |
| scalar_type | absmax (long *ind=0) const |
| Return the absolute maximum value (and if ind is non-null, its index) in the Tensor. | |
| scalar_type | absmin (long *ind=0) const |
| Return the absolute minimum value (and if ind is non-null, its index) in the Tensor. | |
| BaseTensor * | base () |
| Returns a pointer to the base class. | |
| const BaseTensor * | base () const |
| Returns a pointer to the base class. | |
| template<class Q > | |
| TensorIterator< T, Q > | binary_iterator (const Tensor< Q > &q, long iterlevel=0, bool optimize=true, bool fusedim=true, long jdim=default_jdim) const |
| Return iterator over two tensors. | |
| void | clear () |
| Frees all memory and resests to state of default constructor. | |
| template<class Q > | |
| bool | conforms (const Tensor< Q > &t) const |
Test if *this and t conform. | |
| Tensor< T > & | conj () |
| Inplace complex conjugate. | |
| Tensor< T > | cycledim (long nshift, long start, long end) |
Returns new view/tensor cycling the sub-dimensions (start,...,end) with shift steps. | |
| const Tensor< T > | cycledim (long nshift, long start, long end) const |
Returns new view/tensor cycling the sub-dimensions (start,...,end) with shift steps. | |
| Tensor< T > & | emul (const Tensor< T > &t) |
| Inplace multiply by corresponding elements of argument Tensor. | |
| const TensorIterator< T > & | end () const |
| End point for forward iteration. | |
| Tensor< T > & | fill (T x) |
| Inplace fill with a scalar (legacy name) | |
| Tensor< T > & | fillindex () |
| Inplace fill with the index of each element. | |
| Tensor< T > & | fillrandom () |
Inplace fill with random values ( [0,1] for floats, [0,MAXSIZE] for integers) | |
| Tensor< T > | flat () |
| Returns new view/tensor rehshaping to flat (1-d) tensor. | |
| const Tensor< T > | flat () const |
| Returns new view/tensor rehshaping to flat (1-d) tensor. | |
| Tensor< T > | fusedim (long i) |
Returns new view/tensor fusing contiguous dimensions i and i+1. | |
| const Tensor< T > | fusedim (long i) const |
Returns new view/tensor fusing contiguous dimensions i and i+1. | |
| Tensor< T > & | gaxpy (T alpha, const Tensor< T > &t, T beta) |
| Inplace generalized saxpy ... this = this*alpha + other*beta. | |
| bool | has_data () const |
| Tensor< T > | mapdim (const std::vector< long > &map) |
| Returns new view/tensor permuting the dimensions. | |
| const Tensor< T > | mapdim (const std::vector< long > &map) const |
| Returns new view/tensor permuting the dimensions. | |
| float_complex | max (long *ind) const |
| double_complex | max (long *ind) const |
| float_complex | max (long *ind) const |
| double_complex | max (long *ind) const |
| T | max (long *ind=0) const |
| Return the maximum value (and if ind is non-null, its index) in the Tensor. | |
| float_complex | min (long *ind) const |
| double_complex | min (long *ind) const |
| float_complex | min (long *ind) const |
| double_complex | min (long *ind) const |
| T | min (long *ind=0) const |
| Return the minimum value (and if ind is non-null, its index) in the Tensor. | |
| float_scalar_type | normf () const |
| Returns the Frobenius norm of the tensor. | |
| template<class Q > | |
| operator Tensor< Q > () const | |
| Type conversion makes a deep copy. | |
| T & | operator() (const long ind[]) |
| Politically incorrect general indexing operation without bounds checking. | |
| const T & | operator() (const long ind[]) const |
| Politically incorrect general indexing operation without bounds checking. | |
| SliceTensor< T > | operator() (const Slice &s0) |
| Return a 1d SliceTensor that views the specified range of the 1d Tensor. | |
| const Tensor< T > | operator() (const Slice &s0) const |
| Return a 1d SliceTensor that views the specified range of the 1d Tensor. | |
| SliceTensor< T > | operator() (const Slice &s0, const Slice &s1) |
| Return a 2d SliceTensor that views the specified range of the 2d Tensor. | |
| const Tensor< T > | operator() (const Slice &s0, const Slice &s1) const |
| Return a 2d constant Tensor that views the specified range of the 2d Tensor. | |
| SliceTensor< T > | operator() (const Slice &s0, const Slice &s1, const Slice &s2) |
| Return a 3d SliceTensor that views the specified range of the 3d Tensor. | |
| const Tensor< T > | operator() (const Slice &s0, const Slice &s1, const Slice &s2) const |
| Return a 3d constant Tensor that views the specified range of the 3d Tensor. | |
| SliceTensor< T > | operator() (const Slice &s0, const Slice &s1, const Slice &s2, const Slice &s3) |
| Return a 1-4d SliceTensor that views the specified range of the 4d Tensor. | |
| const Tensor< T > | operator() (const Slice &s0, const Slice &s1, const Slice &s2, const Slice &s3) const |
| Return a 1-4d constant Tensor that views the specified range of the 4d Tensor. | |
| SliceTensor< T > | operator() (const Slice &s0, const Slice &s1, const Slice &s2, const Slice &s3, const Slice &s4) |
| Return a 1-5d SliceTensor that views the specified range of the 5d Tensor. | |
| const Tensor< T > | operator() (const Slice &s0, const Slice &s1, const Slice &s2, const Slice &s3, const Slice &s4) const |
| Return a 1-5d constant Tensor that views the specified range of the 5d Tensor. | |
| SliceTensor< T > | operator() (const Slice &s0, const Slice &s1, const Slice &s2, const Slice &s3, const Slice &s4, const Slice &s5) |
| Return a 1-6d SliceTensor that views the specified range of the 6d Tensor. | |
| const Tensor< T > | operator() (const Slice &s0, const Slice &s1, const Slice &s2, const Slice &s3, const Slice &s4, const Slice &s5) const |
| Return a 1-6d constant Tensor that views the specified range of the 6d Tensor. | |
| SliceTensor< T > | operator() (const Slice &s0, const Slice &s1, long k) |
| Return a 2d SliceTensor that views the specified range of the 3d Tensor. | |
| const Tensor< T > | operator() (const Slice &s0, const Slice &s1, long k) const |
| Return a 2d constant Tensor that views the specified range of the 3d Tensor. | |
| SliceTensor< T > | operator() (const Slice &s0, long j) |
| Return a 1d SliceTensor that views the specified range of the 2d Tensor. | |
| const Tensor< T > | operator() (const Slice &s0, long j) const |
| Return a 1d constant Tensor that views the specified range of the 2d Tensor. | |
| SliceTensor< T > | operator() (const Slice &s0, long j, const Slice &s2) |
| Return a 2d SliceTensor that views the specified range of the 3d Tensor. | |
| const Tensor< T > | operator() (const Slice &s0, long j, const Slice &s2) const |
| Return a 2d constant Tensor that views the specified range of the 3d Tensor. | |
| SliceTensor< T > | operator() (const Slice &s0, long j, long k) |
| Return a 1d SliceTensor that views the specified range of the 3d Tensor. | |
| const Tensor< T > | operator() (const Slice &s0, long j, long k) const |
| Return a 1d constant Tensor that views the specified range of the 3d Tensor. | |
| SliceTensor< T > | operator() (const std::array< Slice, TENSOR_MAXDIM > &s) |
| General slicing operation. | |
| const Tensor< T > | operator() (const std::array< Slice, TENSOR_MAXDIM > &s) const |
| General slicing operation (const) | |
| T & | operator() (const std::vector< long > ind) |
| General indexing operation with bounds checking. | |
| const T & | operator() (const std::vector< long > ind) const |
| General indexing operation with bounds checking. | |
| SliceTensor< T > | operator() (const std::vector< Slice > &s) |
| General slicing operation. | |
| const Tensor< T > | operator() (const std::vector< Slice > &s) const |
| General slicing operation (const) | |
| T & | operator() (long i) |
| 1-d indexing operation without bounds checking. | |
| const T & | operator() (long i) const |
| 1-d indexing operation without bounds checking. | |
| SliceTensor< T > | operator() (long i, const Slice &s1) |
| Return a 1d SliceTensor that views the specified range of the 2d Tensor. | |
| const Tensor< T > | operator() (long i, const Slice &s1) const |
| Return a 1d SliceTensor that views the specified range of the 2d Tensor. | |
| SliceTensor< T > | operator() (long i, const Slice &s1, const Slice &s2) |
| Return a 2d SliceTensor that views the specified range of the 3d Tensor. | |
| const Tensor< T > | operator() (long i, const Slice &s1, const Slice &s2) const |
| Return a 2d constant Tensor that views the specified range of the 3d Tensor. | |
| SliceTensor< T > | operator() (long i, const Slice &s1, long k) |
| Return a 1d SliceTensor that views the specified range of the 3d Tensor. | |
| const Tensor< T > | operator() (long i, const Slice &s1, long k) const |
| Return a 1d constant Tensor that views the specified range of the 3d Tensor. | |
| T & | operator() (long i, long j) |
| 2-d indexing operation without bounds checking. | |
| const T & | operator() (long i, long j) const |
| 2-d indexing operation without bounds checking. | |
| SliceTensor< T > | operator() (long i, long j, const Slice &s2) |
| Return a 1d SliceTensor that views the specified range of the 3d Tensor. | |
| const Tensor< T > | operator() (long i, long j, const Slice &s2) const |
| Return a 1d constant Tensor that views the specified range of the 3d Tensor. | |
| T & | operator() (long i, long j, long k) |
| 3-d indexing operation without bounds checking. | |
| const T & | operator() (long i, long j, long k) const |
| 3-d indexing operation without bounds checking. | |
| T & | operator() (long i, long j, long k, long l) |
| 4-d indexing operation without bounds checking. | |
| const T & | operator() (long i, long j, long k, long l) const |
| 4-d indexing operation without bounds checking. | |
| T & | operator() (long i, long j, long k, long l, long m) |
| 5-d indexing operation without bounds checking. | |
| const T & | operator() (long i, long j, long k, long l, long m) const |
| 5-d indexing operation without bounds checking. | |
| T & | operator() (long i, long j, long k, long l, long m, long n) |
| 6-d indexing operation without bounds checking. | |
| const T & | operator() (long i, long j, long k, long l, long m, long n) const |
| 6-d indexing operation without bounds checking. | |
| template<typename Q > | |
| IsSupported< TensorTypeData< Q >, Tensor< TENSOR_RESULT_TYPE(T, Q)> >::type | operator* (const Q &x) const |
| Multiplication of tensor by a scalar of a supported type to produce a new tensor. | |
| template<typename Q > | |
| IsSupported< TensorTypeData< Q >, Tensor< T > & >::type | operator*= (const Q &x) |
| Inplace multiplication by scalar of supported type. | |
| template<typename Q > | |
| IsSupported< TensorTypeData< Q >, Tensor< TENSOR_RESULT_TYPE(T, Q)> >::type | operator+ (const Q &x) const |
| Add a scalar of the same type to all elements of a tensor producing a new tensor. | |
| template<typename Q > | |
| Tensor< TENSOR_RESULT_TYPE(T, Q) > | operator+ (const Tensor< Q > &t) const |
| Addition of two tensors to produce a new tensor. | |
| template<typename Q > | |
| IsSupported< TensorTypeData< Q >, Tensor< T > & >::type | operator+= (const Q &x) |
| Inplace increment by scalar of supported type. | |
| template<typename Q > | |
| Tensor< T > & | operator+= (const Tensor< Q > &t) |
| Inplace addition of two tensors. | |
| Tensor< T > | operator- () const |
| Unary negation producing a new tensor. | |
| template<typename Q > | |
| IsSupported< TensorTypeData< Q >, Tensor< TENSOR_RESULT_TYPE(T, Q)> >::type | operator- (const Q &x) const |
| Subtract a scalar of the same type from all elements producing a new tensor. | |
| template<typename Q > | |
| Tensor< TENSOR_RESULT_TYPE(T, Q) > | operator- (const Tensor< Q > &t) const |
| Subtraction of two tensors to produce a new tensor. | |
| template<typename Q > | |
| IsSupported< TensorTypeData< Q >, Tensor< T > & >::type | operator-= (const Q &x) |
| Inplace decrement by scalar of supported type. | |
| template<typename Q > | |
| Tensor< T > & | operator-= (const Tensor< Q > &t) |
| Inplace subtraction of two tensors. | |
| template<typename Q > | |
| IsSupported< TensorTypeData< Q >, Tensor< TENSOR_RESULT_TYPE(T, Q)> >::type | operator/ (const Q &x) const |
| Divide tensor by a scalar of a supported type to produce a new tensor. | |
| Tensor< T > & | operator= (const Tensor< T > &t) |
| Assignment is shallow (same as copy constructor) | |
| Tensor< T > & | operator= (T x) |
| Inplace fill tensor with scalar. | |
| T & | operator[] (long i) |
1-d indexing operation using [] without bounds checking. | |
| const T & | operator[] (long i) const |
1-d indexing operation using [] without bounds checking. | |
| T | product () const |
| Return the product of all elements of the tensor. | |
| T * | ptr () |
| Returns a pointer to the internal data. | |
| const T * | ptr () const |
| Returns a pointer to the internal data. | |
| Tensor< T > | reshape (const std::vector< long > &d) |
| Returns new view/tensor reshaping size/number of dimensions to conforming tensor. | |
| const Tensor< T > | reshape (const std::vector< long > &d) const |
| Returns new view/tensor reshaping size/number of dimensions to conforming tensor. | |
| Tensor< T > | reshape (int ndimnew, const long *d) |
| Returns new view/tensor reshaping size/number of dimensions to conforming tensor. | |
| const Tensor< T > | reshape (int ndimnew, const long *d) const |
| Returns new view/tensor reshaping size/number of dimensions to conforming tensor. | |
| Tensor< T > | reshape (long dim0) |
| Returns new view/tensor rehapings to conforming 1-d tensor with given dimension. | |
| const Tensor< T > | reshape (long dim0) const |
| Returns new view/tensor rehapings to conforming 1-d tensor with given dimension. | |
| Tensor< T > | reshape (long dim0, long dim1) |
| Returns new view/tensor rehaping to conforming 2-d tensor with given dimensions. | |
| const Tensor< T > | reshape (long dim0, long dim1) const |
| Returns new view/tensor rehaping to conforming 2-d tensor with given dimensions. | |
| Tensor< T > | reshape (long dim0, long dim1, long dim2) |
| Returns new view/tensor rehaping to conforming 3-d tensor with given dimensions. | |
| const Tensor< T > | reshape (long dim0, long dim1, long dim2) const |
| Returns new view/tensor rehaping to conforming 3-d tensor with given dimensions. | |
| Tensor< T > | reshape (long dim0, long dim1, long dim2, long dim3) |
| Returns new view/tensor rehaping to conforming 4-d tensor with given dimensions. | |
| const Tensor< T > | reshape (long dim0, long dim1, long dim2, long dim3) const |
| Returns new view/tensor rehaping to conforming 4-d tensor with given dimensions. | |
| Tensor< T > | reshape (long dim0, long dim1, long dim2, long dim3, long dim4) |
| Returns new view/tensor rehaping to conforming 5-d tensor with given dimensions. | |
| const Tensor< T > | reshape (long dim0, long dim1, long dim2, long dim3, long dim4) const |
| Returns new view/tensor rehaping to conforming 5-d tensor with given dimensions. | |
| Tensor< T > | reshape (long dim0, long dim1, long dim2, long dim3, long dim4, long dim5) |
| Returns new view/tensor rehaping to conforming 6-d tensor with given dimensions. | |
| const Tensor< T > | reshape (long dim0, long dim1, long dim2, long dim3, long dim4, long dim5) const |
| Returns new view/tensor rehaping to conforming 6-d tensor with given dimensions. | |
| template<typename Q > | |
| IsSupported< TensorTypeData< Q >, Tensor< T > & >::type | scale (Q x) |
| Inplace multiplication by scalar of supported type (legacy name) | |
| Tensor< T > & | screen (double x) |
Inplace set elements of *this less than x in absolute magnitude to zero. | |
| Tensor< T > | splitdim (long i, long dimi0, long dimi1) |
Returns new view/tensor splitting dimension i as dimi0*dimi1 to produce conforming d+1 dimension tensor. | |
| const Tensor< T > | splitdim (long i, long dimi0, long dimi1) const |
Returns new view/tensor splitting dimension i as dimi0*dimi1 to produce conforming d+1 dimension tensor. | |
| T | sum () const |
| Returns the sum of all elements of the tensor. | |
| T | sumsq () const |
| Returns the sum of the squares of the elements. | |
| Tensor< T > | swapdim (long idim, long jdim) |
Returns new view/tensor swaping dimensions i and j. | |
| const Tensor< T > | swapdim (long idim, long jdim) const |
Returns new view/tensor swaping dimensions i and j. | |
| template<class Q > | |
| TENSOR_RESULT_TYPE (T, Q) trace(const Tensor< Q > &t) const | |
| Return the trace of two tensors (no complex conjugate invoked) | |
| template<class Q > | |
| TENSOR_RESULT_TYPE (T, Q) trace_conj(const Tensor< Q > &t) const | |
| Return the trace of two tensors with complex conjugate of the leftmost (i.e., this) | |
| template<class Q , class R > | |
| TensorIterator< T, Q, R > | ternary_iterator (const Tensor< Q > &q, const Tensor< R > &r, long iterlevel=0, bool optimize=true, bool fusedim=true, long jdim=default_jdim) const |
| Return iterator over three tensors. | |
| TensorIterator< T > | unary_iterator (long iterlevel=0, bool optimize=true, bool fusedim=true, long jdim=default_jdim) const |
| Return iterator over single tensor. | |
| template<typename opT > | |
| Tensor< T > & | unaryop (opT &op) |
| Inplace apply a unary function to each element of the tensor. | |
Public Member Functions inherited from madness::BaseTensor | |
| BaseTensor () | |
| virtual | ~BaseTensor () |
| bool | conforms (const BaseTensor *t) const |
| Returns true if this and *t are the same shape and size. | |
| long | dim (int i) const |
Returns the size of dimension i. | |
| const long * | dims () const |
| Returns the array of tensor dimensions. | |
| long | id () const |
Returns the typeid of the tensor (c.f., TensorTypeData<T> ) | |
| bool | iscontiguous () const |
| Returns true if the tensor refers to contiguous memory locations. | |
| long | ndim () const |
| Returns the number of dimensions in the tensor. | |
| long | size () const |
| Returns the number of elements in the tensor. | |
| long | stride (int i) const |
Returns the stride associated with dimension i. | |
| const long * | strides () const |
| Returns the array of tensor strides. | |
Static Public Member Functions | |
| static double | fac_reduce () |
| return the additional safety for rank reduction | |
| static double | fac_reduce () |
| static double | facReduce () |
Static Public Member Functions inherited from madness::Tensor< T > | |
| static bool | bounds_checking () |
| Return true if bounds checking was enabled at compile time. | |
Static Public Member Functions inherited from madness::BaseTensor | |
| static int | get_instance_count () |
| Returns the count of all current instances of tensors & slice tensors of all types. | |
Private Attributes | |
| std::variant< std::shared_ptr< Tensor< T > >, std::shared_ptr< SVDTensor< T > >, std::shared_ptr< TensorTrain< T > > > | tensor |
| holding the implementation of the low rank tensor representations | |
Friends | |
| GenTensor | copy (const GenTensor &other) |
| deep copy | |
| template<typename R , typename Q > | |
| GenTensor< TENSOR_RESULT_TYPE(R, Q)> | general_transform (const GenTensor< R > &t, const Tensor< Q > c[]) |
| Transform all dimensions of the tensor t by distinct matrices c. | |
| template<typename Q , typename R > | |
| bool | is_same_tensor_type (const GenTensor< R > &rhs, const GenTensor< Q > &lhs) |
| class | SliceLowRankTensor< T > |
| template<typename R , typename Q > | |
| GenTensor< TENSOR_RESULT_TYPE(R, Q)> | transform (const GenTensor< R > &t, const Tensor< Q > &c) |
| Transform all dimensions of the tensor t by the matrix c. | |
| template<typename R , typename Q > | |
| GenTensor< TENSOR_RESULT_TYPE(R, Q)> | transform_dir (const GenTensor< R > &t, const Tensor< Q > &c, const int axis) |
| Transforms one dimension of the tensor t by the matrix c, returns new contiguous tensor. | |
Additional Inherited Members | |
Protected Member Functions inherited from madness::Tensor< T > | |
| void | allocate (long nd, const long d[], bool dozero) |
| void | deallocate () |
Protected Member Functions inherited from madness::BaseTensor | |
| void | cycledim_inplace (long shift, long start, long end) |
| Cyclic shift of dimensions. | |
| void | flat_inplace () |
| Reshapes the tensor inplace into 1D. | |
| void | fusedim_inplace (long i) |
Fuses dimensions i and i+1. | |
| void | mapdim_inplace (const std::vector< long > &map) |
| General permutation of dimensions. | |
| void | reshape_inplace (const std::vector< long > &d) |
| Reshapes the tensor inplace. | |
| void | reshape_inplace (int ndimnew, const long *d) |
| Reshapes the tensor inplace. | |
| void | set_dims_and_size (long nd, const long d[]) |
| void | splitdim_inplace (long i, long dimi0, long dimi1) |
Splits dimension i. | |
| void | swapdim_inplace (long i, long j) |
| Swaps the dimensions. | |
Protected Attributes inherited from madness::Tensor< T > | |
| T *MADNESS_RESTRICT | _p |
| TENSOR_SHARED_PTR< T > | _shptr |
Protected Attributes inherited from madness::BaseTensor | |
| long | _dim [TENSOR_MAXDIM] |
| Size of each dimension. | |
| long | _id |
| Id from TensorTypeData<T> in type_data.h. | |
| long | _ndim |
| Number of dimensions (-1=invalid; 0=no supported; >0=tensor) | |
| long | _size |
| Number of elements in the tensor. | |
| long | _stride [TENSOR_MAXDIM] |
| Increment between elements in each dimension. | |
| typedef TensorTypeData<T>::float_scalar_type madness::GenTensor< T >::float_scalar_type |
C++ typename of the floating point type associated with scalar real type.
| typedef TensorTypeData<T>::scalar_type madness::GenTensor< T >::scalar_type |
C++ typename of the real type associated with a complex type.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References MADNESS_EXCEPTION.
|
inline |
|
default |
empty ctor
copy ctor, shallow
|
inline |
|
inline |
ctor with dimensions; constructs tensor filled with zeros
|
inline |
ctor with dimensions; constructs tensor filled with zeros
|
inline |
ctor with dimensions; all dims have the same value k
|
inline |
ctor with a regular Tensor and arguments, deep
|
inline |
ctor with a regular Tensor and arguments, deep
References madness::GenTensor< T >::copy, madness::GenTensor< T >::facReduce(), MADNESS_EXCEPTION, madness::nonlinear_vector_solver(), madness::GenTensor< T >::tensor, madness::TensorArgs::thresh, madness::TensorArgs::tt, madness::TT_2D, madness::TT_FULL, and madness::TT_TENSORTRAIN.
ctor with a regular Tensor, deep
References madness::GenTensor< T >::copy, madness::nonlinear_vector_solver(), and madness::GenTensor< T >::tensor.
|
inline |
ctor with a TensorTrain as argument, shallow
References madness::GenTensor< T >::copy, madness::nonlinear_vector_solver(), and madness::GenTensor< T >::tensor.
ctor with a SVDTensor as argument, shallow
References madness::GenTensor< T >::copy, madness::nonlinear_vector_solver(), and madness::GenTensor< T >::tensor.
|
inline |
ctor with a SliceLowRankTensor as argument, deep
|
inline |
References madness::GenTensor< T >::facReduce(), madness::GenTensor< T >::get_svdtensor(), madness::GenTensor< T >::get_tensor(), madness::GenTensor< T >::get_tensortrain(), madness::GenTensor< T >::is_full_tensor(), madness::GenTensor< T >::is_svd_tensor(), madness::GenTensor< T >::is_tensortrain(), MADNESS_EXCEPTION, and thresh.
References madness::nonlinear_vector_solver().
Referenced by madness::FunctionNode< T, NDIM >::accumulate(), and madness::FunctionNode< T, NDIM >::consolidate_buffer().
References MADNESS_EXCEPTION.
|
inline |
References madness::GenTensor< T >::copy.
Referenced by madness::FunctionImpl< T, NDIM >::assemble_coefficients(), madness::FunctionImpl< T, NDIM >::do_apply_directed_screening(), madness::FunctionImpl< T, NDIM >::do_apply_kernel3(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::operator()(), and test_convert().
|
inline |
convert this to a new LowRankTensor of given tensor type
References madness::GenTensor< T >::convert_inplace(), madness::GenTensor< T >::copy, madness::GenTensor< T >::get_tensor(), madness::GenTensor< T >::is_full_tensor(), madness::GenTensor< T >::is_of_tensortype(), and madness::TensorArgs::tt.
|
inline |
References madness::GenTensor< T >::copy, madness::BaseTensor::dim(), madness::GenTensor< T >::dims(), madness::GenTensor< T >::full_tensor_copy(), madness::GenTensor< T >::get_tensor(), madness::GenTensor< T >::get_tensortrain(), madness::GenTensor< T >::index(), madness::GenTensor< T >::is_assigned(), madness::GenTensor< T >::is_full_tensor(), madness::GenTensor< T >::is_of_tensortype(), madness::GenTensor< T >::is_svd_tensor(), madness::GenTensor< T >::is_tensortrain(), m, MADNESS_ASSERT, MADNESS_EXCEPTION, madness::BaseTensor::ndim(), madness::GenTensor< T >::ndim(), madness::nonlinear_vector_solver(), madness::print(), madness::GenTensor< T >::rank(), madness::Tensor< T >::reshape(), madness::BaseTensor::size(), madness::TensorArgs::thresh, madness::transpose(), madness::TensorArgs::tt, madness::TT_2D, madness::TT_FULL, and madness::TT_TENSORTRAIN.
Referenced by madness::GenTensor< T >::convert().
return the number of entries in dimension i
References madness::BaseTensor::dim(), madness::GenTensor< T >::is_assigned(), MADNESS_ASSERT, and madness::GenTensor< T >::ptr().
Referenced by madness::FunctionImpl< T, NDIM >::pointwise_multiplier< LDIM >::pointwise_multiplier(), madness::SeparatedConvolution< Q, NDIM >::apply2(), madness::SeparatedConvolution< Q, NDIM >::apply2_lowdim(), madness::FunctionNode< T, NDIM >::coeff(), madness::SeparatedConvolution< Q, NDIM >::estimate_costs(), madness::TwoElectronInterface< T, NDIM >::initialize(), madness::FunctionImpl< T, NDIM >::NS_fcube_for_mul(), madness::FunctionImpl< T, NDIM >::NScoeffs2values(), madness::FunctionImpl< T, NDIM >::pointwise_multiplier< LDIM >::operator()(), madness::outer(), madness::FunctionImpl< T, NDIM >::parent_to_child_NS(), madness::SeparatedConvolution< Q, NDIM >::partial_upsample(), madness::FunctionNode< T, NDIM >::print_json(), madness::FunctionNode< T, NDIM >::set_coeff(), madness::FunctionImpl< T, NDIM >::tnorm(), and madness::FunctionImpl< T, NDIM >::values2NScoeffs().
|
inline |
return the number of entries in dimension i
References madness::BaseTensor::dims(), madness::GenTensor< T >::is_assigned(), MADNESS_ASSERT, and madness::GenTensor< T >::ptr().
Referenced by madness::GenTensor< T >::GenTensor(), and madness::GenTensor< T >::convert_inplace().
Inplace multiply by corresponding elements of argument Tensor.
References madness::GenTensor< T >::get_svdtensor(), madness::GenTensor< T >::get_tensor(), madness::GenTensor< T >::get_tensortrain(), madness::GenTensor< T >::is_full_tensor(), madness::GenTensor< T >::is_same_tensor_type, madness::GenTensor< T >::is_svd_tensor(), madness::GenTensor< T >::is_tensortrain(), MADNESS_ASSERT, and MADNESS_EXCEPTION.
Referenced by madness::FunctionImpl< T, NDIM >::multiply(), and madness::FunctionImpl< T, NDIM >::pointwise_multiplier< LDIM >::operator()().
return the additional safety for rank reduction
References madness::GenTensor< T >::get_tensor().
Referenced by madness::FunctionImpl< T, NDIM >::autorefine_square_test(), madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::operator()(), madness::FunctionImpl< T, NDIM >::pointwise_multiplier< LDIM >::operator()(), madness::FunctionImpl< T, NDIM >::do_inner_local_on_demand< R >::operator()(), and madness::GenTensor< T >::reconstruct_tensor().
References madness::GenTensor< T >::get_tensor().
References madness::GenTensor< T >::copy.
References madness::GenTensor< T >::copy, madness::GenTensor< T >::get_svdtensor(), madness::GenTensor< T >::get_tensor(), madness::GenTensor< T >::get_tensortrain(), madness::GenTensor< T >::is_assigned(), madness::GenTensor< T >::is_full_tensor(), madness::GenTensor< T >::is_svd_tensor(), madness::GenTensor< T >::is_tensortrain(), MADNESS_EXCEPTION, and madness::nonlinear_vector_solver().
|
inline |
References alpha, beta, madness::GenTensor< T >::get_svdtensor(), madness::GenTensor< T >::get_tensor(), madness::GenTensor< T >::get_tensortrain(), madness::GenTensor< T >::is_assigned(), madness::GenTensor< T >::is_full_tensor(), madness::GenTensor< T >::is_same_tensor_type, madness::GenTensor< T >::is_svd_tensor(), madness::GenTensor< T >::is_tensortrain(), MADNESS_ASSERT, and MADNESS_EXCEPTION.
Referenced by madness::GenTensor< T >::gaxpy(), madness::FunctionNode< T, NDIM >::gaxpy_inplace(), madness::GenTensor< T >::operator+(), madness::GenTensor< T >::operator+(), madness::GenTensor< T >::operator+=(), madness::GenTensor< T >::operator+=(), madness::GenTensor< T >::operator-(), madness::GenTensor< T >::operator-=(), madness::GenTensor< T >::operator-=(), madness::FunctionImpl< T, NDIM >::sum_down_spawn(), and madness::FunctionImpl< T, NDIM >::vtransform_doit().
|
inline |
References alpha, beta, madness::GenTensor< T >::gaxpy(), madness::GenTensor< T >::get_svdtensor(), madness::GenTensor< T >::get_tensor(), madness::GenTensor< T >::get_tensortrain(), madness::GenTensor< T >::is_assigned(), madness::GenTensor< T >::is_full_tensor(), madness::GenTensor< T >::is_same_tensor_type, madness::GenTensor< T >::is_svd_tensor(), madness::GenTensor< T >::is_tensortrain(), MADNESS_ASSERT, MADNESS_EXCEPTION, and s0.
|
inline |
References MADNESS_EXCEPTION.
References MADNESS_EXCEPTION.
Referenced by madness::FunctionImpl< T, NDIM >::pointwise_multiplier< LDIM >::pointwise_multiplier(), madness::GenTensor< T >::add_SVD(), madness::SeparatedConvolution< Q, NDIM >::apply2(), madness::SeparatedConvolution< Q, NDIM >::apply2_lowdim(), madness::FunctionImpl< T, NDIM >::do_apply_directed_screening(), madness::GenTensor< T >::emul(), madness::SeparatedConvolution< Q, NDIM >::estimate_costs(), madness::GenTensor< T >::full_tensor_copy(), madness::SliceLowRankTensor< T >::gaxpy(), madness::GenTensor< T >::gaxpy(), madness::GenTensor< T >::gaxpy(), madness::GenTensor< T >::nCoeff(), madness::GenTensor< T >::normalize(), madness::GenTensor< T >::operator=(), madness::SliceLowRankTensor< T >::operator=(), madness::GenTensor< T >::rank(), madness::GenTensor< T >::real_size(), madness::GenTensor< T >::reduce_rank(), madness::GenTensor< T >::svd_normf(), and madness::GenTensor< T >::TENSOR_RESULT_TYPE().
|
inline |
References MADNESS_EXCEPTION.
|
inline |
Referenced by madness::GenTensor< T >::add_SVD(), madness::convert(), madness::GenTensor< T >::convert(), madness::GenTensor< T >::convert_inplace(), madness::GenTensor< T >::emul(), madness::GenTensor< T >::full_tensor(), madness::GenTensor< T >::full_tensor(), madness::GenTensor< T >::full_tensor_copy(), madness::SliceLowRankTensor< T >::gaxpy(), madness::GenTensor< T >::gaxpy(), madness::GenTensor< T >::gaxpy(), madness::GenTensor< T >::nCoeff(), madness::GenTensor< T >::operator GenTensor< Q >(), madness::GenTensor< T >::operator=(), madness::SliceLowRankTensor< T >::operator=(), madness::outer(), madness::GenTensor< T >::real_size(), and madness::GenTensor< T >::TENSOR_RESULT_TYPE().
References MADNESS_EXCEPTION.
Referenced by madness::GenTensor< T >::add_SVD(), madness::GenTensor< T >::convert_inplace(), madness::GenTensor< T >::emul(), madness::GenTensor< T >::full_tensor_copy(), madness::SliceLowRankTensor< T >::gaxpy(), madness::GenTensor< T >::gaxpy(), madness::GenTensor< T >::gaxpy(), madness::GenTensor< T >::nCoeff(), madness::GenTensor< T >::operator=(), madness::SliceLowRankTensor< T >::operator=(), madness::outer(), madness::GenTensor< T >::rank(), madness::GenTensor< T >::real_size(), madness::GenTensor< T >::reduce_rank(), and madness::GenTensor< T >::TENSOR_RESULT_TYPE().
|
inline |
|
inline |
References MADNESS_EXCEPTION.
|
inline |
|
inline |
References madness::GenTensor< T >::size().
Referenced by madness::FunctionNode< T, NDIM >::accumulate(), madness::FunctionImpl< T, NDIM >::apply_source_driven(), madness::FunctionNode< T, NDIM >::consolidate_buffer(), madness::SliceLowRankTensor< T >::gaxpy(), madness::FunctionNode< T, NDIM >::has_coeff(), madness::GenTensor< T >::has_no_data(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::operator()(), madness::accumulate_op< T, NDIM >::operator()(), and madness::FunctionNode< T, NDIM >::set_coeff().
|
inline |
References madness::GenTensor< T >::size().
|
inline |
References madness::GenTensor< T >::has_data(), and madness::nonlinear_vector_solver().
Referenced by madness::Leaf_op< T, NDIM, opT, specialboxT >::compare_to_parent().
|
inline |
References madness::GenTensor< T >::has_data(), and madness::nonlinear_vector_solver().
|
inline |
References madness::GenTensor< T >::is_assigned(), and madness::GenTensor< T >::tensor.
Referenced by madness::GenTensor< T >::convert_inplace(), madness::GenTensor< T >::is_full_tensor(), madness::GenTensor< T >::is_of_tensortype(), madness::GenTensor< T >::is_svd_tensor(), madness::GenTensor< T >::is_tensortrain(), and madness::GenTensor< T >::tensor_type().
|
inline |
References madness::GenTensor< T >::size().
Referenced by madness::GenTensor< T >::convert_inplace(), madness::GenTensor< T >::dim(), madness::GenTensor< T >::dims(), madness::GenTensor< T >::full_tensor_copy(), madness::GenTensor< T >::gaxpy(), madness::GenTensor< T >::gaxpy(), madness::GenTensor< T >::get_svdtensor(), madness::GenTensor< T >::get_svdtensor(), madness::GenTensor< T >::get_tensor(), madness::GenTensor< T >::get_tensor(), madness::GenTensor< T >::get_tensortrain(), madness::GenTensor< T >::get_tensortrain(), madness::GenTensor< T >::index(), madness::GenTensor< T >::ndim(), madness::GenTensor< T >::operator=(), madness::GenTensor< T >::scale(), and madness::GenTensor< T >::size().
|
inline |
References madness::nonlinear_vector_solver(), and madness::GenTensor< T >::ptr().
|
inlineconstexpr |
Referenced by madness::GenTensor< T >::add_SVD(), madness::convert(), madness::GenTensor< T >::convert(), madness::GenTensor< T >::convert_inplace(), madness::FunctionImpl< T, NDIM >::do_apply_kernel2(), madness::GenTensor< T >::emul(), madness::SeparatedConvolution< Q, NDIM >::estimate_costs(), madness::GenTensor< T >::full_tensor_copy(), madness::SliceLowRankTensor< T >::gaxpy(), madness::GenTensor< T >::gaxpy(), madness::GenTensor< T >::gaxpy(), madness::GenTensor< T >::nCoeff(), madness::GenTensor< T >::operator GenTensor< Q >(), madness::GenTensor< T >::operator=(), madness::SliceLowRankTensor< T >::operator=(), madness::outer(), madness::GenTensor< T >::rank(), madness::GenTensor< T >::real_size(), madness::GenTensor< T >::reconstruct_tensor(), madness::GenTensor< T >::TENSOR_RESULT_TYPE(), and madness::GenTensor< T >::what_am_i().
|
inlineconstexpr |
References madness::GenTensor< T >::index().
|
inline |
References madness::TT_FULL.
Referenced by madness::GenTensor< T >::convert(), madness::GenTensor< T >::convert_inplace(), and madness::FunctionImpl< T, NDIM >::do_apply_kernel3().
|
inline |
|
inlineconstexpr |
Referenced by madness::FunctionImpl< T, NDIM >::pointwise_multiplier< LDIM >::pointwise_multiplier(), madness::GenTensor< T >::add_SVD(), madness::SeparatedConvolution< Q, NDIM >::apply2(), madness::SeparatedConvolution< Q, NDIM >::apply2_lowdim(), madness::convert(), madness::GenTensor< T >::convert_inplace(), madness::FunctionImpl< T, NDIM >::do_apply_kernel2(), madness::GenTensor< T >::emul(), madness::SeparatedConvolution< Q, NDIM >::estimate_costs(), madness::GenTensor< T >::full_tensor_copy(), madness::SliceLowRankTensor< T >::gaxpy(), madness::GenTensor< T >::gaxpy(), madness::GenTensor< T >::gaxpy(), madness::GenTensor< T >::nCoeff(), madness::GenTensor< T >::normalize(), madness::GenTensor< T >::operator GenTensor< Q >(), madness::GenTensor< T >::operator=(), madness::SliceLowRankTensor< T >::operator=(), madness::GenTensor< T >::rank(), madness::GenTensor< T >::real_size(), madness::GenTensor< T >::reconstruct_tensor(), madness::GenTensor< T >::reduce_rank(), madness::GenTensor< T >::svd_normf(), madness::GenTensor< T >::TENSOR_RESULT_TYPE(), and madness::GenTensor< T >::what_am_i().
|
inlineconstexpr |
References madness::GenTensor< T >::index().
|
inlineconstexpr |
Referenced by madness::GenTensor< T >::add_SVD(), madness::convert(), madness::GenTensor< T >::convert_inplace(), madness::GenTensor< T >::emul(), madness::GenTensor< T >::full_tensor_copy(), madness::SliceLowRankTensor< T >::gaxpy(), madness::GenTensor< T >::gaxpy(), madness::GenTensor< T >::gaxpy(), madness::GenTensor< T >::nCoeff(), madness::GenTensor< T >::operator GenTensor< Q >(), madness::GenTensor< T >::operator=(), madness::SliceLowRankTensor< T >::operator=(), madness::outer(), madness::GenTensor< T >::rank(), madness::GenTensor< T >::real_size(), madness::GenTensor< T >::reconstruct_tensor(), madness::GenTensor< T >::reduce_rank(), madness::GenTensor< T >::TENSOR_RESULT_TYPE(), and madness::GenTensor< T >::what_am_i().
|
inlineconstexpr |
References madness::GenTensor< T >::index().
|
inline |
References madness::GenTensor< T >::size().
|
inline |
|
inline |
References madness::GenTensor< T >::is_assigned(), madness::BaseTensor::ndim(), and madness::GenTensor< T >::ptr().
Referenced by madness::GenTensor< T >::GenTensor(), madness::SeparatedConvolution< Q, NDIM >::apply2(), madness::SeparatedConvolution< Q, NDIM >::apply2_lowdim(), madness::FunctionNode< T, NDIM >::coeff(), madness::GenTensor< T >::convert_inplace(), madness::SeparatedConvolution< Q, NDIM >::estimate_costs(), madness::outer(), and madness::SeparatedConvolution< Q, NDIM >::partial_upsample().
|
inline |
|
inline |
|
inline |
References madness::nonlinear_vector_solver(), norm(), and madness::GenTensor< T >::tensor.
Referenced by madness::Leaf_op< T, NDIM, opT, specialboxT >::compare_to_parent(), madness::FunctionImpl< T, NDIM >::compress_spawn(), madness::FunctionImpl< T, NDIM >::Vphi_op_NS< opT, LDIM >::compute_error_from_inaccurate_refinement(), madness::FunctionImpl< T, NDIM >::do_apply_directed_screening(), madness::op_leaf_op< T, NDIM, opT >::operator()(), madness::Leaf_op< T, NDIM, opT, specialboxT >::post_screening(), madness::FunctionNode< T, NDIM >::print_json(), madness::FunctionNode< T, NDIM >::recompute_snorm_and_dnorm(), madness::GenTensor< T >::svd_normf(), and madness::FunctionImpl< T, NDIM >::vtransform_doit().
|
inline |
Type conversion makes a deep copy.
References madness::BaseTensor::_dim, madness::BaseTensor::_ndim, BINARY_OPTIMIZED_ITERATOR, Q(), and T().
|
inline |
Type conversion makes a deep copy.
References madness::GenTensor< T >::get_tensor(), madness::GenTensor< T >::is_full_tensor(), madness::GenTensor< T >::is_svd_tensor(), madness::GenTensor< T >::is_tensortrain(), and MADNESS_EXCEPTION.
|
inline |
general slicing, shallow; for temporary use only!
References madness::GenTensor< T >::SliceLowRankTensor< T >.
|
inline |
general slicing, shallow; for temporary use only!
References madness::GenTensor< T >::SliceLowRankTensor< T >.
|
inline |
multiply with a number
References madness::GenTensor< T >::copy, Q(), madness::GenTensor< T >::scale(), T(), and TENSOR_RESULT_TYPE.
|
inline |
References madness::GenTensor< T >::copy, and madness::GenTensor< T >::gaxpy().
|
inline |
|
inline |
References madness::GenTensor< T >::gaxpy().
|
inline |
|
inline |
References madness::GenTensor< T >::copy, and madness::GenTensor< T >::gaxpy().
|
inline |
References madness::GenTensor< T >::gaxpy().
|
inline |
|
inline |
shallow assignment operator
References madness::GenTensor< T >::tensor.
|
inline |
deep assignment with slices: g0 = g1(s)
References madness::GenTensor< T >::copy, madness::GenTensor< T >::get_svdtensor(), madness::GenTensor< T >::get_tensor(), madness::GenTensor< T >::get_tensortrain(), madness::GenTensor< T >::is_assigned(), madness::GenTensor< T >::is_full_tensor(), madness::GenTensor< T >::is_svd_tensor(), madness::GenTensor< T >::is_tensortrain(), MADNESS_ASSERT, MADNESS_EXCEPTION, madness::nonlinear_vector_solver(), madness::GenTensor< T >::tensor, and madness::SliceLowRankTensor< T >::thisslice.
|
inline |
deep assignment operator
References madness::GenTensor< T >::copy, madness::nonlinear_vector_solver(), and madness::GenTensor< T >::tensor.
|
inline |
assign a number to this tensor
References madness::nonlinear_vector_solver(), and madness::GenTensor< T >::tensor.
|
inline |
deep assignment operator
References madness::GenTensor< T >::copy, madness::nonlinear_vector_solver(), and madness::GenTensor< T >::tensor.
|
inline |
deep assignment operator
References madness::GenTensor< T >::copy, madness::nonlinear_vector_solver(), and madness::GenTensor< T >::tensor.
|
inline |
might return a NULL pointer!
References madness::nonlinear_vector_solver(), p(), and madness::GenTensor< T >::tensor.
Referenced by madness::SeparatedConvolution< Q, NDIM >::apply_transformation2(), madness::GenTensor< T >::dim(), madness::GenTensor< T >::dims(), madness::GenTensor< T >::is_assigned(), madness::GenTensor< T >::ndim(), and madness::GenTensor< T >::size().
|
inline |
Referenced by madness::FunctionNode< T, NDIM >::accumulate(), madness::SeparatedConvolution< Q, NDIM >::apply2(), madness::SeparatedConvolution< Q, NDIM >::apply2_lowdim(), madness::FunctionImpl< T, NDIM >::apply_source_driven(), madness::GenTensor< T >::convert_inplace(), madness::FunctionImpl< T, NDIM >::dirac_convolution_op(), madness::SeparatedConvolution< Q, NDIM >::estimate_costs(), madness::SeparatedConvolution< Q, NDIM >::partial_upsample(), madness::FunctionNode< T, NDIM >::print_json(), and madness::GenTensor< T >::TENSOR_RESULT_TYPE().
|
inline |
|
inline |
References madness::GenTensor< T >::size().
|
inline |
reconstruct this to return a full tensor
References madness::GenTensor< T >::full_tensor(), madness::GenTensor< T >::full_tensor_copy(), madness::GenTensor< T >::is_full_tensor(), madness::GenTensor< T >::is_svd_tensor(), madness::GenTensor< T >::is_tensortrain(), and madness::nonlinear_vector_solver().
Referenced by madness::FunctionNode< T, NDIM >::reduceRank().
|
inline |
Inplace multiplication by scalar of supported type (legacy name)
| [in] | x | Scalar value |
References madness::GenTensor< T >::is_assigned(), madness::nonlinear_vector_solver(), T(), and madness::GenTensor< T >::tensor.
Referenced by madness::SeparatedConvolution< Q, NDIM >::apply_transformation2(), madness::Leaf_op< T, NDIM, opT, specialboxT >::compare_to_parent(), madness::FunctionNode< T, NDIM >::gaxpy_inplace(), madness::GenTensor< T >::operator*(), madness::FunctionImpl< T, NDIM >::parent_to_child(), and madness::FunctionNode< T, NDIM >::scale().
|
inline |
References madness::GenTensor< T >::is_assigned(), madness::GenTensor< T >::ptr(), and madness::BaseTensor::size().
Referenced by madness::SeparatedConvolution< Q, NDIM >::estimate_costs(), madness::GenTensor< T >::has_data(), madness::GenTensor< T >::is_assigned(), madness::GenTensor< T >::nCoeff(), madness::GenTensor< T >::real_size(), and madness::FunctionNode< T, NDIM >::size().
|
inline |
References madness::GenTensor< T >::normf().
Referenced by madness::FunctionImpl< T, NDIM >::do_apply_kernel3().
|
inline |
|
inline |
returns the trace of <this|rhs>
References madness::GenTensor< T >::get_svdtensor(), madness::GenTensor< T >::get_tensor(), madness::GenTensor< T >::get_tensortrain(), madness::GenTensor< T >::is_full_tensor(), madness::GenTensor< T >::is_same_tensor_type, madness::GenTensor< T >::is_svd_tensor(), madness::GenTensor< T >::is_tensortrain(), MADNESS_ASSERT, MADNESS_EXCEPTION, madness::nonlinear_vector_solver(), Q(), madness::GenTensor< T >::rank(), T(), and TENSOR_RESULT_TYPE.
|
inline |
|
inline |
return the tensor type
References madness::GenTensor< T >::index(), MADNESS_EXCEPTION, madness::TT_2D, madness::TT_FULL, and madness::TT_TENSORTRAIN.
|
inline |
|
inline |
deep copy
Referenced by madness::GenTensor< T >::GenTensor(), madness::GenTensor< T >::GenTensor(), madness::GenTensor< T >::GenTensor(), madness::GenTensor< T >::GenTensor(), madness::GenTensor< T >::convert(), madness::GenTensor< T >::convert_inplace(), madness::GenTensor< T >::full_tensor_copy(), madness::GenTensor< T >::full_tensor_copy(), madness::GenTensor< T >::operator*(), madness::GenTensor< T >::operator+(), madness::GenTensor< T >::operator+(), madness::GenTensor< T >::operator-(), madness::GenTensor< T >::operator=(), madness::GenTensor< T >::operator=(), madness::GenTensor< T >::operator=(), and madness::GenTensor< T >::operator=().
Referenced by madness::GenTensor< T >::operator()(), and madness::GenTensor< T >::operator()().
|
private |
holding the implementation of the low rank tensor representations
Referenced by madness::GenTensor< T >::GenTensor(), madness::GenTensor< T >::GenTensor(), madness::GenTensor< T >::GenTensor(), madness::GenTensor< T >::GenTensor(), madness::GenTensor< T >::GenTensor(), madness::GenTensor< T >::get_svdtensor(), madness::GenTensor< T >::get_svdtensor(), madness::GenTensor< T >::get_tensor(), madness::GenTensor< T >::get_tensor(), madness::GenTensor< T >::get_tensortrain(), madness::GenTensor< T >::get_tensortrain(), madness::GenTensor< T >::index(), madness::GenTensor< T >::normf(), madness::GenTensor< T >::operator=(), madness::GenTensor< T >::operator=(), madness::GenTensor< T >::operator=(), madness::GenTensor< T >::operator=(), madness::GenTensor< T >::operator=(), madness::GenTensor< T >::operator=(), madness::GenTensor< T >::ptr(), madness::GenTensor< T >::scale(), and madness::GenTensor< T >::svd_normf().