27#include "neml2/tensors/VecBase.h"
66 const std::string & angle_convention,
67 const std::string & angle_type);
Base class for second order tensor.
Definition R2.h:49
Third order tensor without symmetry.
Definition R3.h:41
Rotation stored as modified Rodrigues parameters.
Definition Rot.h:49
Rot rotate(const Rot &r) const
Rotate.
Definition Rot.cxx:218
static Rot fill_rodrigues(const Scalar &rx, const Scalar &ry, const Scalar &rz)
Fill from standard Rodrigues parameters.
Definition Rot.cxx:153
Scalar dist(const Rot &r) const
Distance measure between two rotations, accounting for shadow mapping.
Definition Rot.cxx:269
R3 deuler_rodrigues() const
d(R2)/d(r) – useful in constructing other derivatives
Definition Rot.cxx:203
static Rot axis_angle_standard(const Vec &n, const Scalar &theta)
Fill with axis/angle pairs as a standard Rodrigues parameter, then convert to MRP.
Definition Rot.cxx:185
static Rot rand(const TensorOptions &options=default_tensor_options())
Definition Rot.cxx:59
Rot shadow() const
Return the shadow parameter set (a set of MRPs that define the same orientation)
Definition Rot.cxx:256
R2 dshadow() const
Return the derivative of the shadow map.
Definition Rot.cxx:262
static Rot fill_matrix(const R2 &M)
Fill from rotation matrix.
Definition Rot.cxx:136
static Rot identity(const TensorOptions &options=default_tensor_options())
The identity rotation, helpfully the zero vector.
Definition Rot.cxx:82
static Rot fill_euler_angles(const Vec &v, const std::string &angle_convention, const std::string &angle_type)
Fill from Euler angle.
Definition Rot.cxx:88
R2 euler_rodrigues() const
Generate a rotation matrix using the Euler-Rodrigues formula.
Definition Rot.cxx:192
R2 drotate_self(const Rot &r) const
Derivative of the rotated Rodrigues vector w.r.t. this vector.
Definition Rot.cxx:240
Scalar gdist(const Rot &r) const
Raw distance formula, not accounting for shadown mapping.
Definition Rot.cxx:282
static Rot axis_angle(const Vec &n, const Scalar &theta)
Fill with axis/angle pairs.
Definition Rot.cxx:176
Scalar dV() const
Volume element at locations.
Definition Rot.cxx:291
R2 drotate(const Rot &r) const
Derivative of the rotated Rodrigues vector w.r.t. the other Rodrigues vector.
Definition Rot.cxx:224
static Rot rotation_from_to(const Vec &v1, const Vec &v2)
Fill by forming the rotation between two vectors.
Definition Rot.cxx:164
Scalar.
Definition Scalar.h:38
Base class 3-vector.
Definition VecBase.h:42
3-vector.
Definition Vec.h:43
Definition DiagnosticsInterface.cxx:30
TensorOptions default_tensor_options()
Default floating point tensor options.
Definition defaults.cxx:42
Tensor operator*(const Tensor &a, const Tensor &b)
Definition operators.cxx:171
c10::TensorOptions TensorOptions
Definition types.h:60
c10::ArrayRef< Size > TensorShapeRef
Definition types.h:67
Traceable tensor shape.
Definition TraceableTensorShape.h:38