NEML2 2.0.0
Loading...
Searching...
No Matches
R4 Class Reference

Fourth order tensor without symmetry. More...

Detailed Description

Fourth order tensor without symmetry.

The storage space is (3, 3, 3, 3).

#include <R4.h>

Inheritance diagram for R4:

Public Member Functions

 R4 (const SSR4 &T)
 
 R4 (const WWR4 &T)
 
R4 rotate (const Rot &r) const
 Rotate.
 
DTensor< R4, Rot, neml2::Tensordrotate (const Rot &r) const
 Derivative of the rotated tensor w.r.t. the Rodrigues vector.
 
DTensor< R4, R4, neml2::Tensordrotate_self (const Rot &r) const
 Derivative of the rotated tensor w.r.t. itself.
 
R4 transpose (Size d1, Size d2) const
 Arbitrary transpose two dimensions.
 
R4 transpose_minor () const
 Transpose minor axes.
 
R4 transpose_major () const
 Transpose major axes.
 
- Public Member Functions inherited from PrimitiveTensor< R4, 3, 3, 3, 3 >
 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.
 
- Public Member Functions inherited from TensorBase< R4 >
 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
 
R4 variable_data () const
 Variable data without function graph.
 
R4 contiguous () const
 
R4 clone () const
 Clone (take ownership)
 
R4 detach () const
 Discard function graph.
 
R4 to (const TensorOptions &options) const
 Change tensor options.
 
R4 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 TraceableTensorShapedynamic_sizes () const
 
TensorShapeRef static_sizes () const
 
TensorShapeRef intmd_sizes () const
 
TraceableSize batch_size (Size i) const
 
Size base_size (Size i) const
 
const TraceableSizedynamic_size (Size i) const
 
Size static_size (Size i) const
 
Size intmd_size (Size i) const
 
R4 dynamic_index (indexing::TensorIndicesRef indices) const
 
R4 intmd_index (indexing::TensorIndicesRef indices) const
 
neml2::Tensor base_index (indexing::TensorIndicesRef indices) const
 
R4 dynamic_slice (Size d, const indexing::Slice &index) const
 
R4 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)
 
R4 dynamic_expand (const TraceableTensorShape &shape) const
 
R4 intmd_expand (TensorShapeRef shape) const
 
neml2::Tensor base_expand (TensorShapeRef shape) const
 
R4 batch_expand (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape) const
 
neml2::Tensor static_expand (TensorShapeRef intmd_shape, TensorShapeRef base_shape) const
 
R4 dynamic_expand (const TraceableSize &size, Size d) const
 
R4 intmd_expand (Size size, Size d) const
 
neml2::Tensor base_expand (Size size, Size d) const
 
R4 dynamic_expand_as (const neml2::Tensor &other) const
 
R4 intmd_expand_as (const neml2::Tensor &other) const
 
neml2::Tensor base_expand_as (const neml2::Tensor &other) const
 
R4 batch_expand_as (const neml2::Tensor &other) const
 
neml2::Tensor static_expand_as (const neml2::Tensor &other) const
 
R4 dynamic_reshape (const TraceableTensorShape &shape) const
 
R4 intmd_reshape (TensorShapeRef shape) const
 
neml2::Tensor base_reshape (TensorShapeRef shape) const
 
R4 batch_reshape (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape) const
 
neml2::Tensor static_reshape (TensorShapeRef intmd_shape, TensorShapeRef base_shape) const
 
R4 dynamic_squeeze (Size d) const
 
R4 intmd_squeeze (Size d) const
 
neml2::Tensor base_squeeze (Size d) const
 
R4 dynamic_unsqueeze (Size d, Size n=1) const
 
R4 intmd_unsqueeze (Size d, Size n=1) const
 
neml2::Tensor base_unsqueeze (Size d, Size n=1) const
 
R4 dynamic_transpose (Size d1, Size d2) const
 
