Skip to main contentIBM 

How real researchers are using Qiskit circuit functions to accelerate their experiments

Circuit functions are powerful, out-of-the-box solutions that abstract away the details of quantum hardware performance management. We spoke with researchers from Deutsches Elektronen-Synchrotron (DESY), North Carolina State University, and Trinity College Dublin about their experience using circuit functions developed by our quantum startup partners Qedma, Q-CTRL, and Algorithmiq.


5 Mar 2025

Suhare Nur

Sanket Panda

Francisco Martin

SheshaShayee Raghunathan

Robert Davis

Designing and running interesting experiments on quantum computers once meant handcrafting nearly every step of your computational workflow. Quantum algorithm and application developers needed extensive expertise in the low-level details of device execution and hardware performance management if they wanted to develop new use cases and explore solutions to new problems.

That’s why IBM® launched the Qiskit Functions Catalog, and in particular, the functions catalog’s circuit functions. Circuit functions abstract away time-intensive tasks that require specialized knowledge in fields like quantum circuit transpilation, error suppression, and error mitigation, all so that you can spend less time optimizing workloads for quantum hardware, and more time discovering and building new application workflows. Functions combine multiple IBM Quantum™ capabilities—e.g., Qiskit Runtime primitives, the Qiskit NoiseLearner, dynamical decoupling, and more—while also in many cases integrating innovative proprietary techniques developed by our startup partners. The result is optimal performance obtained through a familiar, Estimator-like interface. This makes it easy to test out different functions and find the best fit for your specific workload.

We recently spoke with users of three of our circuit functions—Q-CTRL’s Performance Management function, Algorithmiq’s Tensor-network Error Mitigation (TEM) function, and Qedma’s Quantum Error Suppression and Error Mitigation (QESEM) function—to hear about how they’ve been integrating them into their experiments. These conversations made it clear that there is a large community of researchers in fields like physics and chemistry whose research could benefit enormously from quantum computing experimentation, but who themselves lack extensive expertise in quantum hardware performance management.

Researchers say Qiskit functions have helped them obtain usable results from their experiments faster and with less effort, giving them more time to focus on their areas of interest. Take a look at their stories below, and head over the Qiskit Functions Catalog to request free trials of our circuit and application functions.

QESEM function brings quantum startup Qedma’s error mitigation expertise to fundamental physics research

Quantum startup Qedma’s Quantum Error Suppression and Error Mitigation (QESEM) function offers a suite of sophisticated methods aimed at reducing errors and optimizing QPU-time overhead in quantum computing experiments. It leverages a variety of proprietary characterization-based error handling techniques and circuit transpilation methods to help you extract meaningful results from quantum circuits—even if you don’t have extensive knowledge of today’s noisy quantum hardware.

Functions Chart_QESEM (1).jpg

To get a sense of the benefits real researchers are getting from integrating the QESEM function into their workflows, we spoke with Karl Jansen, head of the Center for Quantum Technology and Applications at Deutsches Elektronen-Synchrotron (DESY), a national research center in Germany that operates particle accelerators and conducts fundamental physics research in areas like photon science and high energy physics. We also spoke with DESY researchers Arianna Crippa, Miriam Goldack, and Paulo Itaborai, who all have direct experience using the QESEM function.

Goldack, whose research in fluid dynamics centers on calculating statistical properties of velocity fields, says that the QESEM circuit function has allowed her to run experiments on noisy quantum hardware without needing to become an expert in error mitigation herself. “For me the whole error mitigation process is completely saved and covered by this QESEM function, because I have not studied error mitigation techniques at all,” Goldack says. “I would have needed a lot of time to [study error mitigation], and would need to invest a lot of time in that to find out what works best, what is applicable to my project. All of that was covered by the support from QESEM.”

Collaborative research from Itaborai and Crippa centers on quantum electrodynamics (QED), and specifically on simulating the theory of QED in 2+1 spatial dimensions on quantum hardware. Itaborai emphasizes how easy it’s been to adjust the QESEM function to suit their needs. “The Qiskit function itself wasn't hard to change; it was really just swapping a few lines of code,” Itaborai says. “It was just, you know, say one afternoon of looking through the documentation.”

To illustrate this point, Itaborai shared a code example highlighting the simplicity of the functions interface:

# # QESEM Workflow with Qiskit Function
# ##### CQTA DESY & QEDMA - March 2025

# Instantiating the Qiskit function
from qiskit_ibm_catalog import QiskitFunctionsCatalog
catalog = QiskitFunctionsCatalog()# Load IBM Token
qesem_function = catalog.load("qedma/qesem")

# It is recommended to first estimate QPU time, as
# error mitigation can consume a considerable amount of QPU
estimate = True # 'True' for time estimation, 'False' for executing the final experiment

if estimate:
# QPU time estimation
options={"estimate_time_only": "analytical"}
else:
# QESEM job execution (job options)
options={
"max_execution_time ": 3600, # in seconds
"execution_mode": 'batch', # or 'session'
},

job = qesem_function.run(
instance='ibm-q/open/main', # your instance
pubs=[(qc, [hamiltonian_qed], None, 0.025)], # Using PUBs directly
options=options
backend_name = 'ibm_fez', # or any available machine
)

# Verify status of the job
print(job.status())
# **Qedma**: print job results
print(job.result())

Jansen advises that first time Qiskit functions users shouldn’t be afraid of reaching out for help. Qedma provides extensive training for QESEM function users, and will even consult on best practices for your specific use cases, while IBM provides robust support for issues related to the broader Qiskit functions infrastructure. “We are still in an area where we need a person from the company who teaches us what is available and how we should use it in the correct way,” Jansen says. “Don’t go blindly…Really try to get some guidance either from people like us who have already some experience, or…contact people from IBM directly and ask for advice.”

