gravelamps.core.conversion

Functions handling unit conversions

gravelamps.core.conversion.agnostic_to_model(result_object: JointResult, model_settings: dict) dict

Converts model agnostic samples to their model specific parameter values.

Parameters:
result_object: JointResult

Contians the results of a model agnostic joint parameter estimation program.

model_settings: dict

Model specific settings.

Returns:
model_samples: dict

Keys will be each of the model specific parameters, with the values being an array of the sample values.

Raises:
KeyError

If no conversion settings are specified.

gravelamps.core.conversion.frequency_to_dimensionless_frequency(frequencies: Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], lens_mass: float = None) Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]

Convert regular frequency to dimensionless frequency.

This may be done in one of two ways. If a lens mass (detector frame) is specified, then the conversion will be done with the specific objet. If is is not it will be done in the generic agnostic form.

Parameters:
frequencies: ArrayLike[float]

Frequencies in Hz

lens_mass: float, optional, default=None

Detector frame lens mass to use for specific conversion.

Returns:
dimensionless_frequencies: ArrayLike[float]

Frequencies in dimensionless form

gravelamps.core.conversion.lens_mass_source_to_lens_mass(lens_mass_source: float, lens_distance_fraction: float, luminosity_distance: float) float

Convert from source frame lens mass to detector frame assuming the lens is at the given fraction of the source luminosity distance.

Parameters:
lens_mass_source: float

Source frame mass of lens in Solar Masses

lens_distance_fraction: float

Distance to the lensing object as a fraction of the source luminosity distance

luminosity_distance: float

Luminosity distance to the source in Mpc

Returns:
lens_mass: float

Detector frame mass of the lens in Solar Masses

gravelamps.core.conversion.redshifted_lens_mass_from_source_position_and_time_delay(time_delay: Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], source_position: Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], *, module: str, prefactor: float) Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]

Converts time delay data into lens mass data.

Parameters:
time_delay: ArrayLike

Sample values of the time delay.

source_position: ArrayLike

Sample values of the source position.

module: str

Module containing time delay function.

prefactor: float

Value to multiply the dimensionless time delay by.

Returns:
ArrayLike

Converted lens mass values

gravelamps.core.conversion.solar_mass_to_natural_mass(solar_mass: float) float

Convert from solar masses to natural units such that c=G=1.

Parameters:
solar_mass: float

Mass in Solar Masses

Returns:
natural_mass: float

Mass in natural units

gravelamps.core.conversion.source_params_and_lens_observables_to_lensed_image_params(source_parameters: dict, lensing_observables: dict) dict

Convert source parameters and lensing observables to the apparent parameters of the lensed image.

Parameters:
source_parameters: dict

Parameters of the GW source. Should contain luminosity_distance and morse_index.

lensing_observables: dict

Lensing observables. Should contain relative_magnification, time_delay and morse_index.

Returns:
lensed_parameters: dict

Apparent GW parameters for the lensed image.

gravelamps.core.conversion.source_position_from_relative_magnification(relative_magnification: Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], *, module: str, minimum: float, maximum: float, num_points: int) Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]

Converts relative magnification data to source position data.

Parameters:
relative_magnification: ArrayLike

Sample values of the relative magnification.

module: str

Module containing mangification function.

minimum: float

Minimum of the source position space of validity.

maximum: float

Maximum of the source position space of validity.

num_points: int

Number of points to generate in the magnification space.

Returns:
ArrayLike

Converted soure position values.