Skip to content

filemaster/qiskit-sdk-js

 
 

Repository files navigation

QISKit.js

License lerna Build Status

⚛️ Quantum Information Software Kit in pure JavaScript.

💡 This project born as a clone (in JS) of its big brother.

Philosophy

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

Structure

👜 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

☕ Install Node.js v8 and then:

npm i -g @qiskit/cli

Use

CLI

🚀 The command line client allows to play with the circuits without having to use any language API.

qiskitjs --help

Programatically

📝 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);

API

👀 Full specification.

version

The actual version of the library.

  • version (string) - Version number.

qasm

A wrapper fot the qiskit-qasm project.

  • qasm (object) - The same object provided in the original library.

sim

A wrapper fot the qiskit-sim project.

  • sim (object) - The same object provided in the original library.

Qe

A wrapper fot the qiskit-qe project.

  • Qe (object) - The same constructor provided in the original library.

utils

A wrapper fot the qiskit-qe project.

  • utils (object) - The same object provided in the original library.

Authors (alphabetical)

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

Other QISKit projects

🎒

License

🐧 QISKit is released under the Apache license, v2.0.

Do you want to help?

😎 If you'd like to help please take a look to our contribution guidelines.

About

Quantum Information Software Kit in pure JavaScript.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 87.3%
  • Yacc 10.5%
  • C++ 2.2%