Distance¶
- class astropy.coordinates.Distance(value=None, unit=None, z=None, cosmology=None, distmod=None, parallax=None, dtype=<class 'numpy.inexact'>, copy=True, order=None, subok=False, ndmin=0, allow_negative=False)[source]¶
Bases:
SpecificTypeQuantityA one-dimensional distance.
This can be initialized by providing one of the following:
Distance
value(array or float) and aunitQuantityobject with dimensionality of lengthRedshift and (optionally) a
CosmologyDistance modulus
Parallax
- Parameters:
- valuescalar or
Quantity[:ref: ‘length’] The value of this distance.
- unit
UnitBase[:ref: ‘length’] The unit for this distance.
- z
float A redshift for this distance. It will be converted to a distance by computing the luminosity distance for this redshift given the cosmology specified by
cosmology. Must be given as a keyword argument.- cosmology
CosmologyorNone A cosmology that will be used to compute the distance from
z. IfNone, the current cosmology will be used (seeastropy.cosmologyfor details).- distmod
floatorQuantity The distance modulus for this distance. Note that if
unitis not provided, a guess will be made at the unit between AU, pc, kpc, and Mpc.- parallax
QuantityorAngle The parallax in angular units.
- dtype
dtype, optional See
Quantity.- copybool, optional
See
Quantity.- order{‘C’, ‘F’, ‘A’}, optional
See
Quantity.- subokbool, optional
See
Quantity.- ndmin
int, optional See
Quantity.- allow_negativebool, optional
Whether to allow negative distances (which are possible in some cosmologies). Default:
False.
- valuescalar or
- Raises:
UnitsErrorIf the
unitis not a length unit.ValueErrorIf value specified is less than 0 and
allow_negative=False.If
cosmologyis provided whenzis not given.If either none or more than one of
value,z,distmod, orparallaxwere given.
Examples
>>> from astropy import units as u >>> from astropy.cosmology import WMAP5 >>> Distance(10, u.Mpc) <Distance 10. Mpc> >>> Distance(40*u.pc, unit=u.kpc) <Distance 0.04 kpc> >>> Distance(z=0.23) <Distance 1184.01657566 Mpc> >>> Distance(z=0.23, cosmology=WMAP5) <Distance 1147.78831918 Mpc> >>> Distance(distmod=24.47*u.mag) <Distance 783.42964277 kpc> >>> Distance(parallax=21.34*u.mas) <Distance 46.86035614 pc>
Attributes Summary
The distance modulus as a
Quantity.The parallax angle as an
Angleobject.Short for
self.compute_z().Methods Summary
compute_z([cosmology])The redshift for this distance assuming its physical distance is a luminosity distance.
Attributes Documentation
- z¶
Short for
self.compute_z().
Methods Documentation
- compute_z(cosmology=None, **atzkw)[source]¶
The redshift for this distance assuming its physical distance is a luminosity distance.
- Parameters:
- cosmology
CosmologyorNone The cosmology to assume for this calculation, or
Noneto use the current cosmology (seeastropy.cosmologyfor details).- **atzkw
keyword arguments for
z_at_value()
- cosmology
- Returns:
- z
Quantity The redshift of this distance given the provided
cosmology.
- z
Warning
This method can be slow for large arrays. The redshift is determined using
astropy.cosmology.z_at_value(), which handles vector inputs (e.g. an array of distances) by element-wise calling ofscipy.optimize.minimize_scalar(). For faster results consider using an interpolation table;astropy.cosmology.z_at_value()provides details.See also
astropy.cosmology.z_at_value()Find the redshift corresponding to a
astropy.cosmology.FLRW.luminosity_distance().