NEML2 1.4.0
|
Create batch of rotations, with various methods. More...
Create batch of rotations, with various methods.
#include <Orientation.h>
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() (Size 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 PrimitiveTensor< Derived, S > | |
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 OptionSet & | input_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 PrimitiveTensor< Derived, S > | |
static Derived | empty (const torch::TensorOptions &options=default_tensor_options()) |
Unbatched empty tensor. | |
static Derived | empty (TensorShapeRef 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 (TensorShapeRef 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 (TensorShapeRef 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 (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< Derived, S > | |
static const TensorShape | const_base_sizes = {S...} |
The base shape. | |
static constexpr Size | const_base_dim = sizeof...(S) |
The base dim. | |
static const Size | const_base_storage = utils::storage_size({S...}) |
The base storage. | |
Orientation | ( | const OptionSet & | options | ) |
Construct a new Orientation object.
|
static |