autogalaxy.profiles.mass_profiles.EllPowerLaw

class autogalaxy.profiles.mass_profiles.EllPowerLaw(centre: Tuple[float, float] = (0.0, 0.0), elliptical_comps: Tuple[float, float] = (0.0, 0.0), einstein_radius: float = 1.0, slope: float = 2.0)
__init__(centre: Tuple[float, float] = (0.0, 0.0), elliptical_comps: Tuple[float, float] = (0.0, 0.0), einstein_radius: float = 1.0, slope: float = 2.0)

Represents an elliptical power-law density distribution.

Parameters:
  • centre – The (y,x) arc-second coordinates of the profile centre.
  • elliptical_comps – The first and second ellipticity components of the elliptical coordinate system, where fac = (1 - axis_ratio) / (1 + axis_ratio), ellip_y = fac * sin(2*angle) and ellip_x = fac * cos(2*angle).
  • einstein_radius – The arc-second Einstein radius.
  • slope – The density slope of the power-law (lower value -> shallower profile, higher value -> steeper profile).

Methods

__init__(centre, float] = (0.0, 0.0), …) Represents an elliptical power-law density distribution.
area_within_tangential_critical_curve_from(grid)
caustics_from(grid[, pixel_scale])
convergence_1d_from(grid, Grid1D, …)
convergence_2d_from(grid, …) Calculate the projected convergence on a grid of (y,x) arc-second coordinates.
convergence_func(grid_radius)
convergence_via_hessian_from(grid[, buffer])
convergence_via_jacobian_from(grid[, jacobian])
cos_and_sin_to_x_axis() Determine the sin and cosine of the angle between the profile’s ellipse and the positive x-axis, counter-clockwise.
critical_curves_from(grid[, pixel_scale])
deflection_func(u, y, x, npow, axis_ratio, …)
deflection_magnitudes_from(grid)
deflections_2d_from(grid, …) Calculate the deflection angles on a grid of (y,x) arc-second coordinates.
deflections_2d_via_potential_2d_from(grid)
density_between_circular_annuli(…) Calculate the mass between two circular annuli and compute the density by dividing by the annuli surface area.
einstein_mass_angular_from(grid[, pixel_scale])
einstein_radius_from(grid[, pixel_scale])
einstein_radius_via_normalization_from(…)
eta_u(u, coordinates)
extract_attribute(cls, attr_name) Returns an attribute of a class and its children profiles in the the galaxy as a ValueIrregular or Grid2DIrregular object.
from_axis_ratio_and_phi(centre, …)
grid_angle_to_profile(grid_thetas) The angle between each angle theta on the grid and the profile, in radians.
grid_to_eccentric_radii(grid) Convert a grid of (y,x) coordinates to an eccentric radius, which is (1.0/axis_ratio) * elliptical radius and used to define light profile half-light radii using circular radii.
grid_to_elliptical_radii(grid) Convert a grid of (y,x) coordinates to an elliptical radius.
grid_to_grid_cartesian(grid, radius) Convert a grid of (y,x) coordinates with their specified circular radii to their original (y,x) Cartesian coordinates.
grid_to_grid_radii(grid) Convert a grid of (y, x) coordinates to a grid of their circular radii.
hessian_from(grid[, buffer, deflections_func])
jacobian_from(grid)
magnification_2d_from(grid)
magnification_via_hessian_from(grid[, …])
mass_angular_via_normalization_from(…)
mass_angular_within_circle(radius) Integrate the mass profiles’s convergence profile to compute the total mass within a circle of specified radius.
mass_integral(x) Routine to integrate an elliptical light profiles - set axis ratio to 1 to compute the luminosity within a circle
normalization_via_einstein_radius_from(…)
normalization_via_mass_angular_from(…[, …])
potential_1d_from(grid, Grid1D, …)
potential_2d_from(grid, …) Calculate the potential on a grid of (y,x) arc-second coordinates.
potential_func(u, y, x, axis_ratio, slope, …)
radial_caustic_from(grid[, pixel_scale])
radial_critical_curve_from(grid[, pixel_scale])
radial_eigen_value_from(grid[, jacobian])
rotate_grid_from_reference_frame(grid) Rotate a grid of (y,x) coordinates which have been transformed to the elliptical reference frame of a profile back to the original unrotated coordinate grid reference frame.
shear_via_hessian_from(grid[, buffer])
shear_via_jacobian_from(grid[, jacobian])
shear_yx_via_hessian_from(grid[, buffer])
shear_yx_via_jacobian_from(grid[, jacobian])
tangential_caustic_from(grid[, pixel_scale])
tangential_critical_curve_from(grid[, …])
tangential_eigen_value_from(grid[, jacobian])
transform_grid_from_reference_frame(grid) Transform a grid of (y,x) coordinates from the reference frame of the profile to the original observer reference frame, including a rotation to its original orientation and a translation from the profile’s centre.
transform_grid_to_reference_frame(grid) Transform a grid of (y,x) coordinates to the reference frame of the profile, including a translation to its centre and a rotation to it orientation.
with_new_normalization(normalization)

Attributes

angle
average_convergence_of_1_radius The radius a critical curve forms for this mass profile, e.g.
axis_ratio
centre
cos_phi
einstein_radius_rescaled Rescale the einstein radius by slope and axis_ratio, to reduce its degeneracy with other mass-profiles parameters
ellipticity_rescale
has_mass_profile
phi_radians
sin_phi
unit_mass
deflections_2d_from(grid: Union[numpy.ndarray, autoarray.structures.grids.two_d.grid_2d.Grid2D, autoarray.structures.grids.two_d.grid_2d_iterate.Grid2DIterate, autoarray.structures.grids.two_d.grid_2d_irregular.Grid2DIrregular])

Calculate the deflection angles on a grid of (y,x) arc-second coordinates. ​ For coordinates (0.0, 0.0) the analytic calculation of the deflection angle gives a NaN. Therefore, coordinates at (0.0, 0.0) are shifted slightly to (1.0e-8, 1.0e-8).

This code is an adaption of Tessore & Metcalf 2015: https://arxiv.org/abs/1507.01819 ​ :param grid: The grid of (y,x) arc-second coordinates the deflection angles are computed on. :type grid: aa.Grid2D