Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ > Class Template Reference

The tensor class. More...

#include <Tensor.h>

Inheritance diagram for Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >:
Inheritance graph
[legend]

Public Types

enum  { IsAligned = bool(EIGEN_MAX_ALIGN_BYTES>0) & !(Options_&DontAlign), Layout = Options_ & RowMajor ? RowMajor : ColMajor, CoordAccess = true, RawAccess = true }
 
typedef TensorBase< Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > Base
 
typedef Base::CoeffReturnType CoeffReturnType
 
typedef DSizes< Index, NumIndices_ > Dimensions
 
typedef internal::traits< Self >::Index Index
 
typedef Eigen::internal::nested< Self >::type Nested
 
typedef NumTraits< Scalar >::Real RealScalar
 
typedef Scalar_ Scalar
 
typedef Tensor< Scalar_, NumIndices_, Options_, IndexType_ > Self
 
typedef internal::traits< Self >::StorageKind StorageKind
 
- Public Types inherited from Eigen::TensorBase< Tensor< Scalar_, NumIndices_, Options_, IndexType_ > >
typedef TensorBase< Tensor< Scalar_, NumIndices_, Options_, IndexType_ >, ReadOnlyAccessors > Base
 
typedef Scalar CoeffReturnType
 
typedef internal::traits< Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > DerivedTraits
 
typedef DerivedTraits::Index Index
 
typedef DerivedTraits::Scalar Scalar
 

Public Member Functions

Selfbase ()
 
const Selfbase () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalarcoeff (const array< Index, NumIndices > &indices) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalarcoeff () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalarcoeff (Index index) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ScalarcoeffRef (const array< Index, NumIndices > &indices)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ScalarcoeffRef ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ScalarcoeffRef (Index index)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalardata ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalardata () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index dimension (std::size_t n) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Dimensionsdimensions () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalaroperator() (Index i0, Index i1) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalaroperator() (Index i0, Index i1, Index i2) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalaroperator() (Index i0, Index i1, Index i2, Index i3) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalaroperator() (Index i0, Index i1, Index i2, Index i3, Index i4) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalaroperator() (const array< Index, NumIndices > &indices) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalaroperator() (Index index) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalaroperator() () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalaroperator() (Index i0, Index i1)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalaroperator() (Index i0, Index i1, Index i2)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalaroperator() (Index i0, Index i1, Index i2, Index i3)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalaroperator() (Index i0, Index i1, Index i2, Index i3, Index i4)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalaroperator() (const array< Index, NumIndices > &indices)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalaroperator() (Index index)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalaroperator() ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensoroperator= (const Tensor &other)
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensoroperator= (const OtherDerived &other)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalaroperator[] (Index index) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalaroperator[] (Index index)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rank () const
 
EIGEN_DEVICE_FUNC void resize (const array< Index, NumIndices > &dimensions)
 
EIGEN_DEVICE_FUNC void resize (const DSizes< Index, NumIndices > &dimensions)
 
EIGEN_DEVICE_FUNC void resize ()
 
template<typename std::ptrdiff_t... Indices>
EIGEN_DEVICE_FUNC void resize (const Sizes< Indices... > &dimensions)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index size () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor (const Self &other)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor (Index dim1)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor (Index dim1, Index dim2)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor (Index dim1, Index dim2, Index dim3)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor (Index dim1, Index dim2, Index dim3, Index dim4)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor (Index dim1, Index dim2, Index dim3, Index dim4, Index dim5)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor (const array< Index, NumIndices > &dimensions)
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor (const TensorBase< OtherDerived, ReadOnlyAccessors > &other)
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor (const TensorBase< OtherDerived, WriteAccessors > &other)
 
- Public Member Functions inherited from Eigen::TensorBase< Tensor< Scalar_, NumIndices_, Options_, IndexType_ > >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorChippingOp< DimId, const Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > chip (const Index offset) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorChippingOp< DimId, Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > chip (const Index offset)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorChippingOp< Dynamic, const Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > chip (const Index offset, const Index dim) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorChippingOp< Dynamic, Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > chip (const Index offset, const Index dim)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorConcatenationOp< const Axis, const Tensor< Scalar_, NumIndices_, Options_, IndexType_ >, const OtherDerived > concatenate (const OtherDerived &other, const Axis &axis) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorConcatenationOp< const Axis, Tensor< Scalar_, NumIndices_, Options_, IndexType_ >, OtherDerived > concatenate (const OtherDerived &other, const Axis &axis)
 
TensorDevice< Tensor< Scalar_, NumIndices_, Options_, IndexType_ >, DeviceType > device (const DeviceType &dev)
 
