BaseDifferential#
- class astropy.coordinates.BaseDifferential(*args, **kwargs)[source]#
Bases:
BaseRepresentationOrDifferential
A base class representing differentials of representations.
These represent differences or derivatives along each component. E.g., for physics spherical coordinates, these would be \(\delta r, \delta \theta, \delta \phi\).
- Parameters:
- d_comp1, d_comp2, d_comp3
Quantity
or subclass The components of the 3D differentials. The names are the keys and the subclasses the values of the
attr_classes
attribute.- copybool, optional
If
True
(default), arrays will be copied. IfFalse
, arrays will be references, though possibly broadcast to ensure matching shapes.
- d_comp1, d_comp2, d_comp3
Notes
All differential representation classes should subclass this base class, and define an
base_representation
attribute with the class of the regularBaseRepresentation
for which differential coordinates are provided. This will set up a defaultattr_classes
instance with names equal to the base component names prefixed byd_
, and all classes set toQuantity
, plus properties to access those, and a default__init__
for initialization.Methods Summary
from_cartesian
(other, base)Convert the differential from 3D rectangular cartesian coordinates to the desired class.
from_representation
(representation, base)Create a new instance of this representation from another one.
norm
([base])Vector norm.
represent_as
(other_class, base)Convert coordinates to another representation.
to_cartesian
(base)Convert the differential to 3D rectangular cartesian coordinates.
transform
(matrix, base, transformed_base)Transform differential using a 3x3 matrix in a Cartesian basis.
Methods Documentation
- classmethod from_cartesian(other, base)[source]#
Convert the differential from 3D rectangular cartesian coordinates to the desired class.
- Parameters:
- other
The object to convert into this differential.
- base
BaseRepresentation
The points for which the differentials are to be converted: each of the components is multiplied by its unit vectors and scale factors. Will be converted to
cls.base_representation
if needed.
- Returns:
BaseDifferential
subclass instanceA new differential object that is this class’ type.
- classmethod from_representation(representation, base)[source]#
Create a new instance of this representation from another one.
- Parameters:
- representation
BaseRepresentation
instance The presentation that should be converted to this class.
- baseinstance of
cls.base_representation
The base relative to which the differentials will be defined. If the representation is a differential itself, the base will be converted to its
base_representation
to help convert it.
- representation
- norm(base=None)[source]#
Vector norm.
The norm is the standard Frobenius norm, i.e., the square root of the sum of the squares of all components with non-angular units.
- Parameters:
- baseinstance of
self.base_representation
Base relative to which the differentials are defined. This is required to calculate the physical size of the differential for all but Cartesian differentials or radial differentials.
- baseinstance of
- Returns:
- norm
astropy.units.Quantity
Vector norm, with the same shape as the representation.
- norm
- represent_as(other_class, base)[source]#
Convert coordinates to another representation.
If the instance is of the requested class, it is returned unmodified. By default, conversion is done via cartesian coordinates.
- Parameters:
- other_class
BaseRepresentation
subclass The type of representation to turn the coordinates into.
- baseinstance of
self.base_representation
Base relative to which the differentials are defined. If the other class is a differential representation, the base will be converted to its
base_representation
.
- other_class
- to_cartesian(base)[source]#
Convert the differential to 3D rectangular cartesian coordinates.
- Parameters:
- baseinstance of
self.base_representation
The points for which the differentials are to be converted: each of the components is multiplied by its unit vectors and scale factors.
- baseinstance of
- Returns:
CartesianDifferential
This object, converted.
- transform(matrix, base, transformed_base)[source]#
Transform differential using a 3x3 matrix in a Cartesian basis.
This returns a new differential and does not modify the original one.
- Parameters:
- matrix(3,3) array_like
A 3x3 (or stack thereof) matrix, such as a rotation matrix.
- baseinstance of
cls.base_representation
Base relative to which the differentials are defined. If the other class is a differential representation, the base will be converted to its
base_representation
.- transformed_baseinstance of
cls.base_representation
Base relative to which the transformed differentials are defined. If the other class is a differential representation, the base will be converted to its
base_representation
.