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

Provide the correct symmetry operators for a given crystal class. More...

Detailed Description

Provide the correct symmetry operators for a given crystal class.

#include <SymmetryFromOrbifold.h>

Inheritance diagram for SymmetryFromOrbifold:

Public Member Functions

 SymmetryFromOrbifold (const OptionSet &options)
 Setup the symmetry operators.
 
- Public Member Functions inherited from R2
 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() (TorchSize i, TorchSize j) const
 Accessor.
 
R2 inverse () const
 Inversion.
 
R2 transpose () const
 transpose
 
- Public Member Functions inherited from FixedDimTensor< Derived, S >
 FixedDimTensor ()=default
 Default constructor.
 
 FixedDimTensor (const torch::Tensor &tensor, TorchSize batch_dim)
 Construct from another torch::Tensor given batch dimension.
 
 FixedDimTensor (const torch::Tensor &tensor)
 Construct from another torch::Tensor and infer batch dimension.
 
 operator BatchTensor () const
 Implicit conversion to a BatchTensor and loses information on the fixed base shape.
 
- Public Member Functions inherited from BatchTensorBase< Derived >
 BatchTensorBase ()=default
 Default constructor.
 
 BatchTensorBase (const torch::Tensor &tensor, TorchSize batch_dim)
 Construct from another torch::Tensor.
 
 BatchTensorBase (const Derived &tensor)
 Copy constructor.
 
 BatchTensorBase (Real)=delete
 
bool batched () const
 Whether the tensor is batched.
 
TorchSize batch_dim () const
 Return the number of batch dimensions.
 
TorchSizebatch_dim ()
 Return a writable reference to the batch dimension.
 
TorchSize base_dim () const
 Return the number of base dimensions.
 
TorchShapeRef batch_sizes () const
 Return the batch size.
 
TorchSize batch_size (TorchSize index) const
 Return the length of some batch axis.
 
TorchShapeRef base_sizes () const
 Return the base size.
 
TorchSize base_size (TorchSize index) const
 Return the length of some base axis.
 
TorchSize base_storage () const
 Return the flattened storage needed just for the base indices.
 
Derived batch_index (TorchSlice indices) const
 Get a batch.
 
BatchTensor base_index (const TorchSlice &indices) const
 Return an index sliced on the base dimensions.
 
void batch_index_put (TorchSlice indices, const torch::Tensor &other)
 Set a index sliced on the batch dimensions to a value.
 
void base_index_put (const TorchSlice &indices, const torch::Tensor &other)
 Set a index sliced on the base dimensions to a value.
 
Derived batch_expand (TorchShapeRef batch_size) const
 Return a new view of the tensor with values broadcast along the batch dimensions.
 
BatchTensor base_expand (TorchShapeRef 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 (TorchShapeRef batch_size) const
 Return a new tensor with values broadcast along the batch dimensions.
 
BatchTensor base_expand_copy (TorchShapeRef base_size) const
 Return a new tensor with values broadcast along the base dimensions.
 
Derived batch_reshape (TorchShapeRef batch_shape) const
 Reshape batch dimensions.
 
BatchTensor base_reshape (TorchShapeRef base_shape) const
 Reshape base dimensions.
 
Derived batch_unsqueeze (TorchSize d) const
 Unsqueeze a batch dimension.
 
Derived list_unsqueeze () const
 Unsqueeze on the special list batch dimension.
 
BatchTensor base_unsqueeze (TorchSize d) const
 Unsqueeze a base dimension.
 
Derived batch_transpose (TorchSize d1, TorchSize d2) const
 Transpose two batch dimensions.
 
BatchTensor base_transpose (TorchSize d1, TorchSize d2) const
 Transpose two base dimensions.
 
BatchTensor base_movedim (TorchSize d1, TorchSize d2) const
 Move two base dimensions.
 
Derived clone (torch::MemoryFormat memory_format=torch::MemoryFormat::Contiguous) const
 Clone (take ownership)
 
Derived detach () const
 Discard function graph.
 
Derived to (const torch::TensorOptions &options) const
 Send to options.
 
Derived operator- () const
 Negation.
 
Derived batch_sum (TorchSize d) const
 Sum on a batch index.
 
Derived list_sum () const
 Sum on the list index (TODO: replace with class)
 
- Public Member Functions inherited from UserTensor
 UserTensor (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 R2
static R4 identity_map (const torch::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 Real &a, const torch::TensorOptions &options=default_tensor_options())
 Fill the diagonals with a11 = a22 = a33 = a.
 
static R2 fill (const Scalar &a)
 
static R2 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 R2 fill (const Scalar &a11, const Scalar &a22, const Scalar &a33)
 
static R2 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 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 Real &a11, const Real &a12, const Real &a13, const Real &a21, const Real &a22, const Real &a23, const Real &a31, const Real &a32, const Real &a33, const torch::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 torch::TensorOptions &options=default_tensor_options())
 Identity.
 
- Static Public Member Functions inherited from FixedDimTensor< Derived, S >
static Derived empty (const torch::TensorOptions &options=default_tensor_options())
 Unbatched empty tensor.
 
static Derived empty (TorchShapeRef batch_shape, const torch::TensorOptions &options=default_tensor_options())
 Empty tensor given batch shape.
 
static Derived zeros (const torch::TensorOptions &options=default_tensor_options())
 Unbatched zero tensor.
 
static Derived zeros (TorchShapeRef batch_shape, const torch::TensorOptions &options=default_tensor_options())
 Zero tensor given batch shape.
 
static Derived ones (const torch::TensorOptions &options=default_tensor_options())
 Unbatched unit tensor.
 
static Derived ones (TorchShapeRef batch_shape, const torch::TensorOptions &options=default_tensor_options())
 Unit tensor given batch shape.
 
static Derived full (Real init, const torch::TensorOptions &options=default_tensor_options())
 Unbatched tensor filled with a given value given base shape.
 
static Derived full (TorchShapeRef batch_shape, Real init, const torch::TensorOptions &options=default_tensor_options())
 Full tensor given batch shape.
 
static BatchTensor identity_map (const torch::TensorOptions &)
 Derived tensor classes should define identity_map where appropriate.
 
- Static Public Member Functions inherited from BatchTensorBase< 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, TorchSize nstep, TorchSize dim=0, TorchSize 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, TorchSize nstep, TorchSize dim=0, TorchSize batch_dim=-1, Real base=10)
 log-space equivalent of the linspace named constructor
 
- Static Public Member Functions inherited from UserTensor
static OptionSet expected_options ()
 
- Static Public Member Functions inherited from NEML2Object
static OptionSet expected_options ()
 

Additional Inherited Members

- Static Public Attributes inherited from FixedDimTensor< Derived, S >
static const TorchShape const_base_sizes = {S...}
 The base shape.
 
static constexpr TorchSize const_base_dim = sizeof...(S)
 The base dim.
 
static const TorchSize const_base_storage = utils::storage_size({S...})
 The base storage.
 

Constructor & Destructor Documentation

◆ SymmetryFromOrbifold()

Setup the symmetry operators.

Parameters
optionsThe options extracted from the input file.

Member Function Documentation

◆ expected_options()

OptionSet expected_options ( )
static