TensorAsyncDevice< Tensor< Scalar_, NumIndices_, Options_, IndexType_ >, DeviceType, DoneCallback > device (const DeviceType &dev, DoneCallback done)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor< Scalar_, NumIndices_, Options_, IndexType_ > & operator*= (const OtherDerived &other)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor< Scalar_, NumIndices_, Options_, IndexType_ > & operator+= (const OtherDerived &other)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor< Scalar_, NumIndices_, Options_, IndexType_ > & operator-= (const OtherDerived &other)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor< Scalar_, NumIndices_, Options_, IndexType_ > & operator/= (const OtherDerived &other)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorReshapingOp< const NewDimensions, const Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > reshape (const NewDimensions &newDimensions) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorReshapingOp< const NewDimensions, Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > reshape (const NewDimensions &newDimensions)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorReverseOp< const ReverseDimensions, const Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > reverse (const ReverseDimensions &rev) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorReverseOp< const ReverseDimensions, Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > reverse (const ReverseDimensions &rev)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor< Scalar_, NumIndices_, Options_, IndexType_ > & setConstant (const Scalar &val)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor< Scalar_, NumIndices_, Options_, IndexType_ > & setRandom ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor< Scalar_, NumIndices_, Options_, IndexType_ > & setRandom ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor< Scalar_, NumIndices_, Options_, IndexType_ > & setZero ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorShufflingOp< const Shuffle, const Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > shuffle (const Shuffle &shfl) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorShufflingOp< const Shuffle, Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > shuffle (const Shuffle &shfl)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorSlicingOp< const StartIndices, const Sizes, const Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > slice (const StartIndices &startIndices, const Sizes &sizes) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorSlicingOp< const StartIndices, const Sizes, Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > slice (const StartIndices &startIndices, const Sizes &sizes)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorStridingOp< const Strides, const Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > stride (const Strides &strides) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorStridingOp< const Strides, Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > stride (const Strides &strides)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorStridingSlicingOp< const StartIndices, const StopIndices, const Strides, const Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > stridedSlice (const StartIndices &startIndices, const StopIndices &stopIndices, const Strides &strides) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorStridingSlicingOp< const StartIndices, const StopIndices, const Strides, Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > stridedSlice (const StartIndices &startIndices, const StopIndices &stopIndices, const Strides &strides)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorLayoutSwapOp< const Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > swap_layout () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorLayoutSwapOp< Tensor< Scalar_, NumIndices_, Options_, IndexType_ > > swap_layout ()
 

Static Public Attributes

static const int NumIndices = NumIndices_
 
static const int Options = Options_
 
- Static Public Attributes inherited from Eigen::TensorBase< Tensor< Scalar_, NumIndices_, Options_, IndexType_ > >
static const int NumDimensions
 

Protected Member Functions

bool checkIndexRange (const array< Index, NumIndices > &indices) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index linearizedIndex (const array< Index, NumIndices > &indices) const
 
- Protected Member Functions inherited from Eigen::TensorBase< Tensor< Scalar_, NumIndices_, Options_, IndexType_ > >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor< Scalar_, NumIndices_, Options_, IndexType_ > & derived ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Tensor< Scalar_, NumIndices_, Options_, IndexType_ > & derived () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor< Scalar_, NumIndices_, Options_, IndexType_ > & operator= (const OtherDerived &other)
 

Protected Attributes

TensorStorage< Scalar, Dimensions, Optionsm_storage
 

Detailed Description

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
class Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >

The tensor class.

The Tensor class is the work-horse for all dense tensors within Eigen.

The Tensor class encompasses only dynamic-size objects so far.

The first two template parameters are required:

Template Parameters
Scalar_Numeric type, e.g. float, double, int or std::complex<float>. User defined scalar types are supported as well (see here).
NumIndices_Number of indices (i.e. rank of the tensor)

The remaining template parameters are optional – in most cases you don't have to worry about them.

Template Parameters
Options_A combination of either RowMajor or ColMajor, and of either AutoAlign or DontAlign. The former controls storage order, and defaults to column-major. The latter controls alignment, which is required for vectorization. It defaults to aligning tensors. Note that tensors currently do not support any operations that profit from vectorization. Support for such operations (i.e. adding two tensors etc.) is planned.

You can access elements of tensors using normal subscripting:

Eigen::Tensor<double, 4> t(10, 10, 10, 10);
t(0, 1, 2, 3) = 42.0;

This class can be extended with the help of the plugin mechanism described on the page Extending MatrixBase (and other classes) by defining the preprocessor symbol EIGEN_TENSOR_PLUGIN.

Some notes:

