All Projects → BBN-Q → QSimulator.jl

BBN-Q / QSimulator.jl

Licence: other
Unitary and Lindbladian evolution in Julia

Programming Languages

julia
2034 projects
shell
77523 projects

Projects that are alternatives of or similar to QSimulator.jl

EmbracingUncertainty
Material for AMLD 2020 workshop "Bayesian Inference: embracing uncertainty"
Stars: ✭ 23 (+21.05%)
Mutual labels:  julia-language
GlobalSensitivity.jl
Robust, Fast, and Parallel Global Sensitivity Analysis (GSA) in Julia
Stars: ✭ 30 (+57.89%)
Mutual labels:  julia-language
YaoBase.jl
Abstract type and interface definition for quantum circuit blocks.
Stars: ✭ 17 (-10.53%)
Mutual labels:  quantum-computing
Julia-Projects-for-Beginners
Julia Projects for Beginners — Easy Ideas to Get Started Coding in Julia
Stars: ✭ 29 (+52.63%)
Mutual labels:  julia-language
Gen.jl
A general-purpose probabilistic programming system with programmable inference
Stars: ✭ 1,595 (+8294.74%)
Mutual labels:  julia-language
learningjulia
A blog where I document my learning of the Julia programming language.
Stars: ✭ 15 (-21.05%)
Mutual labels:  julia-language
LimitedLDLFactorizations.jl
Limited-Memory Factorization of Symmetric Matrices
Stars: ✭ 15 (-21.05%)
Mutual labels:  julia-language
NotebookToLaTeX.jl
A Julia package for converting your Pluto and Jupyter Notebooks into beautiful Latex.
Stars: ✭ 70 (+268.42%)
Mutual labels:  julia-language
18s191
Course 18.S191 at MIT, Spring 2021 - Introduction to computational thinking with Julia:
Stars: ✭ 2,094 (+10921.05%)
Mutual labels:  julia-language
ComputationalMathematics
Lecture slides and homework assignments for MA5233 Computational Mathematics at the National University of Singapore.
Stars: ✭ 35 (+84.21%)
Mutual labels:  julia-language
Tectonic.jl
Tectonic typesetting for Julia.
Stars: ✭ 21 (+10.53%)
Mutual labels:  julia-language
Julia
The Julia Programming Language
Stars: ✭ 37,497 (+197252.63%)
Mutual labels:  julia-language
math-server-docker
The ideal multi-user Data Science server with Jupyterhub and RStudio, ready for Python, R and Julia languages.
Stars: ✭ 70 (+268.42%)
Mutual labels:  julia-language
KittyTerminalImages.jl
A package that allows Julia to display images in the kitty terminal editor
Stars: ✭ 57 (+200%)
Mutual labels:  julia-language
tket
Source code for the TKET quantum compiler, Python bindings and utilities
Stars: ✭ 172 (+805.26%)
Mutual labels:  quantum-computing
TuringBnpBenchmarks
Benchmarks of Bayesian Nonparametric models in Turing and other PPLs
Stars: ✭ 24 (+26.32%)
Mutual labels:  julia-language
TemporalGPs.jl
Fast inference for Gaussian processes in problems involving time. Partly built on results from https://proceedings.mlr.press/v161/tebbutt21a.html
Stars: ✭ 89 (+368.42%)
Mutual labels:  julia-language
qcec
MQT QCEC - A tool for Quantum Circuit Equivalence Checking
Stars: ✭ 64 (+236.84%)
Mutual labels:  quantum-computing
New-ML-Data-Science-Framework-Tutorials-By-EJ
Internet's Most Popular Tutorials on Fresh-off-the-shelf ML & Data Science Technologies, Authored by Yours Truly.
Stars: ✭ 18 (-5.26%)
Mutual labels:  quantum-computing
sqaod
Solvers/annealers for simulated quantum annealing on CPU and CUDA(NVIDIA GPU).
Stars: ✭ 66 (+247.37%)
Mutual labels:  quantum-computing

QSimulator.jl

CI

Package for simulating time dynamics of quantum systems with a focus on superconducting qubits.

Installation

(v1.2) pkg> add https://github.com/BBN-Q/QSimulator.jl

Unit tests

Pkg.test("QSimulator")

Benchmarks

We can track the code performance between commits by running the benchmarking suite in benchmark/benchmarks.jl using PkgBenchmark.

julia> import QSimulator

julia> using PkgBenchmark

julia> results = benchmarkpkg("QSimulator")
PkgBenchmark: Running benchmarks...
PkgBenchmark: using benchmark tuning data in /home/cryan/repos/QSimulator.jl/benchmark/tune.json
Benchmarking:  54%|███████████████████████████████████████████████████████████████▎                                                      |  ETA: 0:01:00
    [2/2]:        "unitary"
      [1/2]:      "propagator"
        [1/4]:    "lab frame parametric 2Q gate"
          [2/2]:  "2 transmons"
          ⋮

julia> export_markdown(stdout, results)
# Benchmark Report for *.*

## Job Properties
* Time of benchmark: 3 Sep 2019 - 22:11
* Package commit: dirty
* Julia commit: c6da87
* Julia command flags: None
* Environment variables: None

## Results
Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the `ID` column have the structure `[parent_group, child_group, ..., key]`, and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

| ID                                                | time            | GC time    | memory          | allocations |
|---------------------------------------------------|----------------:|-----------:|----------------:|------------:|
| `["operators", "X(q) (2 levels)"]`                |  97.304 ns (5%) |            |  272 bytes (1%) |           4 |
| `["operators", "X(q) (3 levels)"]`                | 102.005 ns (5%) |            |  320 bytes (1%) |           4 |
| `["operators", "X(q) (4 levels)"]`                | 108.733 ns (5%) |            |  384 bytes (1%) |           4 |
| `["operators", "X(q) (5 levels)"]`                | 113.097 ns (5%) |            |  464 bytes (1%) |           4 |
| `["operators", "X(q, 0.123) (2 levels)"]`         |  95.520 ns (5%) |            |  272 bytes (1%) |           4 |
| `["operators", "X(q, 0.123) (3 levels)"]`         | 101.485 ns (5%) |            |  320 bytes (1%) |           4 |
| `["operators", "X(q, 0.123) (4 levels)"]`         | 105.386 ns (5%) |            |  384 bytes (1%) |           4 |
| `["operators", "X(q, 0.123) (5 levels)"]`         | 116.289 ns (5%) |            |  464 bytes (1%) |           4 |
| `["operators", "lowering(q) (2 levels)"]`         |  77.935 ns (5%) |            |  240 bytes (1%) |           3 |
| `["operators", "lowering(q) (3 levels)"]`         |  80.843 ns (5%) |            |  288 bytes (1%) |           3 |

Comparing benchmarks

To track performance regressions or improvements run the benchmark suite as above on the two different branches.

julia> using Statistics: median

julia> judgement = judge("QSimulator", "faster-branch", "master"; f=median)

julia> export_markdown(stdout, judgement)
⋮
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].