Software for developing quantum computing programs
Project description
Quinteng ChaoYue
Quinteng is an open-source framework for working with noisy quantum computers at the level of pulses, circuits, and algorithms.
Quinteng is made up of elements that work together to enable quantum computing. This element is ChaoYue and is the foundation on which the rest of Quinteng is built.
Installation
We encourage installing Quinteng via the pip tool (a python package manager), which installs all Quinteng elements, including ChaoYue.
pip install quinteng
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 Quinteng ChaoYue
Now that Quinteng is installed, it's time to begin working with ChaoYue.
We are ready to try out a quantum circuit example, which is simulated locally using the Quinteng BasicAer element. This is a simple example that makes an entangled state.
$ python
>>> from quinteng import QuantumCircuit, transpile
>>> from quinteng.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 Quinteng to execute your code on a real quantum chip. In order to do so, you need to configure Quinteng for using the credentials in your IBM Q account:
Configure your IBMQ credentials
-
Create an IBM Q > Account if you haven't already done so.
-
Get an API token from the IBM Q website under My Account > API Token and the URL for the account.
-
Take your token and url from step 2, here called
MY_API_TOKEN
,MY_URL
, and run:>>> from quinteng 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 quinteng import IBMQ
>>> IBMQ.load_account()
Those who do not want to save their credentials to disk should use instead:
>>> from quinteng import IBMQ
>>> IBMQ.enable_account('MY_API_TOKEN')
and the token will only be active for the session. For examples using ChaoYue with real devices we have provided a set of examples in examples/python and we suggest starting with using_quinteng_chaoyue_level_0.py and working up in the levels.
Contribution Guidelines
If you'd like to contribute to Quinteng ChaoYue, please take a look at our contribution guidelines. This project adheres to Quinteng'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 Quinteng Slack community and use our Quinteng Slack channel for discussion and simple questions. For questions that are more suited for a forum we use the Quinteng tag in the Stack Exchange.
Next Steps
Now you're set up and ready to check out some of the other examples from our Quinteng Tutorials repository.
Authors and Citation
Quinteng ChaoYue is the work of many people who contribute to the project at different levels. If you use Quinteng, 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/Quinteng/quinteng-chaoyue/releases/tag/0.9.0
The changelog for the current release can be found in the releases tab: 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
Quinteng documentation here:
https://quinteng.org/documentation/release_notes.html#chaoyue-0-9
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file quinteng-chaoyue-1.0.0.tar.gz
.
File metadata
- Download URL: quinteng-chaoyue-1.0.0.tar.gz
- Upload date:
- Size: 5.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bcb57b1c7d256e4ce7243bc5e9f6767751de738d07fa35f09d242679ce17f74 |
|
MD5 | b68332ba213df89e70b22d867d00a09b |
|
BLAKE2b-256 | 1380b6e33c4ea13e9e6d6d234d5103c0ce118dcf888c9aabc996e334eb44ea73 |