jaxvacua.sampling#
Random and structured sampling utilities for flux-vacuum searches.
Purpose#
Define data_sampler and supporting parsers for generating flux vectors,
axio-dilaton values and complex-structure moduli initial data used by
FluxVacuaFinder and related workflows.
Main public API#
_parse_box_boundsand_parse_exclude_walls: normalise sampling bounds and wall-exclusion options with clear validation errors.data_sampler: samples integer fluxes, Kähler-cone-compatible moduli, axio-dilaton values, ISD/PFV-inspired seeds and batched initial conditions.JAX and NumPy random helpers integrated with
PRNGSequencefromjaxvacua.util.
Design notes#
Sampling routines are performance-sensitive but user-facing. Bounds and shape handling are kept explicit so failed runs report input problems near the source rather than inside compiled search kernels.
When to use this module#
Use data_sampler when a workflow needs reproducible batches of fluxes,
axions, dilaton values, complex-structure moduli, or solver initial guesses.
It is usually the preparation layer before calling
jaxvacua.flux_vacua_finder.FluxVacuaFinder, but it is also useful on its
own for probing cone geometry and checking how filtering cuts affect a sample.
Common workflow#
Prepare cone-compatible real moduli with
find_interior_points,sample_ray,sample_rays,sample_interior_point, andrescale_points.Convert these real samples into moduli data with
get_moduliand apply geometric or instanton-control cuts withfilter_by_instantons,filter_by_km,filter_points, orfilter_moduli.Combine moduli with axion, dilaton, and flux batches from
get_axions,get_axion,get_dilaton,get_complex_tau, andget_fluxes.Build solver seeds with
initial_guesses. UseISD_samplingandinitial_guesses_ISDwhen the search should start from ISD- or PFV-informed data.
Choosing an entry point#
get_modulisamples geometric moduli only.get_fluxessamples integral flux batches only.initial_guessesassembles general flux/moduli/tau starting points for numerical vacuum searches.initial_guesses_ISDassembles starting points from the specialised ISD sampling pipeline.filter_modulipost-processes existing moduli samples without drawing a new batch.
FluxEFT / FluxVacuaFindermoduli_bounds, flux_boundsseed, PRNGSequenceget_moduli, sample_ray, filter_moduli
get_axions, get_dilaton, get_complex_tau
get_fluxes → initial_guesses
ISD_sampling → initial_guesses_ISD
solve $(f_1,h_1)$ via $\overline{\mathcal{N}}$
solve $(f_2,h_2)$ via $\overline{\mathcal{N}}^{-1}$
solve NSNS flux $h$
solve RR flux $f$
Sampling class#
|
Moduli sampling#
|
Generates random samples of axion values within specified bounds using a selected sampling mode. |
|
Generates random samples of axion values within specified bounds using the selected sampling mode. |
|
Generates complex samples for moduli, combining axion and moduli values. |
|
Generates complex samples for tau, which is a combination of axion and dilaton values. |
|
Generates random samples of dilaton values within specified bounds using the selected sampling mode. |
|
Samples moduli values within specified bounds using the selected sampling mode. |
|
Samples points uniformly from the surface of a sphere or within a spherical volume. |
|
Samples a random ray from the Kähler cone. |
|
Samples k random rays from the Kähler cone. |
|
Samples a random interior point of the Kähler cone. |
|
Finds interior points of the Kähler cone using integer programming. |
|
Filters points to ensure they lie within the Kähler cone and applies an optional custom filter. |
|
Filters starting points for moduli based on both instanton contributions and Kähler metric positivity. |
|
Rescales points to ensure they lie within a specified norm bound. |
Flux sampling#
|
Returns a random sample of flux choices used for ISD biased sampling. |
|
Determines half of the flux numbers such that the ISD condition \(\star G_3 = \text{i}G_3\) is satisfied for given input values for the moduli \(z^i\) and the axio-dilaton \(\tau\). |
Initial guesses#
|
Generates initial guesses for moduli, dilaton, and optionally fluxes for sampling in moduli space. |
|
Generates initial guesses for moduli, dilaton, and fluxes using ISD (Imaginary Self-Dual) sampling. |