NEML2 2.1.0
Loading...
Searching...
No Matches

The symmetric fourth order tensor, with skew symmetry in the first two dimensions and last two dimensions. More...

Detailed Description

The symmetric fourth order tensor, with skew symmetry in the first two dimensions and last two dimensions.

Mandel notation/reduced skew is used, and so the storage space is (3, 3).

#include <WWR4.h>

Inheritance diagram for WWR4:

Public Member Functions

 WWR4 (const R4 &F)
Public Member Functions inherited from PrimitiveTensor< WWR4, 3, 3 >
 PrimitiveTensor ()=default
 Special member functions.
 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< WWR4 >
 TensorBase ()=default
 Default constructor.
WWR4 variable_data () const
 Variable data without function graph.
WWR4 contiguous () const
WWR4 clone () const
 Clone (take ownership).
WWR4 detach () const
 Discard function graph.
WWR4 to (const TensorOptions &options) const
 Change tensor options.
WWR4 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
WWR4 dynamic_index (indexing::TensorIndicesRef indices) const
WWR4 intmd_index (indexing::TensorIndicesRef indices) const
neml2::Tensor base_index (indexing::TensorIndicesRef indices) const
WWR4 batch_index (indexing::TensorIndicesRef indices) const
WWR4 dynamic_slice (Size d, const indexing::Slice &index) const
WWR4 intmd_slice (Size d, const indexing::Slice &index) const
neml2::Tensor base_slice (Size d, const indexing::Slice &index) const
WWR4 batch_slice (Size d, const indexing::Slice &index) const
void dynamic_index_put_ (indexing::TensorIndicesRef indices, const ATensor &other)
void intmd_index_put_ (indexing::TensorIndicesRef indices, const ATensor &other)
void base_index_put_ (indexing::TensorIndicesRef indices, const ATensor &other)
void batch_index_put_ (indexing::TensorIndicesRef indices, const ATensor &other)
WWR4 dynamic_expand (const TraceableTensorShape &shape) const
WWR4 intmd_expand (TensorShapeRef shape) const
neml2::Tensor base_expand (TensorShapeRef shape) const
WWR4 batch_expand (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape={}) const
neml2::Tensor static_expand (TensorShapeRef intmd_shape, TensorShapeRef base_shape) const
WWR4 dynamic_expand_as (const neml2::Tensor &other) const
WWR4 intmd_expand_as (const neml2::Tensor &other) const
neml2::Tensor base_expand_as (const neml2::Tensor &other) const
WWR4 batch_expand_as (const neml2::Tensor &other) const
neml2::Tensor static_expand_as (const neml2::Tensor &other) const
WWR4 dynamic_reshape (const TraceableTensorShape &shape) const
WWR4 intmd_reshape (TensorShapeRef shape) const
neml2::Tensor base_reshape (TensorShapeRef shape) const
WWR4 batch_reshape (const TraceableTensorShape &dynamic_shape, TensorShapeRef intmd_shape={}) const
neml2::Tensor static_reshape (TensorShapeRef intmd_shape, TensorShapeRef base_shape) const
WWR4 dynamic_squeeze (Size d) const
WWR4 intmd_squeeze (Size d) const
neml2::Tensor base_squeeze (Size d) const
WWR4 batch_squeeze (Size d) const
WWR4 dynamic_unsqueeze (Size d, Size n=1) const
WWR4 intmd_unsqueeze (Size d, Size n=1) const
neml2::Tensor base_unsqueeze (Size d, Size n=1) const
WWR4 batch_unsqueeze (Size d, Size n=1) const
WWR4 dynamic_transpose (Size d1, Size d2) const
WWR4 intmd_transpose (Size d1, Size d2) const
neml2::Tensor base_transpose (Size d1, Size d2) const
WWR4 batch_transpose (Size d1, Size d2) const
WWR4 dynamic_movedim (Size old_dim, Size new_dim) const
WWR4 intmd_movedim (Size old_dim, Size new_dim) const
neml2::Tensor base_movedim (Size old_dim, Size new_dim) const
WWR4 batch_movedim (Size old_dim, Size new_dim) const
WWR4 dynamic_flatten (Size start_dim=0, Size end_dim=-1) const
WWR4 intmd_flatten (Size start_dim=0, Size end_dim=-1) const
neml2::Tensor base_flatten (Size start_dim=0, Size end_dim=-1) const
WWR4 batch_flatten () const
 Flatten batch dimensions.
neml2::Tensor static_flatten () const
 Flatten static dimensions.

Static Public Member Functions

static WWR4 identity (const TensorOptions &options=default_tensor_options())
 Create the identity tensor \(\delta_{ij}\delta_{kl}\).
Static Public Member Functions inherited from PrimitiveTensor< WWR4, 3, 3 >
static WWR4 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 WWR4 einsum (c10::string_view equation, TensorList tensors)
 Einstein summation along base dimensions.
static WWR4 empty (const TensorOptions &options=default_tensor_options())
static WWR4 zeros (const TensorOptions &options=default_tensor_options())
static WWR4 ones (const TensorOptions &options=default_tensor_options())
static WWR4 full (const CScalar &init, const TensorOptions &options=default_tensor_options())
static WWR4 rand (const TensorOptions &options=default_tensor_options())
static WWR4 fill (Args &&... args)
Static Public Member Functions inherited from TensorBase< WWR4 >
static WWR4 empty_like (const WWR4 &other)
static WWR4 zeros_like (const WWR4 &other)
 Zero tensor like another, i.e. same batch and base shapes, same tensor options, etc.
static WWR4 ones_like (const WWR4 &other)
 Unit tensor like another, i.e. same batch and base shapes, same tensor options, etc.
static WWR4 full_like (const WWR4 &other, const CScalar &init)
static WWR4 rand_like (const WWR4 &other)

Additional Inherited Members

Public Types inherited from PrimitiveTensor< WWR4, 3, 3 >
using base_sizes_sequence
 Base shape sequence.
Static Public Attributes inherited from PrimitiveTensor< WWR4, 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< WWR4, 3, 3 >
void validate_shapes_and_dims () const
 Validate shapes and dimensions.
Protected Member Functions inherited from TensorBase< WWR4 >
void validate_shapes_and_dims () const
 Validate shapes and dimensions.

Constructor & Destructor Documentation

◆ WWR4()

WWR4 ( const R4 & F)

Member Function Documentation

◆ identity()

WWR4 identity ( const TensorOptions & options = default_tensor_options())
static

Create the identity tensor \(\delta_{ij}\delta_{kl}\).