⚛️ Quantum Information Software Kit in pure JavaScript.
💡 This project born as a clone (in JS) of its big brother.
📙 The basic concept of our quantum program is an array of quantum circuits. The program workflow consists of three stages: Build, Compile, and Run. Build allows you to make different quantum circuits that represent the problem you are solving. Compile allows you to rewrite them to run on different backends (simulators/real chips of different quantum volumes, sizes, fidelity, etc); and Run launches the jobs. After the jobs have been run, the data is collected. There are methods for putting this data together, depending on the program. This either gives you the answer you wanted or allows you to make a better program for the next instance.
If you want to learn more about Quantum Computing, you're invited to visit our Quamtum Experience project.
👜 This repository include next tools. Please visit the specific documentation you need:
- @qiskit/cli: Meta-package, documented in this file. It also includes a command line client, which is your friend if you want to play with some OpenQASM circuits (in the Quantum Experience or the local simulator) without having to use any other programming language.
- @qiskit/qasm: OpenQASM library, including the parser.
- @qiskit/qe: Send circuits to the Quantum Experience.
- @qiskit/sim: Local simulator for OpenQASM circuits.
- @qiskit/utils: Helpers shared among all packages.
- QISKit for the browser: A bundled version with the same stuff ready to be used in the browser.
☕ Install Node.js v8 and then:
npm i -g @qiskit/cli
🚀 The command line client allows to play with the circuits without having to use any language API.
qiskitjs --help
📝 As you can see in the next section, we have to use it like in the rest of independent modules. The only difference is we need to select the proper field of the main object before.
const qiskitCli = require('@qiskit/cli');
console.log('Simulator version');
console.log(qiskitCli.sim.version);
👀 Full specification.
The actual version of the library.
version
(string) - Version number.
A wrapper fot the qiskit-qasm
project.
qasm
(object) - The same object provided in the original library.
A wrapper fot the qiskit-sim
project.
sim
(object) - The same object provided in the original library.
A wrapper fot the qiskit-qe
project.
Qe
(object) - The same constructor provided in the original library.
A wrapper fot the qiskit-qe
project.
utils
(object) - The same object provided in the original library.
👽 Ismael Faro, Jesús Pérez, Jorge Carballo.
Original code (Python) authors here.
In future releases, anyone who contributes code to this project can include their name here.
🎒
- Python QISKit
- ibmqx backend information: Information about the different IBM Q experience backends.
- ibmqx user guide: The users guides for the IBM Q experience.
- OpenQasm: Examples and tools for the OpenQASM intermediate representation.
- Python API: API Client to use IBM Q experience in Python.
- Tutorials: Jupyter notebooks for using QISKit.
🐧 QISKit is released under the Apache license, v2.0.
😎 If you'd like to help please take a look to our contribution guidelines.