Skip to content

Project Ideas

Nathan Shammah edited this page Apr 26, 2022 · 8 revisions

Project Ideas for Mitiq

There are several ways to get involved in the project:

  • You can join the Mitiq dev meeting that is every Friday at 6:00 pm CET or one of the Wednesday’s meetings at 6:30 pm CET (which can be Mitiq office hours, a guest talk, or a journal club event) on http://discord.unitary.fund/.
  • You can get familiar with quantum error mitigation in the Mitiq documentation, here.
  • We encourage you to get in touch with the Mitiq team on the Unitary Fund Discord server (there is #mitiq channel).
  • You can email the UF technical staff about your interest in a specific project idea and share a draft proposal of yours ahead of time for feedback or a chat (emails below under each project).
  • Please consider solving one of the open issues on Mitiq with a pull request. Guidelines to contributing can be found in the Mitiq documentation; a summary is present in template PR. Some issues are labeled as “good first issue”.

Project Ideas

1. Finalize the implementation of Readout Error Mitigation

Description

Readout error mitigation (REM) is an important error mitigation technique [1][2][3]. Its aim is to reduce errors that may happen in the last part of a quantum computation, i.e., when qubits are measured and the result is returned to the user as classical bitstring.

REM is in the Mitiq roadmap and it is planned for quarters Q3 and Q4 of 2022. If this GSoC project is successful, the implementation of REM in Mitiq can be anticipated.

The general scope of this project is to finalize the implementation of REM in Mitiq. REM should become a new error mitigation technique that Mitiq’s users can apply in a similar way as other supported techniques (ZNE, PEC, CDR).

Read the relevant issues and discussions -

Expected outcomes

Implementing functions and tools to estimate “confusion matrices”, i.e., stochastic matrices modeling measurement errors. Given a confusion matrix, mitigate measurement errors. E.g. via matrix inversion. Implement standard Mitiq functions for interfacing with the user:

  • execute_with_rem()
  • mitigate_executor()
  • rem_decorator()

Skills

Git, Python, basic knowledge of quantum computing.

Mentors

Difficulty

Medium

Expected size of project

350 hours.

References

[1] S. Bravyi, S. Sheldon, A. Kandala, D. C. McKay, and J. M. Gambetta, Mitigating measurement errors in multi-qubit experiments, Phys. Rev. A 103, 042605 (2021). https://arxiv.org/abs/2006.14044

[2] F. B. Maciejewski, Z. Zimborás, M. Oszmaniec, Mitigation of readout noise in near-term quantum devices by classical post-processing based on detector tomography Quantum 4, 257 (2020). https://arxiv.org/abs/1907.08518

[3] Qiskit tutorial on measurement error mitigation

2. Increase supported gates compatible with Mitiq

Description

Some Qiskit gates are not supported (during the internal conversion to Cirq). It would be good to support more gates. Since we are relying on Cirq conversion functions, a possible way to do achieve can be via up-streaming these requests to Cirq.

Read the relevant issues and discussions -

Expected outcomes

A successful project would increase the supported quantum gates in Mitiq from Qiskit, such as the phase gate

Skills

Git, Python, basic knowledge of quantum computing, Qiskit.

Mentors

Difficulty

Easy

Expected size of project

175 hours

3. Implement Randomized Compiling

Description

Randomized compiling (RC) is another mitigation technique in scope for Mitiq [1][2][3]. RC creates a set of “randomized” circuits that are logically equivalent to the original “bare” circuit, without increasing circuit depth. Its aim is to convert coherent errors into incoherent errors, to reduce worst case error rates and, in the ideal implementation, “completely suppress off-diagonal terms … resulting from coherent errors”[2].

RC is in the Mitiq roadmap and it is planned for late 2022. If this GSoC project is successful, the implementation of RC in Mitiq can be anticipated with further detail and scoping.

The general scope of this project is to finalize the implementation of RC in Mitiq. RC should become a new error mitigation technique that Mitiq’s users can apply in a similar way as other supported techniques (ZNE, PEC, CDR).

Read the relevant issues and discussions -

Expected outcomes

Implement the simple CNOT case demonstrated in [1] as MVP? Beyond that, abstract out gate insertion as “twirling”. Identify interleaved single-qubit “easy” gates and two-qubit “hard” gates. In the interleaved case, twirling gates are chosen at random from a set, inserted between easy/hard gates, then in subsequent cycles chosen to undo the previous cycle.

  • execute_with_rc()
  • mitigate_executor()
  • rc_decorator()

Skills

Git, Python, basic knowledge of quantum computing.

Mentors

Difficulty

Medium

Expected size of project

350 hours

References

[1] Miroslav Urbanek, Benjamin Nachman, Vincent R. Pascuzzi, Andre He, Christian W. Bauer, and Wibe A. de Jong, Mitigating depolarizing noise on quantum computers with noise-estimation circuits, Phys. Rev. Lett. 127, 270502 (2021) https://arxiv.org/abs/2103.08591

[2] Hashim, Akel and Naik, Ravi K. and Morvan, Alexis and Ville, Jean-Loup and Mitchell, Bradley and Kreikebaum, John Mark and Davis, Marc and Smith, Ethan and Iancu, Costin and O'Brien, Kevin P. and Hincks, Ian and Wallman, Joel J. and Emerson, Joseph and Siddiqi, Irfan, Randomized Compiling for Scalable Quantum Computing on a Noisy Superconducting Quantum Processor, Phys. Rev. X 11, 041039 (2021). https://journals.aps.org/prx/abstract/10.1103/PhysRevX.11.041039

[3] Wallman, Joel J. and Emerson, Joseph, Noise tailoring for scalable quantum computation via randomized compiling, Phys. Rev. A 94, 052325 (2016). https://arxiv.org/abs/1512.01098

4. Develop hybrid algorithm support for Mitiq

Description

Mitiq is a package that at a high level takes circuits and returns error mitigated results (basically a float or an array of floats). As the industry moves to fully quantum and classical representations of programs, it will be important to support error mitigation with these new representations. The project would be developing a prototype and contributing to open source tools that would allow the existing Mitiq package (or fork of) to consume and produce hybrid quantum programs in the QIR representation.

Read the relevant issues and discussions -

Expected outcomes

A successful project would demonstrate an MVP where a hybrid quantum program could be passed to Mitiq, and it would return a new program with built-in error mitigation.

Skills

Git, Python, basic knowledge of quantum computing, bonus C++/LLVM/compiler experience.

Mentors

Difficulty

Medium

Expected size of project

350 hours

Clone this wiki locally