|
| SliceTensor (const Tensor< T > &t, const Slice s[]) |
|
| SliceTensor (const Tensor< T > &t, const std::array< Slice, TENSOR_MAXDIM > s) |
|
virtual | ~SliceTensor () |
|
template<class Q > |
SliceTensor< T > & | operator= (const SliceTensor< Q > &t) |
|
SliceTensor< T > & | operator= (const SliceTensor< T > &t) |
|
SliceTensor< T > & | operator= (const T &t) |
|
template<class Q > |
SliceTensor< T > & | operator= (const Tensor< Q > &t) |
|
SliceTensor< T > & | operator= (const Tensor< T > &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_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.
|
|
T | trace (const Tensor< T > &t) const |
| Return the trace of two tensors (no complex conjugate invoked)
|
|
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.
|
|
| 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.
|
|