Relation to other parts of Eigen:
The midterm development goal for this class is to have a similar hierarchy as Eigen uses for matrices, so that taking blocks or using tensors in expressions is easily possible, including an interface with the vector/matrix code by providing .asMatrix() and .asVector() (or similar) methods for rank 2 and 1 tensors. However, currently, the Tensor class does not provide any of these features and is only available as a stand-alone class that just allows for coefficient access. Also, when fixed-size tensors are implemented, the number of template arguments is likely to change dramatically.

TopicStorageOrders

Definition at line 63 of file Tensor.h.

Member Typedef Documentation

◆ Base

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
typedef TensorBase<Tensor<Scalar_, NumIndices_, Options_, IndexType_> > Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Base

Definition at line 67 of file Tensor.h.

◆ CoeffReturnType

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
typedef Base::CoeffReturnType Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::CoeffReturnType

Definition at line 73 of file Tensor.h.

◆ Dimensions

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
typedef DSizes<Index, NumIndices_> Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Dimensions

Definition at line 84 of file Tensor.h.

◆ Index

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
typedef internal::traits<Self>::Index Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Index

Definition at line 70 of file Tensor.h.

◆ Nested

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
typedef Eigen::internal::nested<Self>::type Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Nested

Definition at line 68 of file Tensor.h.

◆ RealScalar

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
typedef NumTraits<Scalar>::Real Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::RealScalar

Definition at line 72 of file Tensor.h.

◆ Scalar

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
typedef Scalar_ Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Scalar

Definition at line 71 of file Tensor.h.

◆ Self

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
typedef Tensor<Scalar_, NumIndices_, Options_, IndexType_> Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Self

Definition at line 66 of file Tensor.h.

◆ StorageKind

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
typedef internal::traits<Self>::StorageKind Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::StorageKind

Definition at line 69 of file Tensor.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
anonymous enum
Enumerator
IsAligned 
Layout 
CoordAccess 
RawAccess 

Definition at line 75 of file Tensor.h.

Constructor & Destructor Documentation

◆ Tensor() [1/10]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Tensor ( )
inline

Definition at line 328 of file Tensor.h.

◆ Tensor() [2/10]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Tensor ( const Self other)
inline

Definition at line 334 of file Tensor.h.

◆ Tensor() [3/10]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Tensor ( Index  dim1)
inlineexplicit

Definition at line 348 of file Tensor.h.

◆ Tensor() [4/10]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Tensor ( Index  dim1,
Index  dim2 
)
inline

Definition at line 353 of file Tensor.h.

◆ Tensor() [5/10]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Tensor ( Index  dim1,
Index  dim2,
Index  dim3 
)
inline

Definition at line 358 of file Tensor.h.

◆ Tensor() [6/10]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Tensor ( Index  dim1,
Index  dim2,
Index  dim3,
Index  dim4 
)
inline

Definition at line 363 of file Tensor.h.

◆ Tensor() [7/10]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Tensor ( Index  dim1,
Index  dim2,
Index  dim3,
Index  dim4,
Index  dim5 
)
inline

Definition at line 368 of file Tensor.h.

◆ Tensor() [8/10]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Tensor ( const array< Index, NumIndices > &  dimensions)
inlineexplicit

Normal Dimension

Definition at line 376 of file Tensor.h.

◆ Tensor() [9/10]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Tensor ( const TensorBase< OtherDerived, ReadOnlyAccessors > &  other)
inline

Definition at line 384 of file Tensor.h.

◆ Tensor() [10/10]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Tensor ( const TensorBase< OtherDerived, WriteAccessors > &  other)
inline

Definition at line 394 of file Tensor.h.

Member Function Documentation

◆ base() [1/2]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
Self& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::base ( )
inline

Definition at line 110 of file Tensor.h.

◆ base() [2/2]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
const Self& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::base ( ) const
inline

Definition at line 111 of file Tensor.h.

◆ checkIndexRange()

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
bool Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::checkIndexRange ( const array< Index, NumIndices > &  indices) const
inlineprotected

Definition at line 527 of file Tensor.h.

◆ coeff() [1/3]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::coeff ( const array< Index, NumIndices > &  indices) const
inline

Definition at line 124 of file Tensor.h.

◆ coeff() [2/3]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::coeff ( ) const
inline

Definition at line 141 of file Tensor.h.

◆ coeff() [3/3]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::coeff ( Index  index) const
inline

Definition at line 147 of file Tensor.h.

◆ coeffRef() [1/3]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::coeffRef ( const array< Index, NumIndices > &  indices)
inline

Definition at line 164 of file Tensor.h.

◆ coeffRef() [2/3]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::coeffRef ( )
inline

Definition at line 181 of file Tensor.h.

◆ coeffRef() [3/3]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::coeffRef ( Index  index)
inline

Definition at line 187 of file Tensor.h.

