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

Create batch of rotations, with various methods. More...

Detailed Description

Create batch of rotations, with various methods.

#include <Orientation.h>

Inheritance diagram for Orientation:

Public Member Functions

 Orientation (const OptionSet &options)
 Construct a new Orientation object.
 
- Public Member Functions inherited from Rot
 Rot (const Vec &v)
 
Rot inverse () const
 Inversion.
 
R2 euler_rodrigues () const
 Generate a rotation matrix using the Euler-Rodrigues formula.
 
R3 deuler_rodrigues () const
 d(R2)/d(r) – useful in constructing other derivatives
 
Rot rotate (const Rot &r) const
 Rotate.
 
R2 drotate (const Rot &r) const
 Derivative of the rotated Rodrigues vector w.r.t. the other Rodrigues vector.
 
R2 drotate_self (const Rot &r) const
 Derivative of the rotated Rodrigues vector w.r.t. this vector.
 
Rot shadow () const
 Return the shadow parameter set (a set of MRPs that define the same orientation)
 
R2 dshadow () const
 Return the derivative of the shadow map.
 
- Public Member Functions inherited from VecBase< Rot >
Scalar operator() (TorchSize i) const
 Accessor.
 
Scalar dot (const VecBase< Derived2 > &v) const
 dot product
 
Rot cross (const VecBase< Derived2 > &v) const
 cross product
 
R2 outer (const VecBase< Derived2 > &v) const
 outer product
 
Scalar norm_sq () const
 Norm squared.
 
Scalar norm () const
 Norm.
 
Rot rotate (const Rot &r) const
 Rotate using a Rodrigues vector.
 
Rot rotate (const R2 &R) const
 Rotate using a rotation matrix.
 
R2 drotate (const Rot &r) const
 Derivative of the rotated vector w.r.t. the Rodrigues vector.
 
R3 drotate (const R2 &R) const
 Derivative of the rotated vector w.r.t. the rotation matrix.
 
- 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 Rot
static Rot identity (const torch::TensorOptions &options=default_tensor_options())
 The identity rotation, helpfully the zero vector.
 
- Static Public Member Functions inherited from VecBase< Rot >
static Rot fill (const Real &v1, const Real &v2, const Real &v3, const torch::TensorOptions &options=default_tensor_options())
 
static Rot fill (const Scalar &v1, const Scalar &v2, const Scalar &v3)
 
static R2 identity_map (const torch::TensorOptions &options=default_tensor_options())
 The derivative of a vector with respect to itself.
 
- 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

◆ Orientation()

Orientation ( const OptionSet & options)

Construct a new Orientation object.

Member Function Documentation

◆ expected_options()

OptionSet expected_options ( )
static