with_redshift#

astropy.cosmology.units.with_redshift(cosmology=None, *, distance='comoving', hubble=True, Tcmb=True, atzkw=None)[源代码]#

在宇宙学距离的度量之间换算。

注意:默认情况下,所有等效项都处于打开状态,必须显式关闭。应注意不要将相对论红移、引力红移等误解为宇宙学红移。

参数:
cosmology : Cosmology, str ,或 None ,可选宇宙学,python:str,或python:无,可选

宇宙学实现或内置的宇宙学名称(例如‘Planck18’)。如果 None ,将使用默认的宇宙学(由 default_cosmology )。

distance : {'comoving', 'lookback', 'luminosity'} or None (可选,仅关键字){‘正在移动’,‘回望’,‘光度’}或

要创建的距离等效值类型或 None 。缺省值为“commoving”。

hubble : bool (可选,仅关键字)布尔值(可选,仅关键字)

是否创建哈勃参数<->红移等效项,使用 Cosmology.H 。缺省值为 True

Tcmb : bool (可选,仅关键字)布尔值(可选,仅关键字)

是否创建CMB温度<->红移等效值,使用 Cosmology.Tcmb 。缺省值为 True

atzkw : dictNone (可选,仅关键字)PYTHON:DICT或PYTHON:NONE(可选,仅关键字)

的关键字参数 z_at_value()

返回:
Equivalency

在红移和距离/哈勃/温度之间具有等价性。

实例

>>> import astropy.units as u
>>> import astropy.cosmology.units as cu
>>> from astropy.cosmology import WMAP9
>>> equivalency = cu.with_redshift(WMAP9)
>>> z = 1100 * cu.redshift

红移到(移动)距离:

>>> z.to(u.Mpc, equivalency)  
<Quantity 14004.03157418 Mpc>

红移到哈勃参数:

>>> z.to(u.km / u.s / u.Mpc, equivalency)  
<Quantity 1565637.40154275 km / (Mpc s)>
>>> z.to(cu.littleh, equivalency)  
<Quantity 15656.37401543 littleh>

红移至CMB温度:

>>> z.to(u.K, equivalency)
<Quantity 3000.225 K>