Skip to main content

Qiskit Metal | for quantum device design & analysis

Project description

Qiskit Metal

LicenseReleasejoin slackDOI

Welcome to Qiskit Metal! Qiskit Metal is an open-source framework for engineers and scientists to design superconducting quantum devices with ease.

Installation

We encourage installing Qiskit Metal via the pip tool (a python package manager).

pip install qiskit-metal

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

It is also recommended that you make a new conda environment before installing:

conda env create -n <env_name> environment.yml
conda activate <env_name>
python -m pip install --no-deps -e .

Source Code Installation

To edit the code and truly customize the experience, if PyPI gives you trouble, or to install from source, follow the instructions in the documentation and/or the installation instructions for developers.

Creating Your First Quantum Component in Qiskit Metal:

Now that Qiskit Metal is installed, it's time to begin working with it. We are ready to try out a quantum chip example, which is simulated locally using the Qiskit MetalGUI element. This is a simple example that makes a qubit.

$ python
>>> from qiskit_metal import designs, draw, MetalGUI, Dict, open_docs
>>> design = designs.DesignPlanar()
>>> design.overwrite_enabled = True
>>> design.chips.main
>>> design.chips.main.size.size_x = '11mm'
>>> design.chips.main.size.size_y = '9mm'
>>> gui = MetalGUI(design)

Launch the Qiskit Metal GUI to interactively view, edit, and simulate a QDesign:

>>> gui = MetalGUI(design)

Let's create a new qubit (a transmon) by creating an object of this class.

>>> from qiskit_metal.qlibrary.qubits.transmon_pocket import TransmonPocket
>>> q1 = TransmonPocket(design, 'Q1', options=dict(connection_pads=dict(a=dict())))
>>> gui.rebuild()
>>> gui.edit_component('Q1')
>>> gui.autoscale()

Change options.

>>> q1.options.pos_x = '0.5 mm'
>>> q1.options.pos_y = '0.25 mm'
>>> q1.options.pad_height = '225 um'
>>> q1.options.pad_width  = '250 um'
>>> q1.options.pad_gap    = '50 um'

Update the component geoemtry, since we changed the options.

>>> gui.rebuild()

Get a list of all the qcomponents in QDesign and then zoom on them.

>>> all_component_names = design.components.keys()
>>> gui.zoom_on_components(all_component_names)

Closing the Qiskit Metal GUI.

>>> gui.main_window.close()

A script is available here, where we also show the overview of Qiskit Metal.

Community and Support

Watch the recorded tutorials

Video Tutorials

The streaming will also be recorded and made available here for offline review.

Take part in the live tutorials and discussion

Through June 2021 we are offering live tutorials and Q&A. Sign up to receive an invite to the upcoming sessions. The streaming will also be recorded and made available for offline review. Find here more details on schedule and use the Slack channel to give us feedback and to request the most relevant content to you.

Get help: Slack

join slack

Use the slack channel. Join qiskit slack and then join the #metal channel to communicate with the developers and other participants. You may also use this channel to inquire about collaborations.

Contribution Guidelines

If you'd like to contribute to Qiskit Metal, 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 Metal Tutorials repository or Qiskit Metal Documentation.

Authors and Citation

Qiskit Metal is the work of many people who contribute to the project at different levels. Metal was conceived and developed by Zlatko Minev at IBM; then co-led with Thomas McConkey. If you use Qiskit Metal, please cite as per the included BibTeX file. For icon attributions, see here.

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.0.4 release here: https://github.com/Qiskit/qiskit-metal/releases/tag/0.0.4 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.

License

Apache License 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qiskit_metal-0.0.4.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

qiskit_metal-0.0.4-py3-none-any.whl (2.4 MB view details)

Uploaded Python 3

File details

Details for the file qiskit_metal-0.0.4.tar.gz.

File metadata

  • Download URL: qiskit_metal-0.0.4.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for qiskit_metal-0.0.4.tar.gz
Algorithm Hash digest
SHA256 bf899fff6af38f9b936c2c36689b9d537da96e78591afbf784bc468764ae2f17
MD5 3c331f1fbe82c21eaa49b8f6cab69fc3
BLAKE2b-256 54e3d6100e7a7524d44977df3ad0eb7cfca708b96973ca8ce780456e7b776248

See more details on using hashes here.

File details

Details for the file qiskit_metal-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: qiskit_metal-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for qiskit_metal-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2dc7ff3b72e92f984ec79f545e05f2a9f112e27f6c512f30d85bcad5fd868b9a
MD5 cab67f491770a8b4c18712c86e19f97c
BLAKE2b-256 bf50236e7b07f3089156e021a5f2c7f97a079d93f8572696d75942c05761521c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page