drpangloss.models Functions
cvis_binary_angular(u, v, sep, pa, contrast)
Compute complex visibilities for an angular-parameterized binary model.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
u
|
array - like
|
Baseline |
required |
v
|
array - like
|
Baseline |
required |
sep
|
float or array - like
|
Separation in milliarcseconds. |
required |
pa
|
float or array - like
|
Position angle in degrees. |
required |
contrast
|
float or array - like
|
Contrast ratio |
required |
Returns:
| Type | Description |
|---|---|
array - like
|
Complex visibility samples. |
cvis_binary(u, v, ddec, dra, planet)
Compute complex visibilities for a Cartesian-parameterized binary model.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
u
|
array - like
|
Baseline |
required |
v
|
array - like
|
Baseline |
required |
ddec
|
float or array - like
|
Declination offset in milliarcseconds. |
required |
dra
|
float or array - like
|
Right-ascension offset in milliarcseconds. |
required |
planet
|
float or array - like
|
Flux ratio of the companion. |
required |
Returns:
| Type | Description |
|---|---|
array - like
|
Complex visibility samples. |
loglike(values, params, data_obj, model_class)
Abstract log-likelihood function for a given model class and data object, assuming Gaussian errors.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
values
|
array - like
|
Values of the model parameters. |
required |
params
|
list
|
List of parameter names. |
required |
data_obj
|
OIData
|
Object containing the data to be fitted. |
required |
model_class
|
class
|
Model class to be fitted to the data. |
required |
Returns:
| Type | Description |
|---|---|
float
|
Log-likelihood value. |
loglike_nosignal(values, params, data_obj, model_class)
Abstract null log-likelihood function for a given model class and data object, assuming Gaussian errors.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
values
|
array - like
|
Values of the model parameters. |
required |
params
|
list
|
List of parameter names. |
required |
data_obj
|
OIData
|
Object containing the data to be fitted. |
required |
model_class
|
class
|
Model class to be fitted to the data. |
required |
Returns:
| Type | Description |
|---|---|
float
|
Log-likelihood value. |
laplace_cov(values, params, data_obj, model_class)
Compute the full Laplace covariance matrix for all model parameters jointly.
Computes the inverse of the Hessian of the negative log-likelihood with
respect to all parameters in params simultaneously, returning an
N x N covariance matrix (where N = len(params)).
.. note::
This function returns the full covariance matrix over all N
parameters. To obtain only the marginal flux uncertainty at a fixed
position, use :func:laplace_contrast_uncertainty instead.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
values
|
array - like
|
Values of the model parameters. |
required |
params
|
list
|
List of parameter names. |
required |
data_obj
|
OIData
|
Object containing the data to be fitted. |
required |
model_class
|
class
|
Model class to be fitted to the data. |
required |
Returns:
| Type | Description |
|---|---|
array - like
|
|
laplace_contrast_uncertainty(flux, dra, ddec, data_obj, model_class, params=None)
Compute the Laplace uncertainty in flux at a fixed sky position.
Unlike :func:laplace_cov, which inverts the full N-parameter Hessian,
this function fixes dra and ddec and computes only the scalar
curvature of the negative log-likelihood along the flux axis alone:
.. math::
\sigma_f = \left(\frac{\partial^2 (-\log L)}{\partial f^2}\right)^{-1/2}
This is a 1-D (scalar) second derivative, not a matrix inversion. It is
appropriate when the position is held fixed (e.g. on a detection grid) and
only the contrast uncertainty at that grid point is needed. For the joint
uncertainty over all parameters, use :func:laplace_cov instead.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
flux
|
float
|
Flux ratio value at which the local Laplace uncertainty is evaluated. |
required |
dra
|
float
|
Right ascension offset in mas (held fixed). |
required |
ddec
|
float
|
Declination offset in mas (held fixed). |
required |
data_obj
|
OIData
|
Object containing the data to be fitted. |
required |
model_class
|
class
|
Model class to be fitted to the data. |
required |
params
|
list[str] or tuple[str, str, str]
|
Parameter names corresponding to |
None
|
Returns:
| Type | Description |
|---|---|
float
|
Scalar uncertainty in the contrast (standard deviation along flux axis). |
fisher(values, params, data_obj, model_class, ridge=0.0)
Approximate the local Fisher matrix at a parameter point.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
values
|
array - like
|
Parameter vector at which to evaluate the local curvature. |
required |
params
|
list[str]
|
Parameter names corresponding to |
required |
data_obj
|
OIData
|
Observational data object. |
required |
model_class
|
class
|
Model class used to evaluate the likelihood. |
required |
ridge
|
float
|
Diagonal regularization term. |
0.0
|
Returns:
| Type | Description |
|---|---|
array - like
|
Fisher information matrix. |
chi2ppf(p, df)
Percentile function for chi-square.
For df=1 (the path used in nsigma), use the closed-form identity
based on the standard normal quantile, i.e. square norm.ppf((p+1)/2).
This remains JAX-native,
differentiable, and fast.
For df != 1, this falls back to numpyro's gammaincinv backend when
available.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
p
|
array - like
|
Percentile value |
required |
df
|
array - like
|
Degrees of freedom |
required |
Returns:
| Type | Description |
|---|---|
array - like
|
Corresponding chi2 value to the percentile |
nsigma(chi2r_test, chi2r_true, ndof)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chi2r_test
|
Reduced chi-squared of test model. |
required | |
chi2r_true
|
Reduced chi-squared of true model. |
required | |
ndof
|
Number of degrees of freedom. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
nsigma |
float
|
Detection significance. |
closure_phases(cvis, index_cps1, index_cps2, index_cps3)
Calculate closure phases from complex visibilities.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cvis
|
array - like
|
Complex visibilities. |
required |
index_cps1
|
array - like
|
First baseline indices for each closure triangle. |
required |
index_cps2
|
array - like
|
Second baseline indices for each closure triangle. |
required |
index_cps3
|
array - like
|
Third baseline indices for each closure triangle. |
required |
Returns:
| Type | Description |
|---|---|
array - like
|
Closure phases in degrees. |
cp_indices(vis_sta_index, cp_sta_index)
Map closure-triangle station indices to baseline indices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
vis_sta_index
|
array - like
|
Baseline station index pairs from visibility data. |
required |
cp_sta_index
|
array - like
|
Triangle station index triplets from closure-phase data. |
required |
Returns:
| Type | Description |
|---|---|
tuple[ndarray, ndarray, ndarray]
|
Arrays |