Base class for second order tensor.
The storage space is (3, 3).
|
| | R2 (const SR2 &S) |
| | Form a full R2 from a symmetric tensor.
|
| |
| | R2 (const WR2 &W) |
| | Form a full R2 from a skew-symmetric tensor.
|
| |
| R2 | rotate (const Rot &r) const |
| | Rotate using a Rodrigues vector.
|
| |
| R2 | rotate (const R2 &R) const |
| | Rotate using a rotation matrix.
|
| |
| R3 | drotate (const Rot &r) const |
| | Derivative of the rotated tensor w.r.t. the Rodrigues vector.
|
| |
| R4 | drotate (const R2 &R) const |
| | Derivative of the rotated tensor w.r.t. the rotation matrix.
|
| |
| Vec | row (Size i) const |
| | Row.
|
| |
| Vec | col (Size i) const |
| | Coluomn.
|
| |
| R2 | transpose () const |
| | transpose
|
| |
| | PrimitiveTensor ()=default |
| | Special member functions.
|
| |
| | PrimitiveTensor (const ATensor &tensor, Size intmd_dim) |
| | Construct from an ATensor and infer dynamic shape.
|
| |
| | PrimitiveTensor (const ATensor &tensor, Size dynamic_dim, Size intmd_dim) |
| | Construct from an ATensor and extract dynamic shape given dynamic dimension.
|
| |
| | PrimitiveTensor (const ATensor &tensor, const TraceableTensorShape &dynamic_shape, Size intmd_dim) |
| | Construct from an ATensor given dynamic shape.
|
| |
| | PrimitiveTensor (const TensorBase< Derived2 > &tensor) |
| | Copy constructor.
|
| |
| | operator neml2::Tensor () const |
| | Implicit conversion to a Tensor (discards information on the fixed base shape)
|
| |
| Scalar | operator() (Args... i) const |
| | Single-element accessor.
|
| |
| | TensorBase ()=default |
| | Default constructor.
|
| |
| | TensorBase (const ATensor &tensor, Size dynamic_dim, Size intmd_dim) |
| | Construct from an ATensor with given dynamic dimension.
|
| |
| | TensorBase (const ATensor &tensor, TraceableTensorShape dynamic_shape, Size intmd_dim) |
| | Construct from an ATensor with given dynamic shape.
|
| |
| | TensorBase (const TensorBase< Derived2 > &tensor) |
| | Copy constructor.
|
| |
| | TensorBase (double)=delete |
| |
| | TensorBase (float)=delete |
| |
| | TensorBase (int)=delete |
| |
| R2 | variable_data () const |
| | Variable data without function graph.
|
| |
| R2 | contiguous () const |
| |
| R2 | clone () const |
| | Clone (take ownership)
|
| |
| R2 | detach () const |
| | Discard function graph.
|
| |
| R2 | to (const TensorOptions &options) const |
| | Change tensor options.
|
| |
| R2 | operator- () const |
| | Negation.
|
| |
| Size | batch_dim () const |
| |
| Size | base_dim () const |
| |
| Size | dynamic_dim () const |
| |
| Size | static_dim () const |
| |
| Size | intmd_dim () const |
| |
| TraceableTensorShape | batch_sizes () const |
| |
| TensorShapeRef | base_sizes () const |
| |
| const TraceableTensorShape & | dynamic_sizes () const |
| |
| TensorShapeRef | static_sizes () const |
| |
| TensorShapeRef | intmd_sizes () const |
| |
| TraceableSize | batch_size (Size i) const |
| |
| Size | base_size (Size i) const |
| |
| const TraceableSize & | dynamic_size (Size i) const |
| |
| Size | static_size (Size i) const |
| |
| Size | intmd_size (Size i) const |
| |
| R2 | dynamic_index (indexing::TensorIndicesRef indices) const |
| |
| R2 | intmd_index (indexing::TensorIndicesRef indices) const |
| |
| neml2::Tensor | base_index (indexing::TensorIndicesRef indices) const |
| |
| R2 | dynamic_slice (Size d, const indexing::Slice &index) const |
| |
| R2 | intmd_slice (Size d, const indexing::Slice &index) const |
| |
| neml2::Tensor | base_slice (Size d, const indexing::Slice &index) const |
| |
| void | dynamic_index_put_ (indexing::TensorIndicesRef indices, const ATensor &other) |
| |
| void | dynamic_index_put_ (indexing::TensorIndicesRef indices, const CScalar &v) |
| |
| void | intmd_index_put_ (indexing::TensorIndicesRef indices, const ATensor &other) |
| |
| void | intmd_index_put_ (indexing::TensorIndicesRef indices, const CScalar &v) |
| |
| void | base_index_put_ (indexing::TensorIndicesRef indices, const ATensor &other) |
| |
| void | base_index_put_ (indexing::TensorIndicesRef indices, const CScalar &v) |
| |
| R2 | dynamic_expand (const TraceableTensorShape &shape) const |
| |
| R2 | intmd_expand (TensorShapeRef shape) const |
| |
| neml2::Tensor | base_expand (TensorShapeRef shape) const |
| |
| R2 | batch_expand (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape) const |
| |
| neml2::Tensor | static_expand (TensorShapeRef intmd_shape, TensorShapeRef base_shape) const |
| |
| R2 | dynamic_expand (const TraceableSize &size, Size d) const |
| |
| R2 | intmd_expand (Size size, Size d) const |
| |
| neml2::Tensor | base_expand (Size size, Size d) const |
| |
| R2 | dynamic_expand_as (const neml2::Tensor &other) const |
| |
| R2 | intmd_expand_as (const neml2::Tensor &other) const |
| |
| neml2::Tensor | base_expand_as (const neml2::Tensor &other) const |
| |
| R2 | batch_expand_as (const neml2::Tensor &other) const |
| |
| neml2::Tensor | static_expand_as (const neml2::Tensor &other) const |
| |
| R2 | dynamic_reshape (const TraceableTensorShape &shape) const |
| |
| R2 | intmd_reshape (TensorShapeRef shape) const |
| |
| neml2::Tensor | base_reshape (TensorShapeRef shape) const |
| |
| R2 | batch_reshape (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape) const |
| |
| neml2::Tensor | static_reshape (TensorShapeRef intmd_shape, TensorShapeRef base_shape) const |
| |
| R2 | dynamic_squeeze (Size d) const |
| |
| R2 | intmd_squeeze (Size d) const |
| |
| neml2::Tensor | base_squeeze (Size d) const |
| |
| R2 | dynamic_unsqueeze (Size d, Size n=1) const |
| |
| R2 | intmd_unsqueeze (Size d, Size n=1) const |
| |
| neml2::Tensor | base_unsqueeze (Size d, Size n=1) const |
| |
| R2 | dynamic_transpose (Size d1, Size d2) const |
| |
| R2 | intmd_transpose (Size d1, Size d2) const |
| |
| neml2::Tensor | base_transpose (Size d1, Size d2) const |
| |
| R2 | dynamic_movedim (Size old_dim, Size new_dim) const |
| |
| R2 | intmd_movedim (Size old_dim, Size new_dim) const |
| |
| neml2::Tensor | base_movedim (Size old_dim, Size new_dim) const |
| |
| R2 | dynamic_flatten () const |
| |
| R2 | intmd_flatten () const |
| |
| neml2::Tensor | base_flatten () const |
| |
| R2 | batch_flatten () const |
| | Flatten batch dimensions.
|
| |
| neml2::Tensor | static_flatten () const |
| | Flatten static dimensions.
|
| |
|
| static R2 | fill (const CScalar &a, const TensorOptions &options=default_tensor_options()) |
| | Fill the diagonals with a11 = a22 = a33 = a.
|
| |
| static R2 | fill (const Scalar &a) |
| |
| static R2 | fill (const CScalar &a11, const CScalar &a22, const CScalar &a33, const TensorOptions &options=default_tensor_options()) |
| | Fill the diagonals with a11, a22, a33.
|
| |
| static R2 | fill (const Scalar &a11, const Scalar &a22, const Scalar &a33) |
| |
| static R2 | fill (const CScalar &a11, const CScalar &a22, const CScalar &a33, const CScalar &a23, const CScalar &a13, const CScalar &a12, const TensorOptions &options=default_tensor_options()) |
| | Fill symmetric entries.
|
| |
| static R2 | fill (const Scalar &a11, const Scalar &a22, const Scalar &a33, const Scalar &a23, const Scalar &a13, const Scalar &a12) |
| |
| static R2 | skew (const Vec &v) |
| | Skew matrix from Vec.
|
| |
| static R2 | identity (const TensorOptions &options=default_tensor_options()) |
| | Identity.
|
| |
| static R2 | create (const TensorDataContainer &data, Size intmd_dim=0, const TensorOptions &options=default_tensor_options()) |
| | Arbitrary tensor from a nested container with inferred batch dimension.
|
| |
| static R2 | einsum (c10::string_view equation, TensorList tensors) |
| | Einstein summation along base dimensions.
|
| |
| static R2 | empty (const TensorOptions &options=default_tensor_options()) |
| |
| static R2 | empty (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape={}, const TensorOptions &options=default_tensor_options()) |
| |
| static R2 | zeros (const TensorOptions &options=default_tensor_options()) |
| |
| static R2 | zeros (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape={}, const TensorOptions &options=default_tensor_options()) |
| |
| static R2 | ones (const TensorOptions &options=default_tensor_options()) |
| |
| static R2 | ones (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape={}, const TensorOptions &options=default_tensor_options()) |
| |
| static R2 | full (const CScalar &init, const TensorOptions &options=default_tensor_options()) |
| |
| static R2 | full (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape, const CScalar &init, const TensorOptions &options=default_tensor_options()) |
| |
| static R2 | rand (const TensorOptions &options=default_tensor_options()) |
| |
| static R2 | rand (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape, const TensorOptions &options=default_tensor_options()) |
| |
| static R2 | fill (Args &&... args) |
| |
| static R2 | empty_like (const R2 &other) |
| |
| static R2 | zeros_like (const R2 &other) |
| | Zero tensor like another, i.e. same batch and base shapes, same tensor options, etc.
|
| |
| static R2 | ones_like (const R2 &other) |
| | Unit tensor like another, i.e. same batch and base shapes, same tensor options, etc.
|
| |
| static R2 | full_like (const R2 &other, const CScalar &init) |
| |
| static R2 | rand_like (const R2 &other) |
| |