NEML2 1.4.0
Loading...
Searching...
No Matches
FillSR2 Class Reference

Create a filled SR2 from the input file. More...

Detailed Description

Create a filled SR2 from the input file.

#include <FillSR2.h>

Inheritance diagram for FillSR2:

Public Member Functions

 FillSR2 (const OptionSet &options)
 Construct a new FillSR2 object.
 
- Public Member Functions inherited from SR2
 SR2 (const R2 &T)
 Symmetrize an R2 then fill.
 
SR2 rotate (const Rot &r) const
 Rotate.
 
SR2 rotate (const R2 &R) const
 
SFR3 drotate (const Rot &r) const
 Derivative of the rotated tensor w.r.t. the Rodrigues vector.
 
SFFR4 drotate (const R2 &R) const
 
Scalar operator() (Size i, Size j) const
 Accessor.
 
Scalar tr () const
 Trace.
 
SR2 vol () const
 Volumetric part of the tensor.
 
SR2 dev () const
 Deviatoric part of the tensor.
 
Scalar det () const
 Determinant.
 
Scalar inner (const SR2 &other) const
 Double contraction ij,ij.
 
Scalar norm_sq () const
 Norm squared.
 
Scalar norm (Real eps=0) const
 Norm.
 
SSR4 outer (const SR2 &other) const
 Outer product ij,kl -> ijkl.
 
SR2 inverse () const
 Inversion.
 
SR2 transpose () const
 Transpose, no-op.
 
- Public Member Functions inherited from PrimitiveTensor< SR2, 6 >
 PrimitiveTensor ()=default
 Default constructor.
 
 PrimitiveTensor (const torch::Tensor &tensor, Size batch_dim)
 Construct from another torch::Tensor given batch dimension.
 
 PrimitiveTensor (const torch::Tensor &tensor)
 Construct from another torch::Tensor 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< Derived >
 TensorBase ()=default
 Default constructor.
 
 TensorBase (const torch::Tensor &tensor, Size batch_dim)
 Construct from another torch::Tensor.
 
 TensorBase (const Derived &tensor)
 Copy constructor.
 
 TensorBase (Real)=delete
 
Derived clone (torch::MemoryFormat memory_format=torch::MemoryFormat::Contiguous) const
 
Derived detach () const
 Discard function graph.
 
Derived to (const torch::TensorOptions &options) const
 Change tensor options.
 
Derived 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.
 
TensorShapeRef batch_sizes () const
 Return the batch size.
 
Size 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.
 
Derived 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.
 
void batch_index_put_ (indexing::TensorIndicesRef indices, const torch::Tensor &other)
 Set values by slicing on the batch dimensions.
 
void base_index_put_ (indexing::TensorIndicesRef indices, const torch::Tensor &other)
 Set values by slicing on the base dimensions.
 
Derived batch_expand (TensorShapeRef batch_size) const
 
neml2::Tensor base_expand (TensorShapeRef base_size) const
 Return a new view of the tensor with values broadcast along the base dimensions.
 
template<class Derived2 >
Derived batch_expand_as (const Derived2 &other) const
 Expand the batch to have the same shape as another tensor.
 
template<class Derived2 >
Derived2 base_expand_as (const Derived2 &other) const
 Expand the base to have the same shape as another tensor.
 
Derived batch_expand_copy (TensorShapeRef batch_size) const
 Return a new tensor with values broadcast along the batch dimensions.
 
neml2::Tensor base_expand_copy (TensorShapeRef base_size) const
 Return a new tensor with values broadcast along the base dimensions.
 
Derived batch_reshape (TensorShapeRef batch_shape) const
 Reshape batch dimensions.
 
neml2::Tensor base_reshape (TensorShapeRef base_shape) const
 Reshape base dimensions.
 
Derived batch_unsqueeze (Size d) const
 Unsqueeze a batch dimension.
 
neml2::Tensor base_unsqueeze (Size d) const
 Unsqueeze a base dimension.
 
Derived batch_transpose (Size d1, Size d2) const
 Transpose two batch dimensions.
 
neml2::Tensor base_transpose (Size d1, Size d2) const
 Transpose two base dimensions.
 
- Public Member Functions inherited from UserTensorBase
 UserTensorBase (const OptionSet &options)
 
- Public Member Functions inherited from NEML2Object
 NEML2Object (const OptionSet &options)
 Construct a new NEML2Object object.
 
virtual ~NEML2Object ()=default
 
const OptionSetinput_options () const
 
