Quantum software and algorithms research
About
The QSAR group works on designing and implementing the software that
enables us to write and run algorithms on quantum computers. It was
established in 2022 in the Department of Electrical and Computer
Engineering at UBC in Vancouver, Canada, and is a part
of Quantum BC.
News
- (2024-08-23) Congratulations to Abhi on passing
his PhD qualifying examination! We are happy to have him continue
with us as a PhD student.
- (2024-07-30) The QSAR Lab is going to IEEE Quantum Week! Gideon will speak about his new
qubit reuse algorithm, Mushahid will speak about his quantum
debugging tools, and Ritu will present a poster about her work on
readout-aware spin qubit compilation.
- (2024-07-17) Congrats to Gabe and Abhi for placing 1st and 2nd in the NSERC CREATE in Quantum Computing's annual 3-minute thesis competition!
They delivered full presentations of their work at the Quantum BC Seminar Series on 13 August.
- (2024-05-21) The QSAR lab welcomes Nils
Quetschlich, from the
Chair for Design Automation at TUM, as a
visiting PhD student this summer.
- (2024-05-07) Thanks to Gabe's hard work, a mixed-state qutrit simulation device
was released with
PennyLane 0.36! Thank you to the PennyLane team
for all their time and work reviewing our contributions.
- (2024-05-06) Welcome to Cihan and Tanishq, our new summer undergraduate researchers!
- (2024-04-26) QSAR students presented their
research as part
of Quantum BC Research Day's poster
competition. Congrats to Jacky for winning 3rd place!
- (2024-03-06) Abhishek presented the talk
Rocky Raccoon: Automated quantum circuit
optimization using graph-based deep reinforcement learning at
this year's virtual APS March Meeting.
Past news items can be found in our
news archive.
Research
Software and compilation
Quantum compilation is the process of translating a high-level
description of a quantum algorithm into a set of instructions that
is executed on hardware. It's a process with many moving parts
that typically involve solving computationally hard problems.
Areas of investigation include:
- Developing automated compilation tools that scale into the
100s of qubits or more
- Exploring how machine learning and can improve
compilation pipelines
- Methods and tools for testing and debugging quantum
programs
- Exploring how quantum programming languages and compiler considerations will change as we
move towards fault-tolerant systems
Ultimately, we are interested in doing the "hard part" (such as
the optimization process in the gif below), so that users of quantum
software don't need to worry about what happens under the hood, and
can focus instead on writing quantum algorithms.
Quantum algorithms and applications
Compared to classical computing, there are relatively few known
quantum algorithms, and even fewer that will one day achieve the
substantial speedups needed to solve life-sized problems.
Our
group works on both co-designing and implementing software that
facilitates our reasoning about algorithms, and exploring how it can be used
to develop new algorithms and applications.
Our focus areas include:
- Developing qutrit and qudit simulation tools for the
open-source framework PennyLane
- Exploring the use of higher-level quantum systems like
qutrits and qudits for quantum algorithms
- Applying quantum computing to
problems in nuclear, particle, and condensed-matter
physics
- Development and implementation of new differentiable quantum
transforms
Research Contributions
ODM, S. Núñez-Corrales, M. Stechły, S. P. Reinhardt,
T. Mattson (2024) An Abstraction Hierarchy Toward Productive Quantum
Programming. In Proc. of 2024 IEEE International Conference on Quantum Computing
and Engineering (QCE), Montreal, PQ. pp. 979-989.
(arXiv)
M. Khan, P. Nair, ODM (2024) CircInspect: Integrating Visual
Circuit Analysis, Abstraction, and Real-Time Development in Quantum
Debugging. In Proc. of 2024 IEEE International Conference on Quantum Computing
and Engineering (QCE), Montreal, PQ. pp. 1000-1006.
G. Uchehara, T. Aamodt, ODM (2024) Graph-based identification of qubit network (GidNET) for qubit reuse. In Proc. of 2024 IEEE International Conference on Quantum
Computing and Engineering (QCE), Montreal, PQ. pp. 1120-1131.
(arXiv)
ODM (2024)
On the need for effective tools for debugging quantum programs. In
Proc. of the 5th ACM/IEEE International Workshop on Quantum Software
Engineering (Q-SE 2024). Association for Computing Machinery, New York, NY,
USA, 17–20.
(arXiv)
C. Sarma, ODM, A. Abhishek, P. C. Srivastava (2023) Prediction of the neutron drip line in oxygen isotopes using quantum computation. Phys. Rev. C 108
064305.
(arXiv)
G. Bottrill, M. Pandey, ODM (2023)
Exploring the Potential of Qutrits for Quantum Optimization of Graph Coloring. 2023 IEEE International Conference
on Quantum Computing and Engineering (QCE), Bellevue, WA, USA, 2023, pp.
177-183. (arXiv)
G. Uchehara, T. Aamodt, ODM (2022) Rotation-inspired circuit cut optimization. In 2022 IEEE/ACM Third International Workshop on Quantum Computing Software (QCS), 50-56. (arXiv)
Software Contributions
Our group's full software suite can be found on our GitHub organization page.
People
Current members
- Abhishek Abhishek (PhD student)
- Cihan Bosnali (undergraduate student)
- Gabe Bottrill (MASc student)
- Gideon Uchehara (co-supervised PhD student)
- Jacky Jiang (MASc student)
- Mushahid Khan (co-supervised PhD student)
- Nishanth Baskaran (PhD student)
- Ritu Thombre (MASc student)
- Tanishq Pradhan (undergraduate student)
Former members
- Nils Quetschlich (visiting PhD student, summer 2024)
Positions
For prospective graduate students
I am seeking 1-2 new PhD students interested in software research
at the intersection of quantum error correction, compilation, and
debugging. The ideal candidate is proficient in Python (or another
language) and at least one major quantum programming language or
framework, and has a demonstrated track record of research and
research software development. Experience in quantum computing is preferred,
but not required.
Candidates must either hold a Masters degree, or be willing to
start in the Masters of Applied Science (MASc) program (I do not accept
Direct-to-PhD students; MASc students can transfer before finishing
their program). Students with training across the physical sciences
(physics, computer science or
engineering, mathematics) will be
considered. Students from traditionally under-represented groups in science
are encouraged to apply.
To inquire, please e-mail me directly (olivia@ece.ubc.ca) and use
"QSAR PhD Inquiry 2025" as the subject header. Include a CV, link to
your GitHub profile, and a statement of your research interests. I
will follow up with selected candidates directly to arrange an
interview prior to UBC application.
The anticipated start date is September 2025; the deadline for
applications to UBC's ECE department is 15 January 2025. Please
consult the
ECE webpage for full application requirements.
For UBC undergraduate students
We do not currently have any open positions. If you are considering
a directed studies or research experience course in 2025, please
contact Olivia directly at olivia @ ece.ubc.ca.
Group code of conduct
All QSAR group members are expected to uphold the following codes of
professional and scientific conduct. The text below is partially
based on CoCs of the
Tropini,
Avasthi, and
Willis labs.
The CoC was last reviewed in August 2024. As a group, we will
review and update it together on at least a yearly basis (in
particular, following an influx of new members) so that everyone has
the opportunity to contribute their ideas.
Professional conduct
- You work with the group, not for the group.
All group members, regardless of academic status, are independent
researchers in training. Everyone comes with their own skill set and
experience, and contributes their unique perspective to the work
that we do. We work together and don't compete with each other.
- Be professional with everyone. Treat other group members
and your shared space with respect. Ensure everyone has the chance
to speak during group meetings, and be mindful of interrupting or
talking over others. Our work hours are flexible, so be considerate
of the time and schedules of your colleagues. When you are
collaborating with others, giving a talk, or at a conference, you
are out representing our group. Conduct yourself in the same
professional manner as you would within the group, regardless of
where you are and who you are with, and follow the CoCs in place at events.
- Harassment will not be tolerated. There is zero
tolerance for exclusionary comments or jokes, threats, or
violent behaviour or language. Offensive behaviour or comments of
any kind relating to gender, gender identity and expression, sexual
orientation, disability, mental illness, neuro(a)typicality,
physical appearance, body size, age, race, ethnicity, religion,
lifestyle choices, etc. are not welcome in our group. Please do not take
photographs of others, share their work, or post
personally-identifying information online without their explicit
permission.
- Ask for help when needed, and provide it willingly.
Everyone is here to learn, so ask lots of questions! When you
receive questions, respond to them respectfully without putting the
other person down; focus on helping the other person learn how to do
something, rather than simply doing it for them. Be mindful of
people's time: if your question is something a quick online search
will resolve, do so before reaching out.
- Provide constructive feedback. Feedback is meant to help
someone improve. Identify errors when they occur, and make direct
and honest suggestions where appropriate (including to the group
lead!). Make feedback about the work, not the person. This includes
discussions about the work of others.
Scientific conduct
- We share our data and code. We post preprints on
arXiv so our work is available to everyone. We publish our source
code and data under permissive licenses on GitHub or other
code-sharing platforms. We also prioritize the use of open-source
libraries and contribute back to them when we can.
- We conduct our work with integrity. Never falsify,
make omissions, or otherwise manipulate your code or data. Our work
should be reproducible by others in the field, and we should provide
everything needed to enable that.
- We collaborate. This includes with other research groups
at UBC and beyond, companies, and online communities. We treat
confidential information within collaborations with the utmost care. If
you wish to collaborate with an external party, great!
Please initiate a discussion with the group lead first.
- We provide proper attribution. Always cite sources and
images in written work and presentations, even if the source is
yourself. When using external software libraries, make sure
to check the licenses.
- We are mindful about the use of generative AI. It is
useful for code completion and boilerplate code once you're
comfortable implementing something from scratch. It's also helpful
for rephrasing or checking grammar on a first draft written based on
your own ideas. However, please don't provide models not
trained and hosted by us (or a partner we trust) with large blocks
of text or code from unpublished work, or use them for projects
containing confidential information or IP.
- It's okay to make mistakes. Everyone makes them, this is
how we learn. It is important to be open and honest about them,
accept responsibility, and we will work together to resolve
them.