import numpy as np
import os
from astropy.cosmology import default_cosmology
import mejiro
from mejiro.strong_lens import StrongLens
[docs]
class GalaxyGalaxy(StrongLens):
def __init__(
self,
name,
coords,
kwargs_model,
kwargs_params,
physical_params={},
use_jax=None
):
super().__init__(name=name,
coords=coords,
kwargs_model=kwargs_model,
kwargs_params=kwargs_params,
physical_params=physical_params,
use_jax=use_jax)
# get redshifts
self.z_source = kwargs_model['z_source']
self.z_lens = kwargs_model['lens_redshift_list'][0]
[docs]
def get_magnification(self):
if 'magnification' not in self.physical_params:
raise ValueError("Magnification not found in physical_params. Please provide 'magnification' in physical_params.")
return self.physical_params['magnification']
[docs]
def get_image_positions(self, ignore_substructure=True):
"""
Compute and return the extended source image positions.
Parameters
----------
ignore_substructure : bool, optional
If True (default), ignores substructure in the lens model when computing image positions.
If False, includes substructure in the calculation.
Returns
-------
tuple of numpy.ndarray
A tuple containing arrays of x and y coordinates of the image positions in lenstronomy angle units (typically arcseconds).
Notes
-----
- The source position is taken from the first element of ``kwargs_source``.
- Uses lenstronomy's LensEquationSolver to solve the lens equation.
- The solver is chosen automatically: "analytical" if supported by the lens model, otherwise "lenstronomy".
- The search window and minimum distance are set based on the Einstein radius.
- If a lens model realization exists and `ignore_substructure` is True, only the macromodel is used for the calculation.
"""
from lenstronomy.LensModel.Solver.lens_equation_solver import LensEquationSolver, analytical_lens_model_support
source_x = self.kwargs_source[0]['center_x']
source_y = self.kwargs_source[0]['center_y']
if self.realization and ignore_substructure:
lens_eqn_solver = LensEquationSolver(self.lens_model_macromodel)
solver = "analytical" if analytical_lens_model_support(self.lens_model_list_macromodel) else "lenstronomy"
else:
lens_eqn_solver = LensEquationSolver(self.lens_model)
solver = "analytical" if analytical_lens_model_support(self.lens_model_list) else "lenstronomy"
return lens_eqn_solver.image_position_from_source(
source_x,
source_y,
self.kwargs_lens,
solver=solver,
search_window=self.get_einstein_radius() * 6,
min_distance=self.get_einstein_radius() * 6 / 200,
)
[docs]
@staticmethod
def from_slsim(slsim_gglens, name=None, coords=None, bands=None, use_jax=None):
# check that the input is reasonable
if slsim_gglens.source_number != 1:
raise ValueError("Only one source is supported for galaxy-galaxy lenses.")
cosmo = slsim_gglens.cosmo
z_lens = slsim_gglens.deflector_redshift
z_source = slsim_gglens.source_redshift_list[0]
# get the bands
if bands is None:
bands = [k.split("_")[1] for k in slsim_gglens.deflector._deflector._deflector_dict.keys() if k.startswith("mag_")]
# get kwargs_model and kwargs_params
kwargs_model, kwargs_params = slsim_gglens.lenstronomy_kwargs(band=bands[0])
# collect band-specific source images (only populated for catalog sources e.g. COSMOS_WEB)
source_images = {}
for band in bands:
_, band_kwargs = slsim_gglens.lenstronomy_kwargs(band=band)
if 'image' in band_kwargs['kwargs_source'][0]:
source_images[band] = band_kwargs['kwargs_source'][0]['image']
if source_images:
kwargs_params['source_images'] = source_images
# add additional necessary key/value pairs to kwargs_model
kwargs_model['lens_redshift_list'] = [z_lens] * len(kwargs_params['kwargs_lens'])
kwargs_model['source_redshift_list'] = [z_source]
kwargs_model['cosmo'] = cosmo
kwargs_model['z_source'] = z_source
# populate magnitudes dictionary
lens_mags, source_mags, lensed_source_mags = {}, {}, {}
for band in bands:
lens_mags[band] = slsim_gglens.deflector_magnitude(band)
source_mags[band] = slsim_gglens.extended_source_magnitude(band, lensed=False)[0]
lensed_source_mags[band] = slsim_gglens.extended_source_magnitude(band, lensed=True)[0]
magnitudes = {
'lens': lens_mags,
'source': source_mags,
'lensed_source': lensed_source_mags,
}
# populate physical parameters dictionary
physical_params = {
'einstein_radius': slsim_gglens.einstein_radius[0],
'lens_stellar_mass': slsim_gglens.deflector_stellar_mass(),
'lens_velocity_dispersion': slsim_gglens.deflector_velocity_dispersion(),
'magnification': slsim_gglens.extended_source_magnification[0],
'magnitudes': magnitudes,
}
if slsim_gglens.deflector.deflector_type == "NFW_HERNQUIST":
physical_params['main_halo_mass'] = slsim_gglens.deflector.halo_properties[0]
physical_params['main_halo_concentration'] = slsim_gglens.deflector.halo_properties[1]
# record matched source if the source came from a catalog (e.g. COSMOS, COSMOS_WEB):
# a dict when matching succeeded, or None if the match failed and SLSim fell back to
# a SingleSersic profile — keep the None so fallback cases are identifiable after the fact
slsim_gglens_source = slsim_gglens._source[0]._source
if hasattr(slsim_gglens_source, 'matched_source'):
matched_source = slsim_gglens_source.matched_source
physical_params['matched_source'] = dict(matched_source) if matched_source is not None else None
return GalaxyGalaxy(name=name,
coords=coords,
kwargs_model=kwargs_model,
kwargs_params=kwargs_params,
physical_params=physical_params,
use_jax=use_jax)
[docs]
class Sample1(GalaxyGalaxy):
"""
This is a simulated strong lens from `SLSim <https://github.com/LSST-strong-lensing/slsim>`__ with a real source galaxy from the `COSMOS real galaxy dataset <https://doi.org/10.5281/zenodo.3242143>`__ (galaxy ID: 52643).
"""
def __init__(self):
name = 'Sample1'
coords = None
kwargs_model = {
'lens_light_model_list': ['HERNQUIST_ELLIPSE'],
'lens_model_list': ['NFW_ELLIPSE_CSE',
'HERNQUIST_ELLIPSE_CSE',
'SHEAR',
'CONVERGENCE'],
'source_light_model_list': ['INTERPOL'],
'point_source_model_list': [],
'lens_redshift_list': [0.4089999999999997,
0.4089999999999997,
0.4089999999999997,
0.4089999999999997],
'source_redshift_list': [1.0504635536161229],
'cosmo': default_cosmology.get(),
'z_source': 1.0504635536161229
}
kwargs_params = {
'kwargs_lens': [{'alpha_Rs': 2.152274160968798,
'Rs': 12.009805809840927,
'center_x': 0.05492674339498643,
'center_y': -0.011555025525515692,
'e1': 0.09811990428304755,
'e2': 0.20670368492980223},
{'Rs': 0.5321226122963442,
'sigma0': 1.776219843615018,
'center_x': 0.05492674339498643,
'center_y': -0.011555025525515692,
'e1': 0.23256069438280758,
'e2': 0.31725006496727354},
{'gamma1': 0.0, 'gamma2': -0.0, 'ra_0': 0, 'dec_0': 0},
{'kappa': 0.0, 'ra_0': 0, 'dec_0': 0}],
'kwargs_source': [{'magnitude': 23.024090614244994,
'image': np.load(os.path.join(mejiro.__path__[0], 'data', 'sample_strong_lenses', 'Sample1_source_image.npy')),
'center_x': 0.5234764335185655,
'center_y': -0.30904973000602404,
'phi_G': -0.40396801187729525,
'scale': 0.011470703531976122}],
'kwargs_lens_light': [{'magnitude': 19.880235363152202,
'Rs': 0.5321226122963442,
'e1': 0.23256069438280758,
'e2': 0.31725006496727354,
'center_x': 0.05492674339498643,
'center_y': -0.011555025525515692}],
'kwargs_ps': []
}
physical_params = {
'einstein_radius': 1.4715952785467208,
'lens_stellar_mass': 266751801749.89062,
'lens_velocity_dispersion': 220.2846927664321,
'magnification': 5.689519846846302,
'magnitudes': {'lens': {'F062': 19.880235363152202,
'F087': 18.928988180749073,
'F106': 18.583627761826264,
'F129': 18.282497860132786,
'F158': 18.033002190911418,
'F184': 17.94798633808793,
'F213': 17.841215518925587,
'F146': 18.21682576587846,
'J': 18,
'F115W': 18,},
'source': {'F062': 23.024090614244994,
'F087': 22.18513730209406,
'F106': 21.778955564710362,
'F129': 21.460108789175212,
'F158': 21.195266461816228,
'F184': 20.97473766143266,
'F213': 20.75170735159845,
'F146': 21.347643040542298,
'J': 21,
'F115W': 21,},
'lensed_source': {'F062': 21.136401572450623,
'F087': 20.29744826029969,
'F106': 19.89126652291599,
'F129': 19.57241974738084,
'F158': 19.307577420021858,
'F184': 19.08704861963829,
'F213': 18.86401830980408,
'F146': 19.459953998747928,
'J': 19,
'F115W': 19,}},
'main_halo_mass': 30070387660798.555,
'main_halo_concentration': 8.389596552329431,
'galaxy_id': 52643
}
super().__init__(name=name,
coords=coords,
kwargs_model=kwargs_model,
kwargs_params=kwargs_params,
physical_params=physical_params,
use_jax=[False, False, False, False])
[docs]
class Sample2(GalaxyGalaxy):
"""
This is a simulated strong lens from `SLSim <https://github.com/LSST-strong-lensing/slsim>`__ with a real source galaxy from the `COSMOS real galaxy dataset <https://doi.org/10.5281/zenodo.3242143>`__ (galaxy ID: 125125).
"""
def __init__(self):
name = 'Sample2'
coords = None
kwargs_model = {
'lens_light_model_list': ['HERNQUIST_ELLIPSE'],
'lens_model_list': ['NFW_ELLIPSE_CSE',
'HERNQUIST_ELLIPSE_CSE',
'SHEAR',
'CONVERGENCE'],
'source_light_model_list': ['INTERPOL'],
'point_source_model_list': [],
'lens_redshift_list': [0.28799999999999976,
0.28799999999999976,
0.28799999999999976,
0.28799999999999976],
'source_redshift_list': [1.5812955302517107],
'cosmo': default_cosmology.get(),
'z_source': 1.5812955302517107
}
kwargs_params = {
'kwargs_lens': [{'alpha_Rs': 1.7090478742473105,
'Rs': 14.45565972243006,
'center_x': -0.03388918233495778,
'center_y': 0.0015198194628865055,
'e1': -0.1701872552668492,
'e2': 0.19935762812442037},
{'Rs': 1.1919802798455827,
'sigma0': 0.6093943647695845,
'center_x': -0.03388918233495778,
'center_y': 0.0015198194628865055,
'e1': -0.1387964563225823,
'e2': 0.17184563503903189},
{'gamma1': -0.0, 'gamma2': 0.0, 'ra_0': 0, 'dec_0': 0},
{'kappa': 0.0, 'ra_0': 0, 'dec_0': 0}],
'kwargs_source': [{'magnitude': 23.64945686424934,
'image': np.load(os.path.join(mejiro.__path__[0], 'data', 'sample_strong_lenses', 'Sample2_source_image.npy')),
'center_x': -0.15344107941982324,
'center_y': -0.07658324218289095,
'phi_G': 0.04333272209103614,
'scale': 0.01199994615069906}],
'kwargs_lens_light': [{'magnitude': 18.858486184904116,
'Rs': 1.1919802798455827,
'e1': -0.1387964563225823,
'e2': 0.17184563503903189,
'center_x': -0.03388918233495778,
'center_y': 0.0015198194628865055}],
'kwargs_ps': []
}
physical_params = {
'einstein_radius': 1.155670048766553,
'lens_stellar_mass': 263558660846.60092,
'lens_velocity_dispersion': 180.4905400737736,
'magnification': 8.040132325729415,
'magnitudes': {'lens': {'F062': 18.858486184904116,
'F087': 18.016514953150647,
'F106': 17.660306087413154,
'F129': 17.32939178131017,
'F158': 17.116956163651793,
'F184': 17.00686322367511,
'F213': 16.817299459688087,
'F146': 17.281968709211363},
'source': {'F062': 23.64945686424934,
'F087': 23.137923721134147,
'F106': 22.567632622207018,
'F129': 22.29282837571761,
'F158': 22.092272848864585,
'F184': 21.970548370597573,
'F213': 21.94144833183736,
'F146': 22.250790065136616},
'lensed_source': {'F062': 21.38629887301839,
'F087': 20.874765729903196,
'F106': 20.304474630976067,
'F129': 20.029670384486657,
'F158': 19.829114857633634,
'F184': 19.707390379366622,
'F213': 19.67829034060641,
'F146': 19.987632073905665}},
'main_halo_mass': 15166922314867.84,
'main_halo_concentration': 7.309338903404382,
'galaxy_id': 125125
}
super().__init__(name=name,
coords=coords,
kwargs_model=kwargs_model,
kwargs_params=kwargs_params,
physical_params=physical_params,
use_jax=[False, False, False, False])
[docs]
class SampleGG(GalaxyGalaxy):
"""
This is a simulated strong lens from `SLSim <https://github.com/LSST-strong-lensing/slsim>`__.
"""
def __init__(self):
name = 'SampleGG'
coords = None
kwargs_model = {
'cosmo': default_cosmology.get(),
'lens_light_model_list': ['SERSIC_ELLIPSE'],
'lens_model_list': ['SIE', 'SHEAR', 'CONVERGENCE'],
'lens_redshift_list': [0.2902115249535011, 0.2902115249535011, 0.2902115249535011],
'source_light_model_list': ['SERSIC_ELLIPSE'],
'source_redshift_list': [0.5876899931818929],
'z_source': 0.5876899931818929,
}
kwargs_params = {
'kwargs_lens': [
{
'center_x': -0.007876281728887604,
'center_y': 0.010633393703246008,
'e1': 0.004858808997848661,
'e2': 0.0075210751726143355,
'theta_E': 1.168082477232392
},
{
'dec_0': 0,
'gamma1': -0.03648819840013156,
'gamma2': -0.06511863424492038,
'ra_0': 0
},
{
'dec_0': 0,
'kappa': 0.06020941823541971,
'ra_0': 0
}
],
'kwargs_lens_light': [
{
'R_sersic': 0.5300707454127908,
'center_x': -0.007876281728887604,
'center_y': 0.010633393703246008,
'e1': 0.023377277902774978,
'e2': 0.05349948216860632,
'magnitude': None, # if this doesn't get updated by the imaging process, want it to error out
'n_sersic': 4.0
}
],
'kwargs_ps': None,
'kwargs_source': [
{
'R_sersic': 0.1651633078964498,
'center_x': 0.30298310338567075,
'center_y': -0.3505004565139597,
'e1': -0.06350855238708408,
'e2': -0.08420760408362458,
'magnitude': None, # if this doesn't get updated by the imaging process, want it to error out
'n_sersic': 1.0
}
]
}
magnitudes = {
'lens': {
'F062': 17.9,
'F087': 17.7,
'F106': 17.5,
'F129': 17.3,
'F158': 17.1,
'F184': 17.0,
'F146': 17.1,
'F213': 16.9,
'B': 17,
'FUV': 17,
'H': 17,
'I': 17,
'J': 17,
'K': 17,
'NUV': 17,
'R': 17,
'U': 17,
'V': 17,
'F115W': 17,
'F150W': 17,
'F200W': 17,
'F277W': 17,
'F356W': 17,
'F444W': 17
},
'source': {
'F062': 21.9,
'F087': 21.7,
'F106': 21.4,
'F129': 21.1,
'F158': 20.9,
'F184': 20.5,
'F146': 21.0,
'F213': 20.4,
'B': 20,
'FUV': 20,
'H': 20,
'I': 20,
'J': 20,
'K': 20,
'NUV': 20,
'R': 20,
'U': 20,
'V': 20,
'F115W': 20,
'F150W': 20,
'F200W': 20,
'F277W': 20,
'F356W': 20,
'F444W': 20
}
}
physical_params = {
'magnitudes': magnitudes,
'main_halo_mass': 10 ** 13.4
}
super().__init__(name=name,
coords=coords,
kwargs_model=kwargs_model,
kwargs_params=kwargs_params,
physical_params=physical_params,
use_jax=[False, False, False])
[docs]
class SampleBELLS(GalaxyGalaxy):
"""
This system, SDSSJ1159-0007, from the BELLS sample (`Brownstein et al. 2012 <https://doi.org/10.1088/0004-637X/744/1/41>`__, `Shu et al. 2016 <https://doi.org/10.3847/1538-4357/833/2/264>`__) was modeled by `Tan et al. (2024) <https://doi.org/10.1093/mnras/stae884>`__.
"""
def __init__(self):
name = 'SDSSJ1159-0007'
coords = None
kwargs_model = {
'cosmo': default_cosmology.get(),
'lens_light_model_list': ['SERSIC_ELLIPSE', 'SERSIC_ELLIPSE'],
'lens_model_list': ['EPL', 'SHEAR_GAMMA_PSI'],
'lens_redshift_list': [0.58, 0.58],
'source_light_model_list': ['SHAPELETS', 'SERSIC_ELLIPSE'],
'source_redshift_list': [1.35, 1.35],
'z_source': 1.35,
}
kwargs_params = {
'kwargs_lens': [
{
'center_x': 0.0008993530339094509,
'center_y': 0.004386561103657995,
'e1': -0.13834112391265768,
'e2': -0.04767716373059794,
'gamma': 2.6509527320161292,
'theta_E': 0.6745078855269103
},
{
'dec_0': 0,
'gamma_ext': 0.07157053126083526,
'psi_ext': 1.2573502199996038,
'ra_0': 0
}
],
'kwargs_lens_light': [
{
'R_sersic': 4.9386180836201605,
'amp': 0.8605269799538531,
'center_x': 0.0008993530339094509,
'center_y': 0.004386561103657995,
'e1': -0.02858565563884006,
'e2': -0.017832976824861253,
'n_sersic': 4.0
},
{
'R_sersic': 0.25019004614994445,
'amp': 119.59290072500922,
'center_x': 0.0008993530339094509,
'center_y': 0.004386561103657995,
'e1': -0.02858565563884006,
'e2': -0.017832976824861253,
'n_sersic': 1.0
}
],
'kwargs_source': [
{
'amp': [
1.97341789e+02, -7.25473768e+00, 1.43093020e+01, 5.67273098e+01,
-3.49991809e+01, 2.37584187e+01, 6.37978766e+01, -3.04488121e+01,
-1.98933165e+01, -1.11134993e+01, -3.08509426e+00, 1.39713699e+01,
-1.63025361e+01, 3.79437438e+01, -2.44066712e+01, -5.16339322e+01,
4.97848064e-02, -2.03668641e+01, 2.27456554e+01, -1.86275814e+01,
1.80053583e+01, -3.95527313e+00, 6.28643274e+00, 1.19397493e+01,
9.68964080e+00, 1.60624553e+01, 3.80978139e-01, 3.75319976e+01
],
'beta': 0.09772413472924785,
'center_x': -0.2355420617897601,
'center_y': 0.16724538194630992,
'n_max': 6
},
{
'R_sersic': 0.4962690147124496,
'amp': 7.4711400766341,
'center_x': -0.2355420617897601,
'center_y': 0.16724538194630992,
'e1': -0.01917665283933903,
'e2': -0.46613640509010695,
'n_sersic': 1.0218574567182759
}
]
}
physical_params = {
'main_halo_mass': 10 ** 13.3
}
super().__init__(name=name,
coords=coords,
kwargs_model=kwargs_model,
kwargs_params=kwargs_params,
physical_params=physical_params,
use_jax=[False, False])
[docs]
class SampleSL2S(GalaxyGalaxy):
"""
This system, SL2SJ1411+5651, from the SL2S sample (`Gavazzi et al. 2012 <https://doi.org/10.1088/0004-637X/761/2/170>`__) was modeled by `Tan et al. (2024) <https://doi.org/10.1093/mnras/stae884>`__.
"""
def __init__(self):
name = 'SL2SJ1411+5651'
coords = None
kwargs_model = {
'cosmo': default_cosmology.get(),
'lens_light_model_list': ['SERSIC_ELLIPSE', 'SERSIC_ELLIPSE', 'SERSIC_ELLIPSE', 'SERSIC_ELLIPSE'],
'lens_model_list': ['EPL', 'SHEAR_GAMMA_PSI'],
'lens_redshift_list': [0.32, 0.32],
'source_light_model_list': ['SHAPELETS', 'SERSIC_ELLIPSE', 'SHAPELETS', 'SERSIC_ELLIPSE'],
'source_redshift_list': [1.42, 1.42, 1.42, 1.42],
'z_source': 1.42,
}
kwargs_params = {
'kwargs_lens': [
{
'center_x': 0.005181151321089338,
'center_y': 0.013856469382939428,
'e1': -0.05207199553562576,
'e2': 0.04251551575381039,
'gamma': 1.7285382185059783,
'theta_E': 0.9190348632911911
},
{
'dec_0': 0,
'gamma_ext': 0.056662622162326884,
'psi_ext': 1.4966747510338838,
'ra_0': 0
}
],
'kwargs_lens_light': [
{
'R_sersic': 4.978232709615057,
'amp': 0.4054511532032136,
'center_x': 0.005181151321089338,
'center_y': 0.013856469382939428,
'e1': -0.11563613140066009,
'e2': 0.020870342707182965,
'n_sersic': 4.0
},
{
'R_sersic': 0.2920889625760988,
'amp': 52.484415076554924,
'center_x': 0.005181151321089338,
'center_y': 0.013856469382939428,
'e1': -0.11563613140066009,
'e2': 0.020870342707182965,
'n_sersic': 1.0
},
{
'R_sersic': 4.978232709615057,
'amp': 1.1734686974816284,
'center_x': 0.005181151321089338,
'center_y': 0.013856469382939428,
'e1': -0.11563613140066009,
'e2': 0.020870342707182965,
'n_sersic': 4.0
},
{
'R_sersic': 0.2920889625760988,
'amp': 205.2335215947435,
'center_x': 0.005181151321089338,
'center_y': 0.013856469382939428,
'e1': -0.11563613140066009,
'e2': 0.020870342707182965,
'n_sersic': 1.0
}
],
'kwargs_source': [
{
'amp': [
208.23804336, 75.24750135, 36.1395493 , -68.34135676, 80.83477441,
44.59064691, 85.83113614, 51.44761156, 52.6408002 , 20.00682991,
63.22746006, -28.27498342, 63.55928184, -18.5433216 , -9.16220457,
-5.80255161, -14.05993575, -0.68008446, 24.11529423, 3.17577014,
32.62302734, -16.34963974, 35.38465367, 6.63822638, 60.05857453,
10.21890193, 6.32843717, 27.39353694, 63.91061969, 39.51415767,
27.76777897, 14.56705787, 47.21652381, 12.22472449, -4.73374628,
-22.17029146, 12.07932979, -12.40503004, -28.33298552, -80.12889905,
4.75413459, -48.07947372, -24.21941197, 2.3321554 , 17.62417157,
-11.13478151, 13.77947375, 49.25002374, -8.04890207, 0.66989539,
-5.62759948, 2.8662009 , 24.90431891, 53.14985793, 39.29554171,
-20.1348302 , 9.58448674, 45.76348456, 61.66455832, 9.80683069,
37.25634355, -3.69236946, 26.61791072, 22.11509477, 1.25807807,
-17.86006758
],
'beta': 0.02003743857202428,
'center_x': -0.008727853862921346,
'center_y': -0.03257850360121771,
'n_max': 10
},
{
'R_sersic': 0.4980735751847538,
'amp': 0.38563820199937265,
'center_x': -0.008727853862921346,
'center_y': -0.03257850360121771,
'e1': 0.22729141994823104,
'e2': 0.21694541553705607,
'n_sersic': 7.98955494278538
},
{
'amp': [
-2.51747041e+02, 1.65220759e+01, 1.64853728e+01, -3.38342277e+01,
-3.77933389e+01, 3.39527820e+01, -1.29859861e+01, -2.90351117e+00,
8.95879362e-01, -7.79902274e+00, -4.35131501e+01, -1.34014392e+01,
-2.83720759e+01, 4.61556777e+00, -4.14787215e+01, 8.05963711e+00,
-6.90196599e-01, 6.01721502e+00, 6.62749644e+00, 5.83648347e+00,
1.24981425e+01, -1.28990804e+01, -7.49783340e+00, -2.41378682e+00,
-8.34251618e+00, 1.02815970e+01, -1.35194966e+01, 1.72782202e+01,
-5.01631358e+00, -7.97659881e+00, -2.21678077e+00, 1.22151852e+00,
3.62359590e+00, -2.95358687e+00, 1.57051856e+00, -1.15079422e+01,
-1.82955381e+01, -3.14337804e+00, -2.11702411e+01, -2.20565799e+00,
-1.43500962e+01, 5.16904826e+00, -1.40909735e+01, 1.38665374e+00,
-2.28747596e+01, -1.45979446e+00, 9.94737977e-01, 2.62159653e+00,
5.23724824e+00, 1.83356330e+00, 7.45563692e+00, 1.99943672e-01,
9.43579490e+00, -1.73761695e+00, 2.24692711e+01, -2.14936748e+01,
-1.08441849e+01, -6.10671160e+00, -2.65210128e+00, -5.01023462e+00,
-7.43264336e+00, 5.60630789e+00, -4.56715656e+00, 8.87027537e+00,
-4.92079225e+00, 9.61319007
],
'beta': 0.06933938109343586,
'center_x': -0.008727853862921346,
'center_y': -0.03257850360121771,
'n_max': 10
},
{
'R_sersic': 0.4980735751847538,
'amp': 4.70268704612566,
'center_x': -0.008727853862921346,
'center_y': -0.03257850360121771,
'e1': 0.22729141994823104,
'e2': 0.21694541553705607,
'n_sersic': 3.9577354181414575
}
]
}
physical_params = {
'main_halo_mass': 10 ** 13.3
}
super().__init__(name=name,
coords=coords,
kwargs_model=kwargs_model,
kwargs_params=kwargs_params,
physical_params=physical_params,
use_jax=[False, False])