Introduction to Qiskit Metal


Qiskit Metal is an open-source framework that allows us to design a quantum chip. A general workflow to design a quantum chip typically involves the following steps as per order:

Where the feedback loop pivots in between the Hamiltonian, Layout, Electromagnetic Analysis, and Quantum Analysis. As we move along with the flowchart, just as Complexity, Information, and Accuracy increase considerably, so do Risk, Cost, Time, and Resources.

There's a lot that needs to be taken into consideration while curating the chip, however. To name some:

… and so on.

Therefore, for simplifying the task, Qiskit Metal establishes a direct two-way correspondence between Hamiltonian (Mathematical Mapping), Layout, Quantum Analysis (Quantum electrodynamic behavior) and Electromagnetic Analysis. Metal defines the abstraction of a quantum device design, needed for closed-loop optimization between design and analysis.

For installing Qiskit Metal, you need to first enable Anaconda in your PC’s PATH variable. Setting up a proper git linkage following the instructions as below will simplify the retrieval of code updates and the possible contributions back to the source code:

1. To set up the git repository, open any shell (Preferably with administrator privilege) and run the following:

2. Setting up a new Conda environment: Navigate to the folder you clone the repository in.

3. Create the environment and locate it into the folder with all the necessary library dependencies containing the environment.yml file by running the following commands:

4. Install Qiskit Metal locally into the environment:

5. Instantiate a Jupyter Kernel for the environment:

For installing without conda, follow the instructions in Qiskit Metal Documentation

Now that environment is ready with all the necessary libraries, let us dive in to create a 2D design and add a single transmon cross (xmon) qcomponent!

EXAMPLE: Single Transmon - Grounded (xmon)

Open up the Jupyter notebook server and select the appropriate kernel.

  1. First, we will enable auto-reloading of modules when they change for convenience
  1. Now import all of the libraries modules along with GUI of Qiskit metal (MetalGUI):
  1. We will start by instantiating a QDesign Class (Remember, each time you need to create a new quantum circuit design):
  1. You can also launch MetalGUI to simulate, view, edit and design interactively by executing the following command:
What is a transmon qubit?

Transmission Line Shunted Plasma Oscillation Qubit (Transmon Qubit is a type of superconducting charge qubit that was designed to have reduced sensitivity to charge noise.

Using Qiskit Metal, we can render a ready-made transmon cross qubit from the QComponent Library, qiskit_metal.qlibrary.qubits.

  1. So we will now import transmon_cross module from the file


  1. To define which type of connector is used the connectord_type can be string of '0' for 'Claw' or '1' for 'Gap'. The connector_location can be string of '0', '90', '180'  degrees which of the three arms where a given connector should be. South is for the junction.


  1. Saving a Screenshot:

Here we have the single transmon (grounded x-mon) instantiated using Qiskit Metal!

  1. Finally, close the MetalGUI:

[9]: True

For more examples of qubits, resonators, connectors, couplers and quantum chip, follow circuit examples in Qiskit Textbook

Github Link