virtual void setup ()
 Setup this object.
 
const std::string & name () const
 A readonly reference to the object's name.
 
const std::string & type () const
 A readonly reference to the object's type.
 
const std::string & path () const
 A readonly reference to the object's path.
 
const std::string & doc () const
 A readonly reference to the object's docstring.
 
template<typename T = NEML2Object>
const T * host () const
 Get a readonly pointer to the host.
 
template<typename T = NEML2Object>
T * host ()
 Get a writable pointer to the host.
 

Static Public Member Functions

static OptionSet expected_options ()
 
- Static Public Member Functions inherited from SR2
static SR2 fill (const Real &a, const torch::TensorOptions &options=default_tensor_options())
 Fill the diagonals with a11 = a22 = a33 = a.
 
static SR2 fill (const Scalar &a)
 
static SR2 fill (const Real &a11, const Real &a22, const Real &a33, const torch::TensorOptions &options=default_tensor_options())
 Fill the diagonals with a11, a22, a33.
 
static SR2 fill (const Scalar &a11, const Scalar &a22, const Scalar &a33)
 
static SR2 fill (const Real &a11, const Real &a22, const Real &a33, const Real &a23, const Real &a13, const Real &a12, const torch::TensorOptions &options=default_tensor_options())
 Fill all entries.
 
static SR2 fill (const Scalar &a11, const Scalar &a22, const Scalar &a33, const Scalar &a23, const Scalar &a13, const Scalar &a12)
 
static SR2 identity (const torch::TensorOptions &options=default_tensor_options())
 Identity.
 
static SSR4 identity_map (const torch::TensorOptions &options=default_tensor_options())
 The derivative of a SR2 with respect to itself.
 
- Static Public Member Functions inherited from PrimitiveTensor< SR2, 6 >
static SR2 empty (const torch::TensorOptions &options=default_tensor_options())
 Unbatched empty tensor.
 
static SR2 empty (TensorShapeRef batch_shape, const torch::TensorOptions &options=default_tensor_options())
 Empty tensor given batch shape.
 
static SR2 zeros (const torch::TensorOptions &options=default_tensor_options())
 Unbatched zero tensor.
 
static SR2 zeros (TensorShapeRef batch_shape, const torch::TensorOptions &options=default_tensor_options())
 Zero tensor given batch shape.
 
static SR2 ones (const torch::TensorOptions &options=default_tensor_options())
 Unbatched unit tensor.
 
static SR2 ones (TensorShapeRef batch_shape, const torch::TensorOptions &options=default_tensor_options())
 Unit tensor given batch shape.
 
static SR2 full (Real init, const torch::TensorOptions &options=default_tensor_options())
 Unbatched tensor filled with a given value given base shape.
 
static SR2 full (TensorShapeRef batch_shape, Real init, const torch::TensorOptions &options=default_tensor_options())
 Full tensor given batch shape.
 
static Tensor identity_map (const torch::TensorOptions &)
 Derived tensor classes should define identity_map where appropriate.
 
- Static Public Member Functions inherited from TensorBase< Derived >
static Derived empty_like (const Derived &other)
 Empty tensor like another, i.e. same batch and base shapes, same tensor options, etc.
 
static Derived zeros_like (const Derived &other)
 Zero tensor like another, i.e. same batch and base shapes, same tensor options, etc.
 
static Derived ones_like (const Derived &other)
 Unit tensor like another, i.e. same batch and base shapes, same tensor options, etc.
 
static Derived full_like (const Derived &other, Real init)
 
static Derived linspace (const Derived &start, const Derived &end, Size nstep, Size dim=0, Size batch_dim=-1)
 Create a new tensor by adding a new batch dimension with linear spacing between start and end.
 
static Derived logspace (const Derived &start, const Derived &end, Size nstep, Size dim=0, Size batch_dim=-1, Real base=10)
 log-space equivalent of the linspace named constructor
 
- Static Public Member Functions inherited from UserTensorBase
static OptionSet expected_options ()
 
- Static Public Member Functions inherited from NEML2Object
static OptionSet expected_options ()
 

Additional Inherited Members

- Static Public Attributes inherited from PrimitiveTensor< SR2, 6 >
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.
 

Constructor & Destructor Documentation

◆ FillSR2()

FillSR2 ( const OptionSet & options)

Construct a new FillSR2 object.

Parameters
optionsThe options extracted from the input file.

Member Function Documentation

◆ expected_options()

OptionSet expected_options ( )
static