All Projects → Qiskit → Qiskit Terra

Qiskit / Qiskit Terra

Licence: apache-2.0
Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and algorithms.

Programming Languages

python
139335 projects - #7 most used programming language
TeX
3793 projects
OpenQASM
18 projects
Jupyter Notebook
11667 projects
C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to Qiskit Terra

Quantum-Computing-Resources
This repository contains the best resources for learning practical quantum computing. This repository will be updated frequently.
Stars: ✭ 60 (-98.11%)
Mutual labels:  quantum, quantum-computing, qiskit
qibo
A framework for quantum computing with hardware acceleration.
Stars: ✭ 120 (-96.22%)
Mutual labels:  quantum, quantum-computing, quantum-circuit
Quantum-Computing-Collection-Of-Resources
A Well Maintained Repository On Quantum Computing Resources [Code+Theory] Updated Regularly During My Time At IBM, Qubit x Qubit And The Coding School's Introduction To Quantum Computing Course '21
Stars: ✭ 183 (-94.24%)
Mutual labels:  quantum, quantum-computing, qiskit
Qpp
A modern C++11 quantum computing library
Stars: ✭ 277 (-91.28%)
Mutual labels:  quantum-computing, quantum
QuantumComputing
Collection of Tutorials and other Quantum Computer programming related things.
Stars: ✭ 120 (-96.22%)
Mutual labels:  quantum-computing, qiskit
qisjob
Qiskit Job Control
Stars: ✭ 24 (-99.24%)
Mutual labels:  quantum-computing, qiskit
QuantumCircuitOpt.jl
A Julia/JuMP Package for Optimal Quantum Circuit Design
Stars: ✭ 45 (-98.58%)
Mutual labels:  quantum-computing, quantum-circuit
learning-quantum
Study resources for learning quantum computing
Stars: ✭ 51 (-98.39%)
Mutual labels:  quantum-computing, qiskit
unitaryhack
Rules and information for the 2021 unitaryHACK event hosted by @unitaryfund
Stars: ✭ 16 (-99.5%)
Mutual labels:  quantum, quantum-computing
Quantum-Computer-Simulator-with-Algorithms
C++ simulator of quantum registers and quantum algorithms
Stars: ✭ 15 (-99.53%)
Mutual labels:  quantum, quantum-computing
Quantum-Computing-UK-Repository
This repository contains all of the code found in the quantum computing tutorials at : https://quantumcomputinguk.org.
Stars: ✭ 52 (-98.36%)
Mutual labels:  quantum-computing, qiskit
qcl
Quantum Computation Language port from http://tph.tuwien.ac.at/~oemer/qcl.html
Stars: ✭ 29 (-99.09%)
Mutual labels:  quantum, quantum-computing
Interlin-q
A Quantum Interconnect Simulator for Distributed Quantum Algorithms
Stars: ✭ 32 (-98.99%)
Mutual labels:  quantum, quantum-computing
quantumjava
Samples related to "Quantum Computing for Java Developers"
Stars: ✭ 86 (-97.29%)
Mutual labels:  quantum, quantum-computing
QuantumResources
A collection of resources for Quantum Computing
Stars: ✭ 43 (-98.65%)
Mutual labels:  quantum, quantum-computing
QuantumPoker
Quantum Poker – a serious pedagogical tool to learn quantum computing that is fun to play
Stars: ✭ 16 (-99.5%)
Mutual labels:  quantum-computing, qiskit
launchpad
Resources to get started in Quantum Computing!
Stars: ✭ 21 (-99.34%)
Mutual labels:  quantum-computing, qiskit
Qu.js
Quantum Computing for Humans!
Stars: ✭ 15 (-99.53%)
Mutual labels:  quantum-computing, qiskit
qc portfolio optimization
A program that implements the portfolio optimization experiments using a hybrid quantum computing algorithm from arXiv:1911.05296. The code was developed as part of the 2020 Quantum mentorship program. Many thanks to my mentor Guoming Wang from Zapata Computing!
Stars: ✭ 21 (-99.34%)
Mutual labels:  quantum, quantum-computing
learn-qc-with-python-and-qsharp
Companion code for Learn Quantum Computing with Python and Q# Book by Dr. Sarah Kaiser and Dr. Chris Granade 💖
Stars: ✭ 62 (-98.05%)
Mutual labels:  quantum, quantum-computing

