Create batch of rotations, with various methods.
|
| Orientation (const OptionSet &options) |
| Construct a new Orientation object.
|
|
| 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.
|
|
Scalar | dist (const Rot &r) const |
| Distance measure between two rotations, accounting for shadow mapping.
|
|
Scalar | gdist (const Rot &r) const |
| Raw distance formula, not accounting for shadown mapping.
|
|
Scalar | dV () const |
| Volume element at locations.
|
|
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.
|
|
| 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, const TraceableTensorShape &batch_shape) |
| Construct from another torch::Tensor given batch shape.
|
|
template<class Derived2 > |
| PrimitiveTensor (const TensorBase< Derived2 > &tensor) |
| Copy constructor.
|
|
| 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.
|
|
| TensorBase ()=default |
| Default constructor.
|
|
| TensorBase (const torch::Tensor &tensor, Size batch_dim) |
| Construct from another torch::Tensor with given batch dimension.
|
|
| TensorBase (const torch::Tensor &tensor, const TraceableTensorShape &batch_shape) |
| Construct from another torch::Tensor with given batch shape.
|
|
template<class Derived2 > |
| TensorBase (const TensorBase< Derived2 > &tensor) |
| Copy constructor.
|
|
| TensorBase (Real)=delete |
|
Derived | variable_data () const |
|
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.
|
|
const TraceableTensorShape & | batch_sizes () const |
| Return the batch size.
|
|
TraceableSize | 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) |
|
void | batch_index_put_ (indexing::TensorIndicesRef indices, Real v) |
|
void | base_index_put_ (indexing::TensorIndicesRef indices, const torch::Tensor &other) |
|
void | base_index_put_ (indexing::TensorIndicesRef indices, Real v) |
|
Derived | batch_expand (const TraceableTensorShape &batch_shape) const |
|
Derived | batch_expand (const TraceableSize &batch_size, Size dim) const |
| Return a new view of the tensor with values broadcast along a given batch dimension.
|
|
neml2::Tensor | base_expand (TensorShapeRef base_shape) const |
| Return a new view of the tensor with values broadcast along the base dimensions.
|
|
neml2::Tensor | base_expand (Size base_size, Size dim) const |
| Return a new view of the tensor with values broadcast along a given base dimension.
|
|
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 (const TraceableTensorShape &batch_shape) const |
| Return a new tensor with values broadcast along the batch dimensions.
|
|
neml2::Tensor | base_expand_copy (TensorShapeRef base_shape) const |
| Return a new tensor with values broadcast along the base dimensions.
|
|
Derived | batch_reshape (const TraceableTensorShape &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.
|
|
neml2::Tensor | base_flatten () const |
| Flatten base dimensions.
|
|
| UserTensorBase (const OptionSet &options) |
|
| NEML2Object ()=delete |
|
| NEML2Object (NEML2Object &&)=delete |
|
| NEML2Object (const NEML2Object &)=delete |
|
NEML2Object & | operator= (const NEML2Object &)=delete |
|
NEML2Object & | operator= (NEML2Object &&)=delete |
|
virtual | ~NEML2Object ()=default |
|
| NEML2Object (const OptionSet &options) |
| Construct a new NEML2Object object.
|
|
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 OptionSet | expected_options () |
|
static Rot | identity (const torch::TensorOptions &options=default_tensor_options()) |
| The identity rotation, helpfully the zero vector.
|
|
static Rot | fill_euler_angles (const torch::Tensor &vals, const std::string &angle_convention, const std::string &angle_type) |
| Fill from an array of Euler angles.
|
|
static Rot | fill_matrix (const R2 &M) |
| Fill from rotation matrices.
|
|
static Rot | fill_random (unsigned int n, Size random_seed) |
| Fill some number of random orientations.
|
|
static Rot | fill_rodrigues (const Scalar &rx, const Scalar &ry, const Scalar &rz) |
| Fill from standard Rodrigues parameters.
|
|
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 Derived | empty (const torch::TensorOptions &options=default_tensor_options()) |
| Unbatched empty tensor.
|
|
static Derived | empty (const TraceableTensorShape &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 (const TraceableTensorShape &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 (const TraceableTensorShape &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 (const TraceableTensorShape &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 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) |
| 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, Real base=10) |
| log-space equivalent of the linspace named constructor
|
|
static OptionSet | expected_options () |
|
static OptionSet | expected_options () |
|