FastDysonSolver is a reproducible scientific project implemented in the Julia Language and structured with DrWatson.jl. This repository accompanies the research paper Solving the Transient Dyson Equation with Quasilinear Complexity via Matrix Compression by Baptiste Lamic This repository contains the code required to reproduce the figures presented in the manuscript. The core solver is archived on Zenodo https://zenodo.org/badge/DOI/10.5281/zenodo.17560811.svg and the source code is hosted on GitHub github.
To reproduce the results locally:
- Clone this repository.
- Open a Julia REPL and run:
This will install all necessary dependencies and set up the project environment.
using Pkg Pkg.add("DrWatson") # Required for project activation Pkg.activate(".") Pkg.instantiate()
Most scripts begin with:
using DrWatson
@quickactivate "FastDysonSolver"This ensures the project is activated and paths are handled correctly.
All figures from the paper can be generated using the provided Jupyter notebooks:
The original computations were performed on an Intel CPU Ultra 265k with 48 GB RAM. However, with appropriate parameter tuning, most calculations can be reproduced with 16 GB RAM.
Simulation results for the IV curve (Figure 3 in the paper) are available in the data/simulations/steady_state_current directory. These simulations are computationally intensive and may take several hours to run. However, all results are cached and reused if available, so you can generate the corresponding plots directly using the provided data without rerunning the simulations:
- Run SQDS_junction_evaluate_steady_state.ipynb to reproduce the IV curve plots.
The notebook SQDS_referee performs simulations analogous to those presented in Cheng et al., Phys. Rev. B 110, 125417 (2024). While the corresponding figure is not included in the manuscript, it was used to clarify discussions with one of the referees.
This project is licensed under the GNU General Public License v3.0.
See the LICENSE file for details.
Baptiste Lamic
For questions or issues, please open an issue on this repository.