https://github.com/oameye/vanvleckrecursion.jl
Symbolic calculation of the (van Vleck) Floquet recursion formula
https://github.com/oameye/vanvleckrecursion.jl
floquet floquet-theory hamiltonian perturbation perturbation-theory quantum symbolic time-dependent-hamiltonian
Last synced: about 2 months ago
JSON representation
Symbolic calculation of the (van Vleck) Floquet recursion formula
- Host: GitHub
- URL: https://github.com/oameye/vanvleckrecursion.jl
- Owner: oameye
- License: mit
- Created: 2025-06-01T15:35:42.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-08-11T08:01:32.000Z (about 2 months ago)
- Last Synced: 2025-08-11T10:13:10.775Z (about 2 months ago)
- Topics: floquet, floquet-theory, hamiltonian, perturbation, perturbation-theory, quantum, symbolic, time-dependent-hamiltonian
- Language: Julia
- Homepage: https://oameye.github.io/VanVleckRecursion.jl/
- Size: 359 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# VanVleckRecursion.jl
[](https://oameye.github.io/VanVleckRecursion.jl/)
[](https://app.codecov.io/gh/oameye/VanVleckRecursion.jl)
[](https://oameye.github.io/VanVleckRecursion.jl/benchmarks/)[](https://github.com/JuliaDiff/BlueStyle)
[](https://github.com/JuliaTesting/Aqua.jl)
[](https://github.com/aviatesk/JET.jl)
[](https://github.com/MilesCranmer/DispatchDoctor.jl)A Julia package for computing the Van Vleck canonical transformations recursion formula symbolically of rapidly driven systems.
## What does this package do?
This package implements the Van Vleck recursion method to compute effective time-independent Hamiltonians for quantum systems under fast periodic driving. Given a time-dependent Hamiltonian `H(t) = H₀ + H₁cos(ωt) + ...`, the method derives the formula to systematically eliminates secular divergences that plague traditional perturbation theory and produces a static effective Hamiltonian `H_eff` valid for long times.
The recursive algorithm computes:
- **Generators** `S(n)`: Canonical transformation functions that eliminate time dependence
- **Kamiltonians** `K(n,k)`: Effective Hamiltonian contributions ordered by perturbation order `n` and frequency order `k`## Example
```julia
using VanVleckRecursion# Define a driven system: H(t) = H₀ + H₁cos(ωt)
H = Terms([
Term(rotating=0), # Static term H₀
Term(rotating=1) # Oscillating term H₁cos(ωt)
])# Set the Hamiltonian and compute effective theory
set_hamiltonian!(H)# First-order effective Hamiltonian contributions
s1 = S(1) # First-order generator
k1 = K(1) # First-order Kamiltonian# Higher orders
k2 = K(2) # Second-order corrections
```## Citation
This package implements the recursive formulas from:
**J. Venkatraman, X. Xiao, R. G. Cortiñas, A. Eickbusch, M. H. Devoret**
*"On the static effective Hamiltonian of a rapidly driven nonlinear system"*
Physical Review Letters **129**, 100601 (2022)
[arXiv:2108.02861](https://arxiv.org/abs/2108.02861) | [DOI:10.1103/PhysRevLett.129.100601](https://doi.org/10.1103/PhysRevLett.129.100601)```bibtex
@article{venkatraman2022static,
title={On the static effective Hamiltonian of a rapidly driven nonlinear system},
author={Venkatraman, Jayameenakshi and Xiao, Xu and Corti{\~n}as, Rodrigo G and Eickbusch, Alec and Devoret, Michel H},
journal={Physical Review Letters},
volume={129},
number={10},
pages={100601},
year={2022},
publisher={American Physical Society},
doi={10.1103/PhysRevLett.129.100601},
url={https://arxiv.org/abs/2108.02861}
}
```Based on [the original Python implementation by xiaoxu (2021)](https://github.com/xiaoxuisaac/vanVleck-recursion), translated to Julia.