R4 intmd_transpose (Size d1, Size d2) const
 
neml2::Tensor base_transpose (Size d1, Size d2) const
 
R4 dynamic_movedim (Size old_dim, Size new_dim) const
 
R4 intmd_movedim (Size old_dim, Size new_dim) const
 
neml2::Tensor base_movedim (Size old_dim, Size new_dim) const
 
R4 dynamic_flatten () const
 
R4 intmd_flatten () const
 
neml2::Tensor base_flatten () const
 
R4 batch_flatten () const
 Flatten batch dimensions.
 
neml2::Tensor static_flatten () const
 Flatten static dimensions.
 

Additional Inherited Members

- Public Types inherited from PrimitiveTensor< R4, 3, 3, 3, 3 >
using base_sizes_sequence
 Base shape sequence.
 
- Static Public Member Functions inherited from PrimitiveTensor< R4, 3, 3, 3, 3 >
static R4 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 R4 einsum (c10::string_view equation, TensorList tensors)
 Einstein summation along base dimensions.
 
static R4 empty (const TensorOptions &options=default_tensor_options())
 
static R4 empty (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape={}, const TensorOptions &options=default_tensor_options())
 
static R4 zeros (const TensorOptions &options=default_tensor_options())
 
static R4 zeros (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape={}, const TensorOptions &options=default_tensor_options())
 
static R4 ones (const TensorOptions &options=default_tensor_options())
 
static R4 ones (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape={}, const TensorOptions &options=default_tensor_options())
 
static R4 full (const CScalar &init, const TensorOptions &options=default_tensor_options())
 
static R4 full (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape, const CScalar &init, const TensorOptions &options=default_tensor_options())
 
static R4 rand (const TensorOptions &options=default_tensor_options())
 
static R4 rand (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape, const TensorOptions &options=default_tensor_options())
 
static R4 fill (Args &&... args)
 
- Static Public Member Functions inherited from TensorBase< R4 >
static R4 empty_like (const R4 &other)
 
static R4 zeros_like (const R4 &other)
 Zero tensor like another, i.e. same batch and base shapes, same tensor options, etc.
 
static R4 ones_like (const R4 &other)
 Unit tensor like another, i.e. same batch and base shapes, same tensor options, etc.
 
static R4 full_like (const R4 &other, const CScalar &init)
 
static R4 rand_like (const R4 &other)
 
- Static Public Attributes inherited from PrimitiveTensor< R4, 3, 3, 3, 3 >
static const TensorShape const_base_sizes
 The base shape.
 
static constexpr Size const_base_dim
 The base dim.
 
static constexpr Size const_base_numel
 The base numel.
 
- Protected Member Functions inherited from PrimitiveTensor< R4, 3, 3, 3, 3 >
void validate_shapes_and_dims () const
 Validate shapes and dimensions.
 
- Protected Member Functions inherited from TensorBase< R4 >
void validate_shapes_and_dims () const
 Validate shapes and dimensions.
 

Constructor & Destructor Documentation

◆ R4() [1/2]

R4 ( const SSR4 & T)

◆ R4() [2/2]

R4 ( const WWR4 & T)

Member Function Documentation

◆ drotate()

DTensor< R4, Rot, neml2::Tensor > drotate ( const Rot & r) const

Derivative of the rotated tensor w.r.t. the Rodrigues vector.

◆ drotate_self()

DTensor< R4, R4, neml2::Tensor > drotate_self ( const Rot & r) const

Derivative of the rotated tensor w.r.t. itself.

◆ rotate()

R4 rotate ( const Rot & r) const

Rotate.

◆ transpose()

R4 transpose ( Size d1,
Size d2 ) const

Arbitrary transpose two dimensions.

◆ transpose_major()

R4 transpose_major ( ) const

Transpose major axes.

◆ transpose_minor()

R4 transpose_minor ( ) const

Transpose minor axes.