Q-CTRL’s Performance Management function shows its value for quantum error mitigation and algorithms research

The Performance Management function developed by quantum software startup Q-CTRL suppresses hardware errors for any quantum algorithm through an AI-powered error-suppression pipeline, increasing your chances of obtaining meaningful results. The function accounts for a variety of error sources—device readout error, CNOT errors, crosstalk errors, etc.—and reduces them by modifying input circuits at the gate level, resulting in correct outputs. Beyond error suppression, the function also leverages tools like AI-based readout error mitigation, device layout selection, and an aggressive error-aware compiler. It’s an automated performance management solution that improves performance while reducing time and cost overhead, and it scales well to any quantum algorithms or device size you choose.

Functions Chart_QCTRL_v2.jpg

Hrushikesh Pramod Patil is a PhD researcher at North Carolina State University who specializes in quantum middleware like quantum error mitigation algorithms. One might assume that a quantum error mitigation expert like Patil would prefer to use only their own custom-built error handling schemes over an out-of-the-box solution. However, he says the Performance Management function’s emphasis on error suppression as opposed to error mitigation makes it a perfect complement to his research.

“What [the Performance Management function] advertises is that it does better transpilation, better gate scheduling—all that sort of stuff that is a real pain for an error mitigation researcher,” Patil said. “Because, if you have perfect transpilation, perfect gate scheduling, it can boost your fidelity by a lot. And if your fidelity is up, you can run further error mitigation…and now your results are even better.”

However, Patil suggests that algorithm researchers and others who may not have quantum error mitigation expertise may benefit even more from the performance boost provided by the Performance Management function. “I tested it with [Qiskit Runtime] error mitigation enabled, and I compared it with the Performance Management function…and what I was trying to test was basically how the uninformed user would enable it,” he says.

“The results I got were pretty amazing…the fidelity in some cases jumped from 60% to about 90%, which is a huge, huge deal…And you don’t need to know anything for Qiskit Functions. All you need to do is just apply the function and it does the rest on its own.” Below, you can see a code example created by Patil that highlights how easy it is to integrate the Q-CTRL function into existing workflows:

catalog = QiskitFunctionsCatalog(token=API_TOKEN)

# Access Function
perf_mgmt = catalog.load("q-ctrl/performance-management")

# The circuit(s) and the number of shots to be run
publist = [(circuit0, None, 1024), (circuit1, None, 2048)]

job = perf_mgmt.run(
primitive="sampler",
pubs=publist, # Specify a list of your circuits as PUBs
instance='######', # Specify your instance
backend_name=backend, # Specify the backend you want to run on
)

job.result() # Voila! Your results with much better fidelity

Patil sees Qiskit Functions like Q-CTRL’s Performance Management tool as an exciting sign of the progress quantum computing has made in building abstractions that lower the barrier to running interesting experiments and obtaining useful results. “You don’t have to know all the knobs and levels of detail like gate scheduling, which error mitigation to use, what sort of dynamical decoupling, and all those things. That’s a huge bonus and that’s why everyone should try it,” he says. “It saves a lot of time—a lot of time…It’s allowed me to be more creative with my research, to think of new things [instead of focusing] on getting things to work.”

Algorithmiq helps physics researchers get accurate results in less time with the TEM error mitigation function

Developed by researchers at the quantum startup Algorithmiq, the Tensor-network Error Mitigation (TEM) function is a circuit function that uses classical tensor networks to perform noise mitigation for quantum circuits in the classical post-processing stage of quantum workflows. It can significantly reduce QPU runtimes thanks to a combination of quantum and high-performance computing, allowing users to scale to larger systems that would be inaccessible without the right error mitigation method.

Functions Chart_TEM (2).jpg

Nathan Keenan is an industry PhD student who splits his time conducting physics research between Trinity College Dublin and IBM Dublin. He remembers using Qiskit to build quantum computing experiments even before IBM began providing built-in quantum error mitigation through Qiskit Runtime primitives. “For my first project—I mean, I’m not an expert in these kinds of things, so I would have written some very, very shoddy ZNE codes to deal with the noise in my circuits that I was sending off.”

Keenan began using Algorithmiq’s TEM function more recently through a collaboration with the Algorithmiq team simulating systems in many-body physics, namely a kicked-Ising model with large scale circuits with a brickwork structure. He says the difference between his earliest experiences with error mitigation and his experience using the TEM function was stark. “I didn’t write anything apart from just importing their library, and the way the circuits are transpiled, it did it for me,” he says. “I didn’t have to spend my days writing code I had no clue how to write.”

The TEM function reduces QPU usage and enables scaling up to larger circuit sizes. Keenan says that based on this, the high-quality results, and the ease of use, the TEM function is a great choice for researchers whose projects have amenable circuit structures. “I think it covers everything you could possibly look for in error mitigation,” he says. “It’s at least matching in accuracy [to other methods], with a speedup, and me not writing it myself.”

Explore Qiskit circuit functions for yourself with a free trial

Stories like these underscore how increasing layers of abstraction and automation are helping more researchers explore the power and potential of utility-scale quantum computers. For the most part, the researchers we spoke with are PhD students and industry researchers who have spent their careers studying fundamental physics phenomena. Quantum computing could soon enable groundbreaking scientific discoveries in their domains of interest, but that won’t happen if running large scale experiments on quantum hardware requires years of specialized study.

That’s where circuit functions enter the picture. These powerful tools take the knowledge and insights of IBM and quantum startup researchers who have spent years developing powerful tools to optimize circuits for hardware and manage error mitigation and suppression—so you can focus on discovering new algorithms and applications. Head over to the Qiskit Functions Catalog today, where users on the IBM Quantum Premium Plan can request free trials of our circuit and application functions.


View documentation