Qiskit Terra

LicenseBuild StatusReleaseDownloadsCoverage Status

Qiskit is an open-source framework for working with noisy quantum computers at the level of pulses, circuits, and algorithms.

Qiskit is made up of elements that work together to enable quantum computing. This element is Terra and is the foundation on which the rest of Qiskit is built.

Installation

We encourage installing Qiskit via the pip tool (a python package manager), which installs all Qiskit elements, including Terra.

pip install qiskit

PIP will handle all dependencies automatically and you will always install the latest (and well-tested) version.

To install from source, follow the instructions in the documentation.

Creating Your First Quantum Program in Qiskit Terra

Now that Qiskit is installed, it's time to begin working with Terra.

We are ready to try out a quantum circuit example, which is simulated locally using the Qiskit BasicAer element. This is a simple example that makes an entangled state.

$ python
>>> from qiskit import QuantumCircuit, transpile
>>> from qiskit.providers.basicaer import QasmSimulatorPy
>>> qc = QuantumCircuit(2, 2)
>>> qc.h(0)
>>> qc.cx(0, 1)
>>> qc.measure([0,1], [0,1])
>>> backend_sim = QasmSimulatorPy()
>>> transpiled_qc = transpile(qc, backend_sim)
>>> result = backend_sim.run(transpiled_qc).result()
>>> print(result.get_counts(qc))

In this case, the output will be:

{'00': 513, '11': 511}

A script is available here, where we also show how to run the same program on a real quantum computer via IBMQ.

Executing your code on a real quantum chip

You can also use Qiskit to execute your code on a real quantum chip. In order to do so, you need to configure Qiskit for using the credentials in your IBM Q account:

Configure your IBMQ credentials

  1. Create an IBM Q > Account if you haven't already done so.

  2. Get an API token from the IBM Q website under My Account > API Token and the URL for the account.

  3. Take your token and url from step 2, here called MY_API_TOKEN, MY_URL, and run:

    >>> from qiskit import IBMQ
    >>> IBMQ.save_account('MY_API_TOKEN', 'MY_URL')

After calling IBMQ.save_account(), your credentials will be stored on disk. Once they are stored, at any point in the future you can load and use them in your program simply via:

>>> from qiskit import IBMQ
>>> IBMQ.load_account()

Those who do not want to save their credentials to disk should use instead:

>>> from qiskit import IBMQ
>>> IBMQ.enable_account('MY_API_TOKEN')

and the token will only be active for the session. For examples using Terra with real devices we have provided a set of examples in examples/python and we suggest starting with using_qiskit_terra_level_0.py and working up in the levels.

Contribution Guidelines

If you'd like to contribute to Qiskit Terra, please take a look at our contribution guidelines. This project adheres to Qiskit's code of conduct. By participating, you are expected to uphold this code.

We use GitHub issues for tracking requests and bugs. Please join the Qiskit Slack community and use our Qiskit Slack channel for discussion and simple questions. For questions that are more suited for a forum we use the Qiskit tag in the Stack Exchange.

Next Steps

Now you're set up and ready to check out some of the other examples from our Qiskit Tutorials repository.

Authors and Citation

Qiskit Terra is the work of many people who contribute to the project at different levels. If you use Qiskit, please cite as per the included BibTeX file.

Changelog and Release Notes

The changelog for a particular release is dynamically generated and gets written to the release page on Github for each release. For example, you can find the page for the 0.9.0 release here:

https://github.com/Qiskit/qiskit-terra/releases/tag/0.9.0

The changelog for the current release can be found in the releases tab: Releases The changelog provides a quick overview of notable changes for a given release.

Additionally, as part of each release detailed release notes are written to document in detail what has changed as part of a release. This includes any documentation on potential breaking changes on upgrade and new features. For example, You can find the release notes for the 0.9.0 release in the Qiskit documentation here:

https://qiskit.org/documentation/release_notes.html#terra-0-9

License

Apache License 2.0

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