Highlights

Meet a CQTian: Goh Ka Hui

Ka Hui completed her final year project in CQT to earn a physics and computer science double degree and now heads to Europe for further study
01 September 2022

Researcher in laboratory at the Centre for Quantum Technologies Singapore, standing between computer control desk and black optical benches Goh Ka Hui has worked on coding gates for a quantum computer: connecting the Qiskit quantum programming library to ions trapped in Dzmitry Matsukevich's lab

 

You came to CQT as an undergrad to do a final-year project with an unusual background. Can you explain more?

I was always interested in science from young. At NUS, I started in 2017 first with a degree in physics. After that, I started to take some computer science modules as electives. I found I was quite good at it and it was interesting to me as well, so I decided to switch to a double degree in physics and computer science.

That must have been a lot of work!

It’s quite an unusual combination. I’ve heard about people doing double majors but not double degrees. Basically, I didn’t have time to take electives. I was either taking physics core modules, or computer science core modules, both of which are quite heavy.

How did you come across quantum computing?

I didn't really know about quantum computing until a year ago. I saw that there was this computer science module in quantum computing and it was related to physics, so I thought I would try it. I found it really interesting. Afterwards, I was trying to look for a final year project that could be integrated to use for both my degrees at the same time.

I heard from a senior that Professor Dzmitry Matsukevich was doing quantum computing. I decided to contact him and asked him for a project. He said that there was a final year project (FYP) in quantum computing, and so I took it up! Professor Rahul Jain, who taught the computer science module, was my co-supervisor.

What did you work on for your final-year project?

In Professor Dzmitry’s lab, we have a trapped ion quantum computer using ytterbium ions. There's a Python library - Python’s a very popular programming language - called Qiskit that allows you to do stuff related to quantum computing. For example, you could build a quantum circuit using this library and then run it using simulators of quantum computers or actual quantum computers like those that IBM has. My project is about connecting this library to the quantum computer that we have in the lab. So instead of running Qiskit on simulators or other people's computers, we get to actually run it on our own quantum computer.

What could you do on the lab’s quantum computer?

During my FYP, I was working on a single qubit, so I could only deal with quantum circuits that have one qubit. Since I graduated, I have continued this project as a Research Assistant. I’m now working on extending it to a three-qubit system, including interactions between the qubits. Our aim is to eventually have a five-qubit quantum computer that is accessible through Qiskit.

My work was quite programming heavy. I wrote code that converts the instructions in the quantum circuit into laser pulses, because that's what we use to control the ions and control the state of the qubit. So, after I convert the quantum circuit instructions into the laser pulses, we apply these laser pulses on to the ion in the lab. And afterwards, we measure what's the state of the ion, and then we send the results back to the user.

With one qubit, the gates we can do are like a series of rotations on the qubit, and we can see whether the final state we get to is correct or not. The goal for me was to try to see how many gates I can do before the performance starts to deteriorate. For the experiment, we generate several randomised sequences of gates. We can typically achieve an error rate of less than 1% per gate using microwave pulses, and sometimes it goes as low as 0.15% per gate.

What did you learn during this work?

I spent a lot of time looking at Qiskit, how it works and how to implement the interfaces required. I had a little bit of exposure from the quantum computing module, but of course working with the back end was a completely different thing.

On the physics side, I didn't know a lot when I came into the project so I had to ask a lot of questions. It’s a really complex system with a lot of parts, so I was just slowly trying to learn it bit by bit from the other people in the group. I started off mostly on the software side. When I started getting to the lab more often, people in the group would try to help me do the things I want to do.

What were some of the challenges?

Because it's such complex software, there are many parts required to make it work. I had to make sure that the software has no bugs in it. On the experimental side, I had to make sure the ions were there and ready for the experiment to begin.

When it works, it’s a really nice feeling. When it doesn’t work, sometimes I don't know whether there's a bug in my code or there's something wrong with the experiment. That can be really hard to figure out!

What’s next for you?

I am heading to Germany for my graduate studies and will be joining a group at the Max Planck Institute of Quantum Optics to work on neutral atom quantum computing.