29 lines
1009 B
Python
29 lines
1009 B
Python
"""Edit globals here; no CLI parser is used."""
|
|
|
|
from datetime import datetime
|
|
from pathlib import Path
|
|
|
|
SEED = 114514
|
|
KAPPA = 1e-3
|
|
NUM_SAMPLES = 10**6 # requested default
|
|
LIPSCHITZ_PAIRS = 12_000
|
|
LIPSCHITZ_RESERVOIR = 4_096
|
|
MAJORANA_STAR_STATES = 16 # only for visualization
|
|
MAX_STAR_DEGREE = 63 # avoid unstable huge root-finding plots
|
|
|
|
BACKEND = "auto" # auto | jax | numpy
|
|
JAX_PLATFORM = "gpu" # "", "cpu", "gpu"; set before importing JAX
|
|
RESULTS_DIR = (
|
|
Path.joinpath(Path.cwd(), Path("./results")) / f"exp-{datetime.now():%Y%m%d-%H%M%S}"
|
|
)
|
|
|
|
# Chosen so the three families have comparable intrinsic dimensions:
|
|
# sphere S^(m-1), CP^(d_A d_B - 1), and Sym^N(C^2) ~ CP^N.
|
|
# SPHERE_DIMS = [1<<i for i in range(4, 12)]
|
|
SPHERE_DIMS = []
|
|
CP_DIMS = [(1<<i, 1<<i) for i in range(9, 12)]
|
|
MAJORANA_N = [(1<<i)-1 for i in range(4, 12)]
|
|
|
|
# Batch sizes are the main speed knob; reduce CP batches first if memory is tight.
|
|
BATCH = {"sphere": 32_768, "cp": 128, "majorana": 65_536}
|