All Projects → HaeffnerLab → IonSim.jl

HaeffnerLab / IonSim.jl

Licence: MIT license
a simple tool for simulating trapped ion systems

Programming Languages

julia
2034 projects
shell
77523 projects

Projects that are alternatives of or similar to IonSim.jl

maxwellbloch
A Python package for solving the coupled Maxwell-Bloch equations describing the nonlinear propagation of near-resonant light through thermal quantised systems such as atomic vapours.
Stars: ✭ 23 (-50%)
Mutual labels:  quantum-mechanics, quantum-information, quantum-optics
QuantumOptics.jl-examples
Examples for QuantumOptics.jl
Stars: ✭ 16 (-65.22%)
Mutual labels:  quantum, quantum-mechanics, quantum-optics
Quantum-Computing-Collection-Of-Resources
A Well Maintained Repository On Quantum Computing Resources [Code+Theory] Updated Regularly During My Time At IBM, Qubit x Qubit And The Coding School's Introduction To Quantum Computing Course '21
Stars: ✭ 183 (+297.83%)
Mutual labels:  quantum, quantum-mechanics, quantum-information
miniqubit
Quantum emulator of the IBM Quantum experience
Stars: ✭ 24 (-47.83%)
Mutual labels:  quantum, quantum-mechanics
learn-qc-with-python-and-qsharp
Companion code for Learn Quantum Computing with Python and Q# Book by Dr. Sarah Kaiser and Dr. Chris Granade 💖
Stars: ✭ 62 (+34.78%)
Mutual labels:  quantum, quantum-information
Quantum-Computing-Resources
This repository contains the best resources for learning practical quantum computing. This repository will be updated frequently.
Stars: ✭ 60 (+30.43%)
Mutual labels:  quantum, quantum-information
algorithm-zoo
Implementations of algorithms from http://quantumalgorithmzoo.org/
Stars: ✭ 17 (-63.04%)
Mutual labels:  quantum, quantum-information
SchrodingerWellPython
2D 3D Time independent FDM Schrodinger equation solver for arbitrary shape of well
Stars: ✭ 21 (-54.35%)
Mutual labels:  quantum, quantum-mechanics
Schroedinger
A Schroedinger Equation solver in C++, with flexible basis definition
Stars: ✭ 31 (-32.61%)
Mutual labels:  quantum, quantum-mechanics
NeuralQuantum.jl
Neural-Network representation of Quantum Systems
Stars: ✭ 33 (-28.26%)
Mutual labels:  quantum, quantum-optics
unitaryhack
Rules and information for the 2021 unitaryHACK event hosted by @unitaryfund
Stars: ✭ 16 (-65.22%)
Mutual labels:  quantum, quantum-information
prune-horst
Signature scheme submitted to NIST's Post-Quantum Cryptography Project
Stars: ✭ 23 (-50%)
Mutual labels:  quantum
quantumjava
Samples related to "Quantum Computing for Java Developers"
Stars: ✭ 86 (+86.96%)
Mutual labels:  quantum
Quantum-Machine-Learning
This repository contains implementations of Quantum Machine Learning algorithms, feature maps, variational circuits and research papers.
Stars: ✭ 47 (+2.17%)
Mutual labels:  quantum-information
python-qinfer
Library for Bayesian inference via sequential Monte Carlo for quantum parameter estimation.
Stars: ✭ 88 (+91.3%)
Mutual labels:  quantum-information
emperor-os
(new released v2.5 LTS.2022-06-25) It has focused on developing an All in One operating system for programming, designing and data science.Emperor-OS has over 500 apps and important tools
Stars: ✭ 32 (-30.43%)
Mutual labels:  quantum
Python-2D-Simulation-of-Schrodinger-Equation
Une simulation de l'évolution d'un paquet d'onde gaussien
Stars: ✭ 39 (-15.22%)
Mutual labels:  quantum-mechanics
quantum-journal
LaTeX template class for Quantum - the open journal for quantum science
Stars: ✭ 73 (+58.7%)
Mutual labels:  quantum
cas
Cellular Automata Simulator
Stars: ✭ 22 (-52.17%)
Mutual labels:  quantum
Quantum-Computer-Simulator-with-Algorithms
C++ simulator of quantum registers and quantum algorithms
Stars: ✭ 15 (-67.39%)
Mutual labels:  quantum

test status codecov License: MIT

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

IonSim.jl primarily performs two jobs:

  1. Keeps track of the physical parameters necessary for describing the system.
  2. Using these parameters, constructs a function that quickly computes the system's Hamiltonian as a function of time.

The functional form of the Hamiltonian can then be used as input to any of the solvers implemented in QuantumOptics.timeevolution. For more information see:

If you have an idea for how to improve IonSim, need some help getting things working or have any other IonSim-related questions feel free to open a GitHub issue.

How to use

  1. Install Julia (instructions here).
  2. Open up a Terminal session and fire up the Julia REPL with
$ julia

(If using Windows it's easier to start a REPL with the julia executable available after installation.)

  1. Now run
julia> using Pkg
julia> Pkg.add("IonSim")
julia> Pkg.add("IJulia")

The last line adds Jupyter compatibility, so you'll have the option to start a Julia kernel from Jupyter notebook.

Updating IonSim

IonSim.jl is a work in progress. You can update your local code to the most recent version with the following:

julia> using Pkg
julia> Pkg.update("IonSim")

Extra Linux notes

  • Extract the downloaded file
  • copy to /opt with:
$ sudo cp -r julia-1.3.1 /opt/

(replacing julia-1.3.1 with the appropriate version)

  • then create a symbolic link in /usr/local/bin with
$ sudo ln -s /opt/julia-1.3.1/bin/julia /usr/local/bin/julia

Development

If you want to run IonSim locally:

  • Open up the Julia REPL
$ julia
  • Open the package manager by pressing ]
  • Run the following:
pkg> dev IonSim

This will clone a version of this repo in ~/.julia/dev/IonSim/. Then when you make changes to that repo, it will be immediately reflected when using Julia.

You can run tests with

pkg> test IonSim

Don't forget to format the code! ./scripts/format.sh

To go back to the version in the registry, use

pkg> free IonSim

In order to update the IonSim.jl version that lives in the Julia general registry, change the version number in the Project.toml file, commit the changes and then add a comment to the commit that reads:

@JuliaRegistrator register

If you have any questions, please make a GitHub issue.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].