ProjectedExponentialModel#
jeanspy.model.ProjectedExponentialModel
See methods and properties for individual lookup pages, or the alphabetical API dictionary to search all classes. The full class contract and existing member anchors are retained below.
- class jeanspy.model.ProjectedExponentialModel(show_init=False, submodels=None, **params)#
Bases:
jeanspy.model.StellarModelStellar model with an exponential projected surface density.
Notes
Inputs and units.
r_exp_pcis the scale inexp(-R/r_exp_pc)in pc. The read-onlyre_pcproperty is the projected half-light radius, 1.67834699001666 times this scale. Other constructor arguments follow Model.Returns and shape.
density_2danddensity_3dreturn pc^-2 and pc^-3 with input shape.cdf_Rreturns the dimensionless projected radial CDF;half_light_radiusreturns pc.mean_density_2dis mean surface density within R.logdensity_2dis the natural log of the surface density, not the radial PDF.Validity. Supply positive finite scales and real nonnegative radii. Use NumPy arrays for array inputs. A central cusp may diverge at zero. The older elementary density formulas do not uniformly validate domains.
Errors. Unknown parameter names raise ValueError in Model.update. Invalid values in elementary profile formulas can produce NaN/inf; successful construction alone does not validate a physical profile.
Backend. NumPy/SciPy CPU; stateful components, with no JAX tracing.
Differentiation. No physical-parameter automatic differentiation on this API.
Examples.
examples/docs_profiles.py- cdf_R(R_pc)[source]#
Evaluate projected probability inside a circular radius.
Notes
Inputs and units.
R_pcis a scalar or NumPy array of projected radii in pc.Returns and shape. Dimensionless cumulative probability with input radius shape.
- density(distance_from_center, dimension)#
Dispatch to the projected or intrinsic normalized tracer density.
distance_from_centeris a radius in pc.dimensionmust be ‘2d’ or ‘3d’, returning pc^-2 or pc^-3 respectively with the concrete profile’s input shape. An unsupported dimension raises ValueError.
- density_2d(R_pc)[source]#
Evaluate normalized projected tracer density.
Notes
Inputs and units.
R_pcis a scalar or NumPy array of projected radii in pc.Returns and shape. pc^-2 with input radius shape.
- density_2d_truncated(R_pc, R_trunc_pc)#
Return the normalized 2-D density truncated at
R_trunc_pc.The normalization satisfies
\[\int_0^{R_\mathrm{trunc}} 2\pi R\,\Sigma_\mathrm{trunc}(R)\,dR = 1.\]Notes
Inputs and units.
R_pcis a nonnegative finite scalar/array in pc;R_trunc_pcis a positive finite scalar cutoff in pc.Returns and shape. Normalized surface density in pc^-2 with radius shape, zero for R>``R_trunc_pc``.
Validity. Requires a concrete
density_2dandcdf_Rwith positive CDF at the cutoff.
- density_3d(r_pc)[source]#
Evaluate the unit-normalized intrinsic tracer density.
- Parameters:
r_pc (float or numpy.ndarray) – Nonnegative intrinsic radius in pc; NumPy array inputs keep their shape.
- Returns:
float or numpy.ndarray – Density in pc^-3 with the input radius shape.
Notes
The deprojected exponential density diverges at r_pc=0. Negative radii are outside the supported domain. Stored tracer scales must be positive. This elementary NumPy formula does not uniformly validate input domains; no JAX physical-parameter differentiation is supported.
- is_required_param_names(param_names_candidates)#
Test a sequence of names against this component’s required parameters.
Returns a list of bool with the same length and order as
param_names_candidates. Submodel requirements are not included.
- logdensity_2d(R_pc)[source]#
Evaluate natural log projected density.
Notes
Inputs and units.
R_pcin pc; scalar or NumPy array.Returns and shape. Natural log of the numerical surface density in pc^-2, with input shape. This excludes the radial Jacobian 2*pi*R.
- mean_density_2d(R_pc)[source]#
Average surface density inside a circular aperture.
Notes
Inputs and units. Positive projected radius
R_pcin pc, scalar or NumPy array.Returns and shape.
cdf_R(R)/(pi*R**2), in pc^-2 with radius shape.Validity. Use R>0; the elementary ratio is not a numerically regularized central limit.
- name = 'ProjectedExponentialModel'#
- property params_all#
Return a flattened Parameters copy of this model and its submodels.
Values retain their physical units. Later submodels overwrite duplicate names; use
params_all_with_model_nameto retain role-qualified names.
- property params_all_with_model_name#
Return a new Parameters mapping with submodel-role prefixes.
Nested names use
role:parameternotation. Values retain their physical units; this operation copies the mapping, not nested mutable values.
- property re_pc#
Projected half-light radius in pc, 1.67834699001666 * r_exp_pc.
- required_models = {}#
- required_param_names = ['r_exp_pc']#
- property required_param_names_combined#
Return this model’s and all nested submodels’ required parameter names.
The result is a list in traversal order; duplicate names are retained.
- sampling_identity(sampled_names=())#
Configuration and fixed parameters, excluding changing MCMC coordinates.
- update(new_params=None, **kwargs)#
Replace named parameters in the owning components.
Notes
Inputs and units.
new_paramsis an optional mapping/Parameters/Series; keyword values are additional replacements. Names are physical names declared by this model and its components. Unknown names raise ValueError before any parameters are changed.Returns and shape. None; mutates component parameters.
params_allreturns the resulting flattened copy.