 So our next speaker is Voxly and Voxy is a master student at the eth Zurich and But currently he has exchanged it to you to delft and he's one of the developers behind the Qtip Project, which is an essential software toolbox for quantum simulations including noisy and open quantum systems and Today he's going to be talking about the outcome of his Google summer of code project In adult titled simulating quantum noisy quantum devices with Qtip Hello, can you hear me? Good. Yeah Thanks for the introduction. So my name is Voxy. I am Google summer of code students last year and that's when I joined the Qtip community for this project. So In this talk I'm going to Talk about a new module in Qtip that is going to help you simulate your quantum chips your quantum system Now if you were here last year, you might already heard a talk about Qtip, which was the general Qtip stuff given by Shenovats Now in this talk we focus on this new module So I'll first still give a very brief introduction of Qtip But only the very central part and then we'll come into this new simulator Yeah, so to begin with so today we have a lot of different approaches that are trying to build as quantum computers So we have superconducting system quantum dots or some photonic platforms or the iron traps They are all different kind of platforms But in your quantum chips are what you have in your system It's a really very small quantum system that we treat them as qubits Because everything here is quantum, that's why I want to use them There's a lot of counter-intuitive phenomena happening there So one way of understanding your quantum system and study what is really happening in your chips is by simulation So Qtip as the name indicated the quantum toolbox in Python is exactly This Python package that help you to understand your quantum system We have a lot of different nice tools in our package ranging from some nice abstraction of quantum operators We call it QObject So we have a lot of transformation function which can transform between for example Troy operator or Super operator Which are commonly used in quantum information theory On the other hand we also have many predefined quantum states that can help you to For example set up your quantum simulation And we also have nice visualization tools So like Bloch sphere or Wigner function used in optical system So they will help you like have a closer look or more intuitive understand of your quantum system But those are very nice tools We have many tons of them Now the central part that combines them and unites them together is actually the quantum dynamic silver of Qtip So don't freak out. This is the only page with formulas Now what I want to say is that Despite this eccentric behavior of quantum physics we can still describe sense with physical loss So the Newton equation in the quantum world will be the so-called Schrodinger equation It basically means that if you gave your initial state And they'll give something called the Hamiltonian which basically determines the dynamical system And you can actually calculate what kind of state am I having in the future Now of course this is never going to tell you what's exactly the measurement results Because we still have this uncertainty But it can describe your state your physical system in a statistical way Now this works only for perfect isolated system But in reality it's never the case So we are trying very hard to isolate our quantum system Like we put it in vacuum chamber or we could temperature down to some mini kevin But still there's always an environment around And this environment will lead to something called decoherence So if you save your historical qubits in some quantum memory And you come back like after Microsecond or millisecond you marry it again Then probably you find out that it's the state change it become from a job from some state one to state zero So it means that your quantum system actually talks to the environment So this kind of dissipative behavior is captured by the so-called lean blood master equation And the silver of this equation is the central part of q-tip So we also have a bunch of other Sovers some of them deal with a slightly different situation like if you have some invariance in your system But they are basically all designed and used for study quantum dynamics Based on all those those sovers A lot of a lot of physics phenomena can be studied like quantum optics cavity QED quantum optimal control and also the topic today quantum information processing Now when we talk about quantum information processing we usually use this circuit model So q-tip also have this very nice Quantum circuit representation where you can create a circuit You can aid gate to it. So we have a lot of predefined quantum gates And we also allow you to define your gates your customized gates your own gates in a matrix form So when you run the gates you get the final state by matrix production But this part is not it's not new like You might also ask that we already have many many other softwares that are doing this quantum circuit simulations. We have please keep project q and dozens of others What's the difference? Now the difference here is that in q-tip we are going to simulate the circuit At the level of your physics dynamics control pulse So we will first transfer the quantum circuit Into the control pulse of some of your device of a physics system and then it simulates the physics dynamics So our simulation is running one level lower than the circuit model So with this I'll go to the second part. So noisy device simulation this new motor in q-tip Now imagine you have some quantum chip And usually the way what you want to control your qubits is through some control pulse So you're either shy laser on it or you give it some microwave signal So this kind of your quantum chip is represented in our simulator calling a class called processor So it has information like the number of qubits The typical relaxation time t1 t2 and also the most important your control pulses So the control pulses is actually the basic element in our simulation So it so it's characterized by the Hamiltonian which describes the interaction and the target qubits And also the pulse coefficients and the time sequence So basically the last two the last two here Describes what kind of shape it's about your pulse is going to have so when do I want to turn the pulse on And it does it has a rectangular shape or triangular or even a ga even a Gaussian shape So with this you can define our device And add some pulse to it like you should hear a short code block you have sigma Hamiltonian and act Cupid zero with some pulse chip and then you can you click around your round the state Our simulator will tells you what does that state looks like at some future time t So this is less interesting if we are really interested in the ideal case because if you want to simulate ideal gate Then why don't just use the matrix? Now since become interesting if we want to add noise So usually in those gate based simulator The way of simulating noise is for example through some depolarizing channel We assume that okay a small part of a small part of a small part information of my quantum system is lost After each gate Or you say that's okay. I apply some flip error with some probability p after each gate But there's always an additional level of abstraction there So you have to calculate these which probability do I want to apply this error gate? So in our case because we are doing this simulation at the physics level you don't need to worry this So because we have an open system server It is quite natural to aid like single qubit relaxation noise But beyond that you can define a lot of other kind of noise Like pulse shift noise where your pulse is suffered from some random amplitude noise, or maybe you have an exponential tail Or for example, your power it can happen that your pulse is not very well focused So You are you're trying to address One qubit, but because the pulse is a little bit broader you address actually several neighboring qubits at the same time There's also this so-called a leakage noise We are so basically we always imagine our qubits to be a two-level system. That's why I call it bit But in fact, even in a simple atom, there are infinite many energy levels So we just pick two of them to use them as our qubit But if your control path is not perfect, which is You really the case it's very likely that you can also excite you can also Excite your state to some third level that is not even captured in your qubit description So in our simulation you can you can easily define Characterize those kind of noise by for example some Ancillary level So basically your qubit circuit is still qubit, but we will run simulation. It actually runs on three level system Now with this pulse level control and noise You can basically characterize your chip but The the part that connects the quantum circuit And the physics the physics dynamics is what we call backend and comparator So this part is still under active development Where we aim at Create different backend comparators for different common physics systems like those that are commonly used for quantum computing So basically what a backend does in our sense is that you give it a parameter a few a few parameters like Number of qubits or the frequency of my resonator or my the frequency of my ion trap And then we construct the control hampton hamptonians for you automatically So Yeah, basically it's a simulator be careful. It's a still simulator. So there's no hardware no hardware backend We're just simulating different kind of physics system Now on the other hand The comparator start from the quantum circuit and transfer find the corresponding control pulse that's realized this circuit So with the help of those two you can basically create some Create describe your quantum device with a few parameters and then you can load some quantum circuit defined in Qt for example qt circuit module And then you add some noise to it you run simulation and you can see how does this circuit perform on this certain device Maybe even with some additional noise So in a more illustrative way here is a figure for the workflow So basically what you can do is that you choose some predefined backend and compiler And you give your quantum circuit as input So the compiler will then transfer your circuit into the ideal control pulse of this certain device And then the noise object will aid noise to this country to those control pulse So you can have here for example face Pulse shape noise or some additional noisy noisy signal We then patch all those things together Create a physics module around it and send it to the qt server So the server will show you how is the system looks like as a function of time So as an example, we have a simple doidjosa algorithm implemented On our tutorial page. So tutorials in the form of trooper notebook. You can Look at that you can read the instruction and also run the code by yourself at the same time So we have a very simple doidjosa circuit here of three qubits And we find the control pulse of this algorithm One called spin Chen model So each color here in this figure We present a different control Hamiltonian basically a different control pulse And those control pulse will realize this circuit. So those higher pulse is for s0 And these those ones are for the c0 gate So in the in the notebook, you can find that we round this circuit And compare the results these and without some additional noise the summary So this new module in this new module we produce a structured framework that can help you to simulate your quantum device So offer this pulse level control interface and with this Noise with this way of defining noise. You can actually simulate your device in a more way closer to physics So we will transfer the gate into the control pulse also in noise to it With the help of back end and compiler you can actually set up your device a simulator of a device With a few lines of code So there's a lot of potential use cases for this So for example because we are now running running a simulation you can actually turn on turn off noise Means that I can compare the influence of different kind of noise So in this way you can actually determine or at least study Guarantuation what is actually the dominant noise in my system If you are like Design a quantum algorithm, you can also give your quantum algorithm as an input to our system And then you see that you can see that how does the algorithm perform a certain kind of device or how Or is my algorithm sensitive to some certain kind of noise So addition you can also use it to for example test some noise mitigation scheme So there's a there's a paper from IBM where they use this extrapolation to Mitigate noise basically what they do is that They have a parameter that characterize the strength of noise and they run their device real physical device For different noise strength and there's an extrapolate back to find. Okay. What It does the result looks like if I have no noise So because the argument is big basically at the level of Antonian and this Module will be useful to for example verification their results or maybe even do some improvement Now with this I'll go to the end of my talk. So those are the Developers for Qtip. So because Qtip is actually already Eight or nine year old there has been different generations of developers So those two are the original developer in from japan And so they have nice paper published So if you are using Qtip for your research, please tell society And those are the current lead developers You can see that we have people from basically all around the world from europe From canada from japan And we also have dozens of other contributors who Contribute to the qtip project So if you are interested In this project or in general in qtip you can you are very welcome to visit our website And we have tutorials in form of trip to notebooks. So there's so a few tutorials about this project And you can find them on our Tutorial webpage or self-documentations for user guide and api and also If you're interested in the code, welcome to go to our github page. And if you if you find some bugs or Maybe even typos in documentation You are very welcome to point this out to help us improve things And also you can also contribute your own code and let it become part of qtip So another way another very nice way of Contributing and become the one of the one of the community is through the go-go summer of code So this year we are participating again in go-go summer of code So between may and august So if you are about to graduate in a few months or you are going to have a very long holiday You can this is a very nice way to Join the team So you can find a few projects proposed on this page a few more is to come And you are also very welcome to bring out own project. So what do you want to do with qtip? Or what you want to aid to qtip? So because I am a student of last year I very highly recommend it if you are interested in open software development So even if you have zero experience You it's it's also okay because you are going to be mentored by the qtip members both from the Coding side and from the physics side So and also go-go will give you a scholarship for few months for support And so this is my block of last year So I where I wrote some of my some of our ideas and what the problem we're trying to solve And also some of kind of our A method we used And at the very end a small advertisement for myself So I'm a master student that is about to graduate this summer and looking for PhD positions. So if And if you have some nice project and find my background might be helpful, please contact me Okay, uh with this I'll thank you for your attention. Thank you very much. Yeah, are there any questions? Hi, what format are the control pulses emitted in the back end of q-tip? Is it like splines frequency domain time domain? sorry The control pulses that the back end emits that are device specific. What's the format or how are they represented? Is it like uh splines or frequency domain or Uh, it's it's it's basically just uh as uh figure I showed before the control Hamiltonian form. So we don't have we don't yet have a like A back end for iron trap design yet It's the development but basically what we consist of is the Hamiltonian correspond Hamiltonian the target pulse And that will define characterize your device device Okay, cool. Thank you. Yeah So you were talking about the difference noises What happens if in your gate if you have some Structure defect or surface defect. Did you do such study? Like will it modify or distort your output pulse? Um, it's basically determined. So this part will come into the back end So now we only have back end for some very limited range of devices and I think Um The those like defective mention will be very small part like in the device and can be Maybe modified how the evolution is running back end. You can do that But it will depend very highly on what kind of system it is, right? We got time for one more. I was wondering this Solving of a differential equation. Is this just uh cutting it up a very time small uh small time steps and just running through it? Or is there something more clever happening in the back? There are different approaches. So there is um Differential equation approach you use something similar to doing kuta not exactly and solve it and there's also the Monte Carlo approach. So uh, you basically Be different simple south enough approaches with different kind of collapse operator Link blood operator, and then you take the average of different Monte Carlo trace That's a that's that's a typical way to do this like in quantum optics and this Field, yeah Okay, so let's thank boxy one more time