|
NEML2 2.0.0
|
Second order tensor without symmetry. More...
Second order tensor without symmetry.
The storage space is (3,3).
#include <R2.h>

Public Member Functions | |
| 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 (const Rot &r) | |
| Form rotation matrix from vector. | |
Public Member Functions inherited from R2Base< R2 > | |
| operator SR2 () const | |
| Conversion operator to symmetric second order 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. | |
| Scalar | operator() (Size i, Size j) const |
| Accessor. | |
| Vec | row (Size i) const |
| Row. | |
| Vec | col (Size i) const |
| Coluomn. | |
| Scalar | det () const |
| Determinant. | |
| Scalar | inner (const R2 &other) const |
| Double contraction ij,ij. | |
| R4 | outer (const R2 &other) const |
| Outer product ij,kl. | |
| R2 | inverse () const |
| Inversion. | |
| R2 | transpose () const |
| transpose | |
Public Member Functions inherited from PrimitiveTensor< R2, 3, 3 > | |
| PrimitiveTensor ()=default | |
| Special member functions. | |
| PrimitiveTensor (const ATensor &tensor, Size batch_dim) | |
| Construct from another ATensor given batch dimension. | |
| PrimitiveTensor (const ATensor &tensor, const TraceableTensorShape &batch_shape) | |
| Construct from another ATensor given batch shape. | |
| PrimitiveTensor (const Tensor &tensor) | |
| Copy constructor. | |
| PrimitiveTensor (const ATensor &tensor) | |
| Construct from another ATensor and infer batch dimension. | |
| operator Tensor () const | |
| Implicit conversion to a Tensor and loses information on the fixed base shape. | |
Public Member Functions inherited from TensorBase< R2 > | |
| TensorBase ()=default | |
| Special member functions. | |
| TensorBase (const ATensor &tensor, Size batch_dim) | |
| Construct from another ATensor with given batch dimension. | |
| TensorBase (const ATensor &tensor, const TraceableTensorShape &batch_shape) | |
| Construct from another ATensor with given batch shape. | |
| TensorBase (const neml2::Tensor &tensor) | |
| Copy constructor. | |
| TensorBase (double)=delete | |
| TensorBase (float)=delete | |
| TensorBase (int)=delete | |
| R2 | variable_data () const |
| R2 | clone () const |
| R2 | detach () const |
| Discard function graph. | |
| R2 | to (const TensorOptions &options) const |
| Change tensor options. | |
| R2 | operator- () const |
| Negation. | |
| bool | batched () const |
| Whether the tensor is batched. | |
| Size | batch_dim () const |
| Return the number of batch dimensions. | |
| Size | base_dim () const |
| Return the number of base dimensions. | |
| const TraceableTensorShape & | batch_sizes () const |
| Return the batch size. | |
| TraceableSize | batch_size (Size index) const |
| Return the size of a batch axis. | |
| TensorShapeRef | base_sizes () const |
| Return the base size. | |
| Size | base_size (Size index) const |
| Return the size of a base axis. | |
| Size | base_storage () const |
| Return the flattened storage needed just for the base indices. | |
| R2 | batch_index (indexing::TensorIndicesRef indices) const |
| Get a tensor by slicing on the batch dimensions. | |
| neml2::Tensor | base_index (indexing::TensorIndicesRef indices) const |
| Get a tensor by slicing on the base dimensions. | |
| R2 | batch_slice (Size dim, const indexing::Slice &index) const |
| Get a tensor by slicing along a batch dimension. | |
| neml2::Tensor | base_slice (Size dim, const indexing::Slice &index) const |
| Get a tensor by slicing along a base dimension. | |
| void | batch_index_put_ (indexing::TensorIndicesRef indices, const ATensor &other) |
| void | batch_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 | batch_expand (const TraceableTensorShape &batch_shape) const |
| R2 | batch_expand (const TraceableSize &batch_size, Size dim) const |
| Return a new view of the tensor with values broadcast along a given batch dimension. | |
| neml2::Tensor | base_expand (TensorShapeRef base_shape) const |
| Return a new view of the tensor with values broadcast along the base dimensions. | |
| neml2::Tensor | base_expand (Size base_size, Size dim) const |
| Return a new view of the tensor with values broadcast along a given base dimension. | |
| R2 | batch_expand_as (const neml2::Tensor &other) const |
| Expand the batch to have the same shape as another tensor. | |
| neml2::Tensor | base_expand_as (const neml2::Tensor &other) const |
| Expand the base to have the same shape as another tensor. | |
| R2 | batch_expand_copy (const TraceableTensorShape &batch_shape) const |
| Return a new tensor with values broadcast along the batch dimensions. | |
| neml2::Tensor | base_expand_copy (TensorShapeRef base_shape) const |
| Return a new tensor with values broadcast along the base dimensions. | |
| R2 | batch_reshape (const TraceableTensorShape &batch_shape) const |
| Reshape batch dimensions. | |
| neml2::Tensor | base_reshape (TensorShapeRef base_shape) const |
| Reshape base dimensions. | |
| R2 | batch_unsqueeze (Size d) const |
| Unsqueeze a batch dimension. | |
| neml2::Tensor | base_unsqueeze (Size d) const |
| Unsqueeze a base dimension. | |
| R2 | batch_transpose (Size d1, Size d2) const |
| Transpose two batch dimensions. | |
| neml2::Tensor | base_transpose (Size d1, Size d2) const |
| Transpose two base dimensions. | |
| neml2::Tensor | base_flatten () const |
| Flatten base dimensions. | |
Static Public Member Functions | |
| static R4 | identity_map (const TensorOptions &options=default_tensor_options()) |
| The derivative of a R2 with respect to itself. | |
Static Public Member Functions inherited from R2Base< R2 > | |
| 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 | fill (const CScalar &a11, const CScalar &a12, const CScalar &a13, const CScalar &a21, const CScalar &a22, const CScalar &a23, const CScalar &a31, const CScalar &a32, const CScalar &a33, const TensorOptions &options=default_tensor_options()) |
| Fill all entries. | |
| static R2 | fill (const Scalar &a11, const Scalar &a12, const Scalar &a13, const Scalar &a21, const Scalar &a22, const Scalar &a23, const Scalar &a31, const Scalar &a32, const Scalar &a33) |
| static R2 | skew (const Vec &v) |
| Skew matrix from Vec. | |
| static R2 | identity (const TensorOptions &options=default_tensor_options()) |
| Identity. | |
Static Public Member Functions inherited from PrimitiveTensor< R2, 3, 3 > | |
| static R2 | create (const TensorDataContainer &data, const TensorOptions &options=default_tensor_options()) |
| Arbitrary tensor from a nested container with inferred batch dimension. | |
| static R2 | empty (const TensorOptions &options=default_tensor_options()) |
| Unbatched empty tensor. | |
| static R2 | empty (const TraceableTensorShape &batch_shape, const TensorOptions &options=default_tensor_options()) |
| Empty tensor given batch shape. | |
| static R2 | zeros (const TensorOptions &options=default_tensor_options()) |
| Unbatched zero tensor. | |
| static R2 | zeros (const TraceableTensorShape &batch_shape, const TensorOptions &options=default_tensor_options()) |
| Zero tensor given batch shape. | |
| static R2 | ones (const TensorOptions &options=default_tensor_options()) |
| Unbatched unit tensor. | |
| static R2 | ones (const TraceableTensorShape &batch_shape, const TensorOptions &options=default_tensor_options()) |
| Unit tensor given batch shape. | |
| static R2 | full (const CScalar &init, const TensorOptions &options=default_tensor_options()) |
| Unbatched tensor filled with a given value given base shape. | |
| static R2 | full (const TraceableTensorShape &batch_shape, const CScalar &init, const TensorOptions &options=default_tensor_options()) |
| Full tensor given batch shape. | |
| static Tensor | identity_map (const TensorOptions &) |
| Derived tensor classes should define identity_map where appropriate. | |
Static Public Member Functions inherited from TensorBase< R2 > | |
| 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 | linspace (const R2 &start, const R2 &end, Size nstep, Size dim=0) |
Create a new tensor by adding a new batch dimension with linear spacing between start and end. | |
| static R2 | logspace (const R2 &start, const R2 &end, Size nstep, Size dim=0, const CScalar &base=10) |
| log-space equivalent of the linspace named constructor | |
Additional Inherited Members | |
Static Public Attributes inherited from PrimitiveTensor< R2, 3, 3 > | |
| static const TensorShape | const_base_sizes |
| The base shape. | |
| static constexpr Size | const_base_dim |
| The base dim. | |
| static const Size | const_base_storage |
| The base storage. | |
Protected Attributes inherited from TensorBase< R2 > | |
| TraceableTensorShape | _batch_sizes |
| Traceable batch sizes. | |
Form a full R2 from a symmetric tensor.
| S | Mandel-convention symmetric tensor |
Form a full R2 from a skew-symmetric tensor.
| W | skew-vector convention skew-symmetric tensor |
|
staticnodiscard |
The derivative of a R2 with respect to itself.