API Reference¶
JAX-based differentiable ARPES simulation package.
diffpes provides a differentiable pipeline connecting electronic band structure to Angle-Resolved PhotoEmission Spectroscopy (ARPES) spectra. Built on JAX and Equinox, the same forward physics that maps band structures to spectra also supports gradient-based inverse recovery of band-structure parameters from measured spectra, at six levels of physical sophistication from basic Gaussian convolution to full polarization-dependent dipole matrix element calculations.
Submodules¶
diffpes.inoutVASP file parsers (POSCAR, EIGENVAL, KPOINTS, DOSCAR, PROCAR, CHGCAR), HDF5 persistence, and plotting helpers for ARPES simulation input.
diffpes.certifyJAX-native scientific certification, provenance, evidence, policy evaluation, information-flow diagnostics, and inspection.
diffpes.mathsAngular matrix elements for dipole photoemission: Gaunt coefficients, real spherical harmonics, and dipole matrix element assembly.
diffpes.radialDifferentiable radial primitives: spherical Bessel functions, atomic radial wavefunctions, and fixed-grid radial integrals.
diffpes.simulARPES simulation functions at six complexity levels, plus broadening, cross sections, polarization, and orbital angular momentum.
diffpes.tightbNative tight-binding model construction, diagonalization, and ARPES-side adapters for external electronic-structure sources.
diffpes.typesPyTree-compatible physical inputs, forward outputs, certification records, transformation contracts, and provenance carriers.
diffpes.utilsMathematical utilities: the Faddeeva function and z-score normalization.
Examples¶
import diffpes as dp
context = dp.simul.load_vasp_context("vasp_output_dir")
spectrum = dp.simul.simulate_context(context)
Notes¶
All computations are JAX-compatible and support automatic differentiation for gradient-based recovery of band-structure parameters from measured ARPES spectra.