Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


What is IonSim?

IonSim.jl is a simple tool, built on top of QuantumOptics.jl, for simulating the dynamics of a collection of trapped ions interacting with laser light.

IonSim primarily performs two jobs

  1. Keeps track of the physical parameters necessary for describing the system, with a structure and nomenclature designed to be intuitive for experimentalists.
  2. Using these parameters, constructs a function that quickly evaluates the system's Hamiltonian at a particular point in time.

This functional form of the Hamiltonian can then be used either as input to any of the solvers implemented in QuantumOptics.timeevolution, or in the native solver. The native solver is a thin wrapper around QuantumOptics functions that implement additional checks.


What's next for IonSim?

  • Heterogeneous ion chains
  • Magnetic energy transitions
  • Raman transitions
  • Integrated tools for simulating noisy systems
  • Performance improvements
  • "Pre-canned" incorporation of some topical tools, e.g. optimized pulse-shaping for fast, high-fidelity entanglement gates 
  • A Bloch-Redfield equation solver that is compatible with time-dependent Hamiltonians
  • Incorporation of non-linear couplings between vibrational modes in a linear chain
  • Visualization tools
  • If you have some additional ideas/requests, feel free to contact us!


About us

IonSim.jl was built while sheltering-in-place by bored graduate students in Hartmut Haeffner's trapped ion lab at UC Berkeley.

Contact us

If you’d like to contribute to IonSim.jl, head over to our GitHub page.

  • If you have a good idea of what you’d like to do and how to do it, the preferred method is to submit a pull request on GitHub.
  • If you’re less sure about your ideas, would like some feedback, or want to open up a discussion, then feel free to either open an issue on GitHub or get in contact with any of us directly (contact info below).

To stay in the loop and be directly noitifed of major updates, feel free to join our mailing list.

A partial list of contributors is below, in no particular order.


For the most up-to-date contributions, please refer to our GitHub.

Source Code

  • Joseph Broz jbroz@berkeley.edu
  • Neil Glikin glikin@berkeley.edu
  • Kunal Marwaha kmarw@uchicago.edu
  • Kristian Barajas kdbarajas@physics.ucla.edu


This webpage was designed as part of the VetsInTech Web Dev course, hosted by Galvanize and sponsored by DraftKings. The work was done primarily by Joseph Broz, with plenty of help from the Galvanize instructors Brett Cunningham and Daniel Kim.