◆ data() [1/2]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar* Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::data ( )
inline

Definition at line 104 of file Tensor.h.

◆ data() [2/2]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar* Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::data ( ) const
inline

Definition at line 105 of file Tensor.h.

◆ dimension()

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::dimension ( std::size_t  n) const
inline

Definition at line 101 of file Tensor.h.

◆ dimensions()

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Dimensions& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::dimensions ( ) const
inline

Definition at line 102 of file Tensor.h.

◆ linearizedIndex()

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::linearizedIndex ( const array< Index, NumIndices > &  indices) const
inlineprotected

Definition at line 542 of file Tensor.h.

◆ operator()() [1/14]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator() ( Index  i0,
Index  i1 
) const
inline

Definition at line 203 of file Tensor.h.

◆ operator()() [2/14]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator() ( Index  i0,
Index  i1,
Index  i2 
) const
inline

Definition at line 208 of file Tensor.h.

◆ operator()() [3/14]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator() ( Index  i0,
Index  i1,
Index  i2,
Index  i3 
) const
inline

Definition at line 213 of file Tensor.h.

◆ operator()() [4/14]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator() ( Index  i0,
Index  i1,
Index  i2,
Index  i3,
Index  i4 
) const
inline

Definition at line 218 of file Tensor.h.

◆ operator()() [5/14]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator() ( const array< Index, NumIndices > &  indices) const
inline

Definition at line 236 of file Tensor.h.

◆ operator()() [6/14]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator() ( Index  index) const
inline

Definition at line 241 of file Tensor.h.

◆ operator()() [7/14]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator() ( ) const
inline

Definition at line 247 of file Tensor.h.

◆ operator()() [8/14]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator() ( Index  i0,
Index  i1 
)
inline

Definition at line 270 of file Tensor.h.

◆ operator()() [9/14]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator() ( Index  i0,
Index  i1,
Index  i2 
)
inline

Definition at line 275 of file Tensor.h.

◆ operator()() [10/14]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator() ( Index  i0,
Index  i1,
Index  i2,
Index  i3 
)
inline

Definition at line 280 of file Tensor.h.

◆ operator()() [11/14]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator() ( Index  i0,
Index  i1,
Index  i2,
Index  i3,
Index  i4 
)
inline

Definition at line 285 of file Tensor.h.

◆ operator()() [12/14]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator() ( const array< Index, NumIndices > &  indices)
inline

Definition at line 292 of file Tensor.h.

◆ operator()() [13/14]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator() ( Index  index)
inline

Definition at line 308 of file Tensor.h.

◆ operator()() [14/14]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator() ( )
inline

Definition at line 314 of file Tensor.h.

◆ operator=() [1/2]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator= ( const Tensor< Scalar_, NumIndices_, Options_, IndexType_ > &  other)
inline

Definition at line 417 of file Tensor.h.

◆ operator=() [2/2]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator= ( const OtherDerived &  other)
inline

Definition at line 427 of file Tensor.h.

◆ operator[]() [1/2]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator[] ( Index  index) const
inline

Definition at line 253 of file Tensor.h.

◆ operator[]() [2/2]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::operator[] ( Index  index)
inline

Definition at line 320 of file Tensor.h.

◆ rank()

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::rank ( ) const
inline

Definition at line 100 of file Tensor.h.

◆ resize() [1/4]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC void Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::resize ( const array< Index, NumIndices > &  dimensions)
inline

Normal Dimension

Definition at line 447 of file Tensor.h.

◆ resize() [2/4]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC void Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::resize ( const DSizes< Index, NumIndices > &  dimensions)
inline

Definition at line 465 of file Tensor.h.

◆ resize() [3/4]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC void Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::resize ( )
inline

Definition at line 474 of file Tensor.h.

◆ resize() [4/4]

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
template<typename std::ptrdiff_t... Indices>
EIGEN_DEVICE_FUNC void Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::resize ( const Sizes< Indices... > &  dimensions)
inline

Custom Dimension

Definition at line 506 of file Tensor.h.

◆ size()

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::size ( ) const
inline

Definition at line 103 of file Tensor.h.

Member Data Documentation

◆ m_storage

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
TensorStorage<Scalar, Dimensions, Options> Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::m_storage
protected

Definition at line 87 of file Tensor.h.

◆ NumIndices

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
const int Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::NumIndices = NumIndices_
static

Definition at line 83 of file Tensor.h.

◆ Options

template<typename Scalar_, int NumIndices_, int Options_, typename IndexType_>
const int Eigen::Tensor< Scalar_, NumIndices_, Options_, IndexType_ >::Options = Options_
static

Definition at line 82 of file Tensor.h.


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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:43:43