Giter VIP home page Giter VIP logo

ionsim.jl's Introduction

Build Status codecov License: MIT Twitter

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

To go back to the version in the registry, use

pkg> free IonSim

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

ionsim.jl's People

Contributors

jbroz11 avatar marwahaha avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.