BaseRepresentation#

class astropy.coordinates.BaseRepresentation(*args, differentials=None, **kwargs)[源代码]#

基类:BaseRepresentationOrDifferential

在三维坐标系中表示点的基。

参数:
组件1,组件2,组件3Quantity 或子类数量或子类

三维点的组件。名称是键,子类是 attr_classes 属性。

differentials : dictBaseDifferential ,可选Python:dict、BaseDifferential、可选

任何一个微分表示都应该与这个类相关联。输入必须是单个 BaseDifferential 子类实例,或者是一个字典,其中的键设置为SI单位的字符串表示,用它来获取微分(导数)。例如,对于位置表达上的速度差,关键是 's' 秒,表示导数是时间导数。

copy : bool ,可选可选的布尔

如果 True (默认),将复制数组。如果 False ,数组将作为引用,但可能会广播以确保形状匹配。

笔记

所有制图表达类都应该成为此基制图表达类的子类,并定义 attr_classes 属性,则为 dict 它将组件名称映射到创建它们的类。它们还必须定义一个 to_cartesian 方法和一个 from_cartesian 类方法。默认情况下,转换是通过笛卡尔系统完成的,但是希望定义更智能转换路径的类可以重载 represent_as 方法。如果要使用关联的差异类,还应该定义 unit_vectorsscale_factors 方法(有关详细信息,请参阅这些方法)。

属性摘要

differentials 

差异类实例的字典。

info 

shape 

实例和基础数组的形状。

方法总结

cross (其他)

两个表示的向量叉积。

dot (其他)

两个表示的点积。

from_representation \(表示法)

从另一个表示创建此表示的新实例。

mean(*args, **kwargs)

向量平均值。

norm \()

向量范数。

represent_as(other_class[, differential_class])

将坐标转换为其他表示。

scale_factors \()

每个组件方向的比例因子。

sum(*args, **kwargs)

矢量和。

transform \(矩阵)

在笛卡尔基础上使用3x3矩阵变换坐标。

unit_vectors \()

每个分量方向上的笛卡尔单位向量。

with_differentials \(差异)

使用与此表示相同的位置创建一个新表示,但使用这些新的差分。

without_differentials \()

返回一份没有附加差异的表示的副本。

属性文档

differentials#

差异类实例的字典。

本字典的键必须是采用微分(导数)的国际单位制的字符串表示。例如,对于位置表达上的速度差,关键是 's' 秒,表示导数是时间导数。

info#
shape#

实例和基础数组的形状。

喜欢 shape ,可以通过指定元组设置为新形状。请注意,如果不同的实例共享一些但不是所有的底层数据,那么设置一个实例的形状可能会使另一个实例不可用。因此,强烈建议对新实例进行重新构造 reshape 方法。

加薪:
ValueError

如果新形状的元素总数错误。

AttributeError

如果在不复制阵列的情况下无法更改任何组件的形状。对于这些情况,请使用 reshape 方法(该方法复制任何不能就地重塑的数组)。

方法文件

cross(other)[源代码]#

两个表示的向量叉积。

计算是通过转换两者来完成的 selfotherCartesianRepresentation ,并将结果转换回 self .

参数:
其他BaseRepresentation 子类实例BaseRepresentation子类实例

取叉积的表示法。

返回:
cross_productBaseRepresentation 子类实例BaseRepresentation子类实例

向量垂直于两者 selfother ,在与 self .

dot(other)[源代码]#

两个表示的点积。

计算是通过转换两者来完成的 selfotherCartesianRepresentation .

请注意,在此操作过程中,所有相关的差速器都将被丢弃。

参数:
其他BaseRepresentationBaseRepresentation

点积的表示法。

返回:
dot_productQuantity数量

笛卡尔表示的x、y和z分量乘积的和 selfother .

classmethod from_representation(representation)[源代码]#

从另一个表示创建此表示的新实例。

参数:
代表BaseRepresentation 实例BaseRepresentation实例

应转换为此类的演示文稿。

mean(*args, **kwargs)[源代码]#

向量平均值。

平均化是通过将表示转换为笛卡尔坐标,并取x、y和z分量的平均值来完成的。结果将转换回与输入相同的表示形式。

参照 mean 关于论点的完整文档,请注意 axis 是在 shape 代表性,以及 out 无法使用参数。

返回:
meanBaseRepresentation 子类实例BaseRepresentation子类实例

向量平均值,与输入值的表示形式相同。

norm()[源代码]#

向量范数。

范数是标准的Frobenius范数,即所有非角单位分量平方和的平方根。

请注意,在此操作过程中,所有相关的差速器都将被丢弃。

返回:
normastropy.units.Quantityastropy.units.Quantity

向量范数,与表示形式相同。

represent_as(other_class, differential_class=None)[源代码]#

将坐标转换为其他表示。

如果实例属于请求的类,则返回原样。默认情况下,转换是通过笛卡尔坐标完成的。另请注意,原点处的方向信息为 not 通过笛卡尔坐标转换来保存。请参阅的文档字符串 to_cartesian() 举个例子。

参数:
other_classBaseRepresentation 子类基表示子类

要将坐标转换为的表示类型。

differential_class : dictBaseDifferential ,可选Python:BaseDifferential的字典,可选

应在其中表示差分的类。如果只附加了一个差分,则可以是单个类,否则它应该是 dict 用与差速器相同的键控制。

scale_factors()[源代码]#

每个组件方向的比例因子。

给定单位向量 \(\hat{{e}}_c\) 和比例因子 \(f_c\) ,一个组成部分的变化 \(\delta c\) 对应于 \(\delta c \times f_c \times \hat{{e}}_c\) .

返回:
scale_factors : dictQuantityPython :数量决定论

键是组件名称。

sum(*args, **kwargs)[源代码]#

矢量和。

对笛卡尔表示法求和,然后把它转换成y分量。结果将转换回与输入相同的表示形式。

参照 sum 关于论点的完整文档,请注意 axis 是在 shape 代表性,以及 out 无法使用参数。

返回:
sumBaseRepresentation 子类实例BaseRepresentation子类实例

向量和,与输入的表示形式相同。

transform(matrix)[源代码]#

在笛卡尔基础上使用3x3矩阵变换坐标。

这将返回一个新的表示形式,而不修改原始表示形式。附加到这个表示的任何微分也将被转换。

参数:
matrix : (3,3) array_like(3,3)

3x3(或其堆叠)矩阵,例如旋转矩阵。

unit_vectors()[源代码]#

每个分量方向上的笛卡尔单位向量。

给定单位向量 \(\hat{{e}}_c\) 和比例因子 \(f_c\) ,一个组成部分的变化 \(\delta c\) 对应于 \(\delta c \times f_c \times \hat{{e}}_c\) .

返回:
unit_vectors : dictCartesianRepresentationPython :笛卡尔表现法

键是组件名称。

with_differentials(differentials)[源代码]#

使用与此表示相同的位置创建一个新表示,但使用这些新的差分。

此对象的Differential dict中已存在的差分键将被覆盖。

参数:
differentials : sequenceBaseDifferential 子类实例Python:BaseDifferential子类实例序列

新表示的微分。

返回:
BaseRepresentation 子类实例

一份此声明的副本,但是 differentials 因为它的差别。

without_differentials()[源代码]#

返回一份没有附加差异的表示的副本。

返回:
BaseRepresentation 子类实例

此表示的一个浅拷贝,没有任何差异。如果没有差异,则不进行复制。