GithubHelp home page GithubHelp logo

silky / quantum-utils-mathematica Goto Github PK

View Code? Open in Web Editor NEW

This project forked from quantumutils/quantum-utils-mathematica

0.0 2.0 0.0 7.15 MB

QuantumUtils for Mathematica is a software library for quantum information scientists.

License: Other

Mathematica 98.73% Python 1.27%

quantum-utils-mathematica's Introduction

QuantumUtils for Mathematica

QuantumUtils for Mathematica is still a pre-alpha version, expect bugs until version 1.

QuantumUtils for Mathematica is a software library for quantum information scientists. Features include:

  • Multi-partite tensor manipulations
  • Quantum system modelling including qudits, circuits, spins, and cavities
  • Symbolic Lie algebra simplification for spin and cavity systems
  • Quantum channels in multiple representations
  • Numerical and symbolic simulators for open and closed quantum system evolution
  • An implementation of GRadient Ascent Pulse Engineering including distortions
  • Perturbative expansion tools such as the Magnus series, the Zassenhaus formula, and matrix power series
  • Visualization functions for displaying matrices, quantum states, data etc.

Requirements

QuantumUtils officially requires Mathematica 10.0.0 or newer. Most features should work with Mathematica 9, and full compatibility with Mathematica 9 will be added in the future. Older versions of Mathematica are not supported.

Installation

Once this repository is cloned onto your computer, open the Install.nb notebook in Mathematica and follow instructions there (basically just Evaluation -> Evaluate Notebook).

The installation places and/or symlinks files in your $UserBaseDirectory/Applications folder.

QuantumUtils includes a suite of unit tests to check if the installed packages are running correctly. After installation these tests can be accesed from the package QUTesting by running the commands:

Needs["QUTesting`"];
RunAllTests[]

Using QuantumUtils for Mathematica

Packages from the QuantumUtils for Mathematica library can be loaded by invoking the Needs function, for example:

Needs["QuantumChannel`"];

All packages provided by QuantumUtils for Mathematica can be loaded simultaneously by needsing QuantumUtils`:

Needs["QuantumUtils`"]

Documentation

Documentation is stored as .nb notebooks in the doc folder. The documentation index can be opened from within Mathematica at any time by evaluating:

<<QUDoc`

Alternatively, once any package from Quantum Utils for Mathematica has been loaded, the QUDoc[] function may be used:

QUDoc[]                       (* Opens index *)
QUDoc["QUPackageName`"]       (* Opens documentation notebook for QUPackageName` *)
QUDoc[FunctionName]           (* Opens and highlights documentation for FunctionName *)

For inline function descriptions, the usage text can be displayed using the ? symbol as with built-in functions:

?FunctionName

License

license

You are free to use this software, with or without modification, provided that the conditions listed in the LICENSE.txt file are satisfied.

quantum-utils-mathematica's People

Contributors

cgranade avatar chriseclectic avatar ihincks avatar

Watchers

 avatar  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.