Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FunBoot (V2)

FunBoot is a functional conformal bootstrap solver leveraging the power of outer approximation: analytic-functional actions on the crossing equation are precomputed into tables, and bootstrap bounds are obtained by solving the resulting semi-infinite linear program with a simplex method inside an outer-approximation loop.

This is the second generation of the solver, rebuilt for the ill-conditioned linear programs that appear at high derivative order:

  • Two-tier extended-precision simplex — runs in Float64 and escalates the basis algebra to double-double (Double64, ≈32 digits) when a per-iteration conditioning indicator ‖I − B⁻¹B‖ shows double precision running out of margin; objectives and residuals are cross-checked in 256-bit BigFloat.
  • Local barycentric interpolation of the functional tables via the registered LocalBarycentric.jl package (spun off from this solver), machine-precision faithful at every precision tier.
  • Dynamic gap refinement — automated objective-sharpening steps that concentrate optimization pressure on the leading operator of the gapped channel.
  • Deterministic and reproducible — pinned environment (Manifest.toml), bit-level golden regression check (check_runexample.sh, see runexample.md), and exact checkpoint/resume for long runs.

Installation

Requires Julia ≥ 1.12.

using Pkg; Pkg.add(url="https://github.com/Canonical111/FunBoot")

or clone the repository and run julia --project -e 'using Pkg; Pkg.instantiate()' to reproduce the exact pinned environment.

Performance

For enhanced performance, load AppleAccelerate on macOS with Apple Silicon or MKL on Intel CPUs before running.

Verification

./check_runexample.sh reruns the golden reference computation (a λ=7 gap maximization) and checks two SHA-256 hashes: the physics result and the full simplex pivot path, both of which must match bit-for-bit. See runexample.md for the documented reference values. The functional tables themselves are distributed with the accompanying paper's data release.

Previous version

The first-generation, double-precision solver used in arXiv:2307.11144 is preserved unchanged at the tag v1.0-paper-2307.11144 (also branch v1).

Citing

If you use FunBoot, please cite arXiv:2307.11144 (first generation) and the forthcoming paper describing this version.

About

A functional conformal bootstrap solver using outer approximation

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages