 The last day, I recognize most of you should be exhausted by the amount of lectures, hackathon, competition, and the amount of code you've written in the past few days. You worked really hard in the last two days about different use cases. So we have 16 teams and 16 use cases, all different. Today you're gonna give your presentation, so we did split the 16 teams into two groups of eight teams and each group will have a different jury and the best two teams from each jury will be said to be the winning teams. The use cases you've been working on for the past two days or so were a combination of use cases brought by the industry and internal use cases brought by Quentinium and those are, I would say, much more complex and major than the use cases you could have found two or three years ago. And it's a testimony of how the whole industry of the whole field kind of evolved in the past two days. So first of all, thank you very much for being part of that. It's not a trivial effort by far, so I recognize that when I saw all the different teams in different rooms, you were working hard and those are not easy problems. If the problems you were tackling in two days could be solved in two days, people would know it and the industry would be totally different. But this is only the beginning. You've been working in the past two days with a team, maybe gonna collaborate again and continue working with the teams. And maybe the mentors, either the mentors from Quentinium or the mentors from the industrial companies. And I actually strongly encourage all the different companies that came to the Hackathon to reinvite again the participants internally to give internally the presentations to keep a momentum after the Hackathon. Because we don't want a Hackathon, we don't want the whole quantum efforts to stop tonight. We want to have a momentum and continue because we're building together something that is not only for this week but for the next years or decades to come. So you will be given your presentations this morning until around 12 ish. So every single team is gonna give a presentation of 10 minutes plus five minutes of questions and answers. As I told you on Friday morning, yeah, Friday morning, you will be judged by both the jury members and the mentors. So the ratio of the marks is like two for the jury and one for it from your mentors. And after we're done with the presentation, we'll reconvene this afternoon in an exceptional venue in Central Trieste called La Salar Picola Fenice. We'll have shuttles bringing you from the ACTP to there. And we'll have welcome speech from the director of the ACTP and the founder of Concinium and we'll be giving all the awards and we'll have a fun cocktail time and you'll be able to network with the people from the different companies or from Concinium and you'll be able to relax after this intense week and I know what it is. So on this short introduction, I will let Thomas re-indicate again the splitting of the two teams, say the team names assigned to the two juries and he'll be the master of the ceremony. So Thomas, please go ahead. We did all the food for 140 people, so you better eat. It's gonna be very quick. I'm just gonna say which team will move to the second room, our La Stasi on the first floor. And can you hear me? No, further away. Okay, perfect. And which teams will stay here? So in the team that will leave our team number two, Air Jordan Wigner, the team number three, with no names, I don't know, team number six, Annie Sun, team number eight, Captain Quantum, team number 11, D-Ractors, team number 12, ZX, team number 13, Alpha plus minus Alpha, and team 14, Q Disco Cirque. You can already stand up. Oh, and use your laptop for the presentation, actually. Yeah, if that's okay. And every other team, I'm just gonna repeat them to avoid confusion, but every other team stays here. So that will be team one, Quantum Anti-Frode Squad, team four, GBQ, G-Beak. Team five, five guys, team seven, Average Dodo Enjoyers, team nine, no name, team 10, no name, team 15, Quantum Firecats, and team 16, Eigen Criminals. Okay, and that will be the order of passage. So I will welcome team one, Quantum Anti-Frode Squad, to start set up con calma. There's no rush for now. We're waiting for your call. I can use it with me. Go ahead. Go ahead. I'll put it here. Put it here. We'll use this one. Okay. And then I'll put it here. I'm gonna use this one. I'm gonna use this one. I'm gonna use this one. It's working. I don't know if it's working. Bravo, bravo. You need to just slide up, speak. Slide up? Yes. For talking, slide up. Just speaking for a minute. So can you hear me? Yeah. Hello everybody. We are Quantum Anti-Frode Squad. As the name of the team says, we were tasked by Intesa San Paolo to solve a fraud detection problem with quantum machine learning algorithm. So in this presentation, we will start by seeing the data and then apply classical methods to analyze them. Then we will move to quantum and compare the results of the two approaches. So let's start with data. We had a highly unbalanced data set containing 500,000 financial transactions and as you can see in this graph, I already had 10 transactions per users. We recovered 99% of our distribution. The data set has 15 different features. Some of them are continuous like the timestamp at which the transaction occurs in time and others are categorical. Like for example, the ID of the bank user. We have just one column for the target, which is the fraud column. Here, the entries are binary and zero stands for illegal transactions while one stands for a fraudulent one. The problem is that this data set is highly unbalanced. In fact, the ratio of the ones over the zeros, it's like 2%. So the ones are 2% of our total data set, so to speak. And we tried to overcome this problem with quantum computing methods, but we also applied some classical methods to see the performance and compare them. So first of all, we did some reduction of the data. The first one, we applied PCA to reduce the features from 15 to two. And second one, we reduced the total number of entries because we need to produce some results before the end of this hackathon, so it was quite needed. For example, here we have a population of 1,000. You can see the two reduced features and how they displaced themselves in the plane for the train set and the test set. In orange, we outlined the faulty transactions and in blue, the regular one. And as you can see from this graph, there is no trivial kernel function which can split the faulty from the legal ones. So this problem is not trivial. And as I was saying, first of all, we applied some classical machine learning algorithms. We applied logistic regression which squashes the results of the predictions between zero and one to interpret them as probabilities. We also applied Axe G-boosts, which relies on a treat the cheese yarns algorithm. And also a support vector machine which tries to find the best hypersurface which splits the true predictions from the false one. We also tried to use a time series approach for this data set, but we concluded that it was not a possible way. And so we just stopped at trying to solve this problem with a time series approach. So let's move to the quantum part and we'll let you speak my teammate, Antonio. So related to the quantum approach, we use a variational quantum circuit which is a hybrid model composed by a quantum evaluation and a classical optimizer. The variational quantum circuit is composed of an encoding circuit in green here and a variational part in red. And the encoding part is used to embed the data in the quantum circuit while for the variational is composed of rotational angle, rotational gates, and the angle parameter are optimized classically. Moving to the model developed, we use for the encoding, we use an encoding with Eric's gate and Eric's Ceylon gate. And then for the variational part, is composed of a rotational gate followed by an entangling blocker with C naught. And this kind of circuit is also developed by Maria Shuld in this article, circuit centric quantum classifier and for our model, we use eight different parameter layer. And another technique developed is the reploding technique which consists of re-encoded data. Each time a new parameter block is added and we try the model without this technique. Now we proceed analyzing the obtained results. As my colleague mentioned, we performed the test considering 10 number of epochs and using as encoding technique Eric's and Eric's Ceylon and with two features. On the Ceylon axis, we have the recall which is the most important figure of merit for this kind of application which is the percentage of samples correctly classified for the belonging in the class of interest that in this case is the class one, one of the fraud. And we have on the other axis the number of transactions for which we perform the test. We have that the quantum methods, the variational quantum classifier is the purple one and we identify the application or not of the reploding technique with a different form of the spot in particular. We have that the square purple spot which corresponds to the variational quantum circuits without the reploding technique. He's the best one for what concern the recall figure of merit and so how to perform all the other classical method considered for comparison. Then in this slide, we can see the training time of all the considered method has function of the number of transactions. We have that the variational quantum circuits is clearly the slowest one but in particular we have also that without reploding technique is faster. The quantum methods is the slowest one because we choose to perform the test using a classical simulator of a quantum computer in order to evaluate the quality of the algorithm, the quality of the approach without ever issues related on non-IDL phenomena. Then we can observe the same type of trend if you notice the runtime as function of the number of transactions and so also in this case the variational quantum circuits is the slowest due to the classical simulation of a quantum computer which requires a lot of metrics vector multiplication. In this slide, we try to consider together the recall which is the most important figure of merit and the training time fixing the number of transactions at 10,000. We have that the variational quantum circuits without the reploding technique the par-poor-square is the best one for what concern the performance and so the recall but it's clearly not really the worst one for what concerned the training time but in general the two quantum approach are the worst one. The really worst one is the variational quantum circuits with the reploding technique. The same trend can be identified if you consider the runtime as function of the recall and how our work prove that quantum computing is promising for overcoming some limitation of classical machine learning and that in particular can help in application in which the data set is strongly unbalanced like this one. We can further improve our model with more time clearly changing the type of encoding and identifying the best one with the possible in the literature and also optimizing all the hyperparameter involved in the model and clearly training and runtime should be reduced by exploiting the real hardware but when the non-ideal phenomena will be reduced with a better type of quantum hardware. Thank you for your attention. We are hoping for questions. Hi, thank you for the presentation. When you compare the classical models with the quantum, how do you make sure the comparison is fair? Like what size of the classical, what architecture of each classical model is the fair one to compare against a given variational quantum circuit of a specific size and nonsense? We use the same data set so with the APCA apply with the same type of rescaling apply in both cases. Moreover, we consider the same condition, operating conditions of the same threshold for classical method and quantum method. All these things have a more fair possible comparison between the classical and quantum method. Okay, so the way you preprocess the data set is the same, it's the same data set, of course. The same size, so the same number of transaction that is the most important. But what about the models? Because the models have hyperparameters, right? The model, sorry. The models can have hyperparameters or not? Yes, have hyperparameters and the parameters that we, that is the same in particular is for example, the threshold. So when we measure in the classical, using the classical method, we set the threshold, so to 0.1 and also for the variational quantum circuit so in this way, it's the same, the reading, it's quite, could be quite the same, so are comparable for this kind of stuff. To have the more fair possible comparison. Did you, you probably didn't have time, but I assume all these simulations with the quantum simulator was noiseless, sorry. Noiseless, yeah. This might be an unfair question. Do you have a sense of how it might perform with noise? Well, I don't. No, we have not tried with noise. Because it's for evaluating the quality of the method and having the noise can clearly decrease too much the performance for having a fair comparison with the classical method. We have not this type of problem. And could you remind me how many shots or how many shots you needed to train the... How many shots, no, we use, I don't remember, maybe one or one, no, 10,000 maybe. Cool. I have to check that. Perfect. Maybe you said this already. What is the state of the art? What is the state of the art? The state of the art, for the state of the art, for the encoding method, there are different approach. There is the amplitude encoding, which consists of encode the data as amplitude, as the amplitude of the state, sorry, I have... And we can say that for this kind of model, we developed a new type of encoding, but the RX, Erypsilon type of circuit. Why this? Because we think that this kind of encoding should, can obtain good performance for this kind of classification. Because adding some complexity on the model. And so for the... Considering the difficulties of the data set, it's better to have a more complex encoding while a more easier one. And for the amplitude encode, while for the amplitude encoding, there are some limitations for the accuracy, generally. I have tried this. And last question. What do people use in the real world? That's what I mean by the state of the art. What models are used in industry for this problem? For this kind of model. In the industry, so in Tesla, they tried this kind in the classical world, or... The classical world, what is the method that they use? Or generally, they use a logistic, it's a G-Boost SVM, generally. So the model that... So it's one of the things you tried? Yes. Okay. The best one, classically, is the logistic regression currently. But we have to perform a hit with our model. All right, thank you. Let's give them a round of applause. Team two, the second team here. Team four, yeah. Yep, does it connect with... Yes, with cable. And the pointer's already... Or it was from them. Them? Yeah, at the point. And does it also pass the slides, or it has to pass on the laptop? If you have the laptop... Yeah, it can connect with the user interface. Yes, if they take it out then. So... Okay, perfect. And this is mirroring the screen, or extending it? Yeah, he's setting the screen. We'll have to go to display. This. Right? Yes. Let's try it. Which is the microphone that you want to enter? That too. Both, sir. Yes, you need to speak in front of all the microphone. Why is it not... We can try with the... I hear it says that the mirror is the other monitor. Or you can send it by the representation. Maybe with the adapter we do directly HDMI here. There's an HDMI here. We can try. It's not up here. Yeah, it sounds like. It's the last version of Slack. Okay, so from there, I think we'll take some eye. Okay. Perfect. Okay, so the pointer... Please speak, or we'll see in front of the internet. So the pointer, how does it work then? Just the pointer has to hold it. Ah, okay. I'm crazy. Okay, so you should point like this, right? Yes, you can check the changes with the pointer. Okay. No, the pointer can change. Ah, okay, okay. Does it change? Yes. Oh, cool. But should I... So if I should stay here, I cannot really see the lights too much. So you can stay here. Come here. But the microphone doesn't work, right? Okay. Oh, I just can just stay here and it's fine. I can point even with the arrow on the... Yes, yes. Okay. Okay, okay, it's fine. Can I just start when you want? I can start? Okay, okay, nice. Okay, good morning. We are a group four and we worked with Generali on the analysis of systemic credit risk on its devices and we implemented an approach based on QAOA and digitalized counter-diabatic QAOA. So we were supervised by Matteo and mentored by Yosemite. Just as a brief outline of the problem, financial markets and institutions are nowadays highly interconnected, like in a network. So the default or the downgrade, which means the failure or the risk of failure of a company can affect other companies. And in particular, there can be a contagion effect just like it's in a network. So it is interesting to try to estimate quantitatively this contagion effect through the market. In our case, we were concerned with a smaller subsection of the financial market that we can think about as a portfolio. So a portfolio for our interests is just a collection of companies that we can label from one to one, on which we invested if, for instance, we are the owners of the portfolio. So if you map each company to the vertex of a graph, then you can ask yourself, the following question, say, for instance, a company one fails. Does the risk propagate to company three with a probability that it is larger than zero? If so, you draw an edge of a directed weighted graph with the weight of the edge that is proportional to the probability of contagion. So in the end of the day, the portfolio can be represented as a directed acyclic graph with weighted edges. And in particular, in this example, you can see, for instance, that the number one is a big company that is affecting most of the market that it is interconnected with. So if company one fails, it is a problem for the rest of the network, while the seven can be thought as a small startup. It is influenced by the rest of the network, but itself, if it fails, it doesn't really influence the rest of the financial market. Yeah, sure. Yes, yes. I mean, the direction is important. So you can have an arrow pointing from one to three. It means that if one... You can also have an arrow pointing from three to one, in the same network. Okay. This is actually, if you write a cost function, you pay a cost for it. So it's something we don't want in the solution. So in principle, an optimal solution should not have these double arrows. You can have it, but in the cost function, if you have a term like this, you pay an energy cost. Okay. So there is a penalty for it somehow. Because it's usually not... I mean, it can be the case that both companies influence each other. It can be the case. In the cubo formulation that I'm going to talk about shortly, which is taken from other papers, they really don't... I mean, it's possible, but they don't... a probability on that it is high. Something like a rare probability, a small probability for these configurations. So in practice, in our problem, we have a dataset which is a collection of time series. We have a time series for each of the companies of the market. And in particular, this data, I mean, they're a little bit complicated and coming from the financial world. They are the fourth credit swap. But for our interest, I mean, for our concerns, they are basically an estimate of the risk. So if you have high values of these functions, it means that you have a high risk of failure. And for instance, here, you see this peak in 2020. It was due to the pandemic shock. While here, more recently, this year, there was this crisis initiated by the Silicon Valley Bank that propagated through the network. And you see that also credit Suisse had a very high risk of default in India and it actually has a high risk of failure. Very high risk of default. And in the end, it actually defaulted. And the same, you see there is a correlation with the other companies. So I mean, I don't have time to go through the details. But the idea is that you take this time series. You take a snapshot of them. So a finite interval of time. And you also translate in time this snapshot so that you count for causality from one snapshot to the other. And then what you want to do is, given this dataset, it's an inverse problem. You want to reconstruct the optimal graph that is describing this propagation of risk through the network. So let's say that after two plus hours of interesting modeling calculations, this can be mapped into a problem. And in particular, you have different terms in the Hamiltonian. You have a cost function, which is just representing the cost of a graph. So you want to minimize it. And then we have some penalties. So we have one penalty that is accounted for the existence of the maximum number of parents for a node. So this means that, for instance, if you fix M equal to, you pay an energy cost in this configuration where you have three parents pointing to the same node. While, yes, you also have a penalty if you have three cycles, because it is something you don't want to have usually. So if you have N companies and you fix this parameter M equals 2, you have a Kubo formulation with a number of binary variables that scales quadratically. And you can do the usual encoding, the base encoding in the quantum spins and powers. So the name of our group is generally Battery Fitties Quantum, and we also added gate-based, because the previous work was done with quantum annealers, which have usually a limited connectivity and you are restricted to Kubo problems. In our case, it is M equal to. So if you have M larger or equal than 3, it's not a Kubo problem. It implies higher-order terms in the Z-parlies. So we use a gate-based approach. And in particular, I mean, I don't have the time to go through the details of QAOA, but it is basically a hybrid-classical variation algorithm where you have an ansatz, it is layered. Each layer has a structure. In one case, QAOA, you have a mixer term generated by Parliax and the problem in Miltonian. In the other case, you have a term coming from the theory of counter-dabioticity. So the main improvements of our methods in the state of the art are that we have all-to-all connectivity. For instance, in quantum devices, we perform the simulation on the emulator and we can think about future work. And also we can go beyond Kubo because we can implement higher-order terms with the usual decomposition into gates. So I say that the number of qubits stays quadratically in the number of companies. So the number of nodes of the network, but actually there can be a dimensionality reduction that can be performed with some missiles. And you see that you still have a quadratic scaling, but this is quite improved in practice. So you have the number of qubits on the y-axis and you see that, I mean, you can perform simulation with a larger number of companies also on these devices. So now I will leave the floor to my friend for the results. The algorithm for dimensionality reduction was already implemented, but the idea is that if you have a matrix described in the correlation between companies, you put basically a threshold on the correlations and you ignore those matrix elements that are small enough. So you kind of put a threshold. So the matrix is now sparse. Sorry? Yeah, yeah, exactly. So now you have a sparse matrix and this makes it easier. You can reduce the number of qubits that you need for your encoding. I mean, to be honest, I didn't have the time to go through the details. So how you actually find this Kubo formulation is a long calculation, but if you put the constraints the number of variables you need are less. Yeah, so for results basically the first thing we want to show here is the actual optimization problem, the outcome of the optimization using QAOA and DC QAOA. So we ran this problem for a thousand steps for both three, four and five companies and this corresponds to nine, 10 and 15 qubits and here we're basically showing that for each problem we ran 20 instances of QAOA and DC QAOA and in the graphs we have as the dashed line is the average of these 20 instances the shaded area is basically the standard deviation from it and the solid colors are the best case so the case that achieved a better result. In this case the better result what we want is to achieve higher values closer to one because this is the normalized energy so we divide the energy that we are finding in our circuit from the exact ground state energy so higher is better and as we can see here DC QAOA outperformed by far QAOA in this case we found using QAOA algorithms specifically both cases for p equals one, so for one layer we found with QAOA let's say half of the actual energy that we wanted to achieve and DC QAOA usually converged way closer to 90 a lot percent let's say another interesting outcome is actually analyzing as I said we ran this problem for 20 instances for each case for like 3, 4 and 5 companies so it's interesting to see the success probability for each one of these instances that a problem is ran so basically this means how probable it is that in that instance I actually found the correct ground state and we see that for 3 companies 9 qubits we basically for most of the instances we found the ground state or have a very very high probability of finding the ground state and that changes a little bit when we increase the dimension of the problem and we have 4 and 5 instances because then we go to a more sparse regime let's say where just in a few of the instances I actually found non-zero probability of finding the ground states and specifically for 4 companies in this cases that is non-zero at least is still very high like 90 a lot of percent but for 5 it starts to decrease a little bit and this ranges from 50 to 70 percent for the non-zero instances so basically we run a lot of times and you calculate when you find the ground state right so exactly it's the quite a model when you solve the problem we get a bit string because it's a classical amytonian and bit string will solve the problem we can decode in this probability of finding that bit string so for example in this case for example it's 60 percent so we get 60 percent probability all over the ground state perfect yes we are simulator with Adam why not yes what we do can do on one of the devices is find the gradients using parameter shift rule and then we can apply Adam because once we have gradients there is a function to evaluate parameter shift rule is much easier to do in the experiment and that's what we've done here here also we are using parameter shift rule also for the simulation so we need to keep track what will happen with the real device as I said before we ran this problem multiple times first in simulation but then we also ran it one instance of the problem one instance of the problem specifically for the case of five companies on the emulator the continuum emulator H11 here we are showing the result that we got out of it we are basically in the x-axis we have the possible states of our system and the probability of actually that state occur in the emulation so and this the high bar here is actually ground state so in this in this run we found that the ground state is 60 something 66 around percent probability and this graph that is being shown inside the picture is basically the representation of the network and the directed graph that Peter explained based on this bit string that is the output of the model yeah so just to summarize and give some perspectives we implemented a variational quantum algorithm for a financial use case and we saw that we can improve scalability and improve quantum circuit ansatz we did some actual experiments on the high quantum emulator and that can help us prove that the actual problem is actually implementable and for future work as was mentioned before this uneven part was only possible to solve this problem for cubal formulations and we think that we can we know that with our approach we can actually run it for beyond cubal problems so we can find higher correlations and we also want to perform actual experiments like on actual devices so we can run this weekend but it was not possible and also another interesting problem is including time dependence so that our actually financial network is not static but it varies in time so we can analyze how that affects the approach and yeah that was it thank you thank you very much in the interest of time I'll only take one question, Kiran do you want to go to Konstantinos you compared the two QAOAs against each other yes what about classical stuff classical methods classical methods with similar any classical methods has already been shown complexity of NP-Complete so this problem is NP-Complete learning Bayesian networks so we didn't go for it because we already knew kind of what complexity it is and the other reason was we wanted to go just for NISC devices so we have around 20 qubits available so we thought it would be a better alternative to just stick to making the one-term process is better so better than QAOA and then just compare both the one-term methods yeah so we already knew the complexity one thing to keep in mind is one thing is the theoretical complexity which is worst case scenario principle but here this is in practice and it's average case and finite system sizes and stuff like that so if you were to write a paper on this you would have to have a classical method to compare against some baseline to see if you beat it with QAOA and then you need a fair way to compare do you have an idea what would that be if you wanted to do it yeah the classical method would be some classical machine learning on the Bayesian network to be fair and honest clearly you can take a larger system sizes with classical methods because you see the scaling is actually pretty good but you can do a way larger number of companies it would be interesting for sure to benchmark our quantum methods versus the classical in the regime where we can actually perform the quantum simulations this would be very interesting and I think the code is also available so we can actually do it if we go on working on that nice thanks before trying the machine learning I would just try to do some you know energy minimization on the classical basically we can do simulated annealing because QAOA is kind of annealing yeah yeah this would be the first step to go yeah yeah thank you five guys love the name by the way start when you're ready of course okay yeah it's connected no it's not the key I think we need to see the settings is it this one that is projected? yes is it supposed to display here before? no that one and the big screen sometimes like the connectors are big cheating okay okay alright good morning everyone we are the five guys working on the quandela challenge which is all about the variational quantum again solva on photonic devices so so we are going to go straight into our problem statement which is all about finding the ground state of some molecule maybe for example in our case which we took hydrogen the hydrogen molecule and the lithium hydride molecule we want to find the ground state of this molecule so the problem can be modeled as in terms of the time independent Schrodinger equation which is given in terms of the eigenvalue problem and our Newtonian which is the electronical Newtonian as such so we must note that this electronic Hamiltonian is quite difficult to implement on a classical on a quantum computer so we are going to do some steps which we are not going to our linear which is going to put the Hamiltonian in a form which can be implemented in a quantum computer so in this we are going to use the variational quantum to find the ground state of this Hamiltonian so what are we going to do we are going to start with a wave function which is some given parameters so we are going to parameterize this wave function and then use it to find the ground state of the Hamiltonian of our system which we are going to be working on this setup is the setup for the variational quantum mega solver which we are going to prepare our ground state, our wave function which is in terms of the parameters we are going to prepare it with some quantum gates and we are going to in terms of some parameters we are going to be iteratively changing this parameter until we are going to have a better approximation of the ground state of this Hamiltonian so to continue with our problem I'm going to give an opportunity for my remember to continue to solve this problem we use a photonic device which is a bit different as a gate based like in the way we have to program it indeed instead of qubits we what are the variables h i, h i j we started with the Schengel equation in the continuum before so you have electrons going around ions and now they became spins what's the encoding you need to make some mapping with Jordan-Wigner transformation in order to get to this Hamiltonian okay by Jordan-Wigner transformation works on a chain yeah but here you have like I think you can encompass this in terms of creation and annihilation operators for the electrons with two sides basically because you have yep okay and for you I'm not completely sure about that but because you have two electrons in the end for the h2 for example so do you discretize space in a lattice do you use an orbital basis what do you do this Hamiltonian was in the description of our problem so I guess this is the way we have to modelize it I don't want to take more time please go on so we're using photonic device so the way to program a circuit in a photonic device is a bit different because we don't have qubits we have optical modes and we can see that to create a qubit with a optical device we can use two modes and for instance the state zero will be one photon in the first mode zero photon in the second mode and state one will be zero photon in the first mode and one photon in the second mode also we don't have gates but we have two tools like one beam splitter and a phase shifter both can be parameterized so beam splitter can rotate the state we can parameterize the angle and a phase shifter can parameterize phase so to implement the circuit we first wrote a gate-based version so the idea is to explore all the space with two qubits so we created this circuit with seven parameters and then we found a way to implement it with a photonic device so instead of two qubits we have four modes and we use like a beam splitter and some phase shifters here and in the middle we have like a synod gate which we will present in the next slide how it's implemented about the synod gate so of course we know that we have to translate gates to the photonic gates so the first way to do a synod gate is of course with four channels and this is what we've done in the classical simulation of the device but when you go to the actual photonic device because of the photonic nature there is many mistakes that are going to happen and you're going to have to check if the result is good correct or incorrect so that you need to add in the synod gate two additional channels that are here and this one here and the rest of it is just the synod gate how it is done with the beam splitters and then once we know how to do those synod gates we can come back to the general to the general architecture of the process so the first thing is we need to run the circuit on the photonic device this has to be done multiple times the reason for that is that we're going to measure the mean value of police and if you want to compute the mean value of the x-police or the z-police for example you need to run the circuit multiple times once this is done ok so you run the circuit and then you compute the mean energy so in order to do this you need to have a translation from the photonic device to the qubit qubit basis I mean the poly basis and then once this is done you just run this function many times and optimize the parameter right in order to minimize this energy yeah we can now show our results and actually like we can see that our simulation our expected values from the theoretical model are perfectly fit each other so like we were really glad of getting this plot because behind each one of these points there is an optimization variation quantum that is run and is given the right answer and it gives so we see a very good accordance with the simulation so these are simulations, these are experiments then we tried to use also to run our algorithm also on a qpu by candela and actually like we can see we tried with noise that you like through the use of some parameters that you can set when you build up your circuit and what we got is not really we tried these for just one ground energy so one so just one value this is the value we were expecting and we can see that we didn't achieve that because like this is this represent the number of iterations and the value of energy so we see we expect the energy to go down to the ground state energy but we see that we weren't able to achieve this probably because we didn't give enough iteration so because the circuit implemented had some problems with the parameters and we have been studying this problem yesterday night also but didn't find any answer so yeah this is what we got so far alright so after doing the hydrogen atom we want to extend to bigger molecules so the lithium hydrogen atom and for the lithium hydrogen we need 4 qubits and one of these little units of unitary c0 and unitary is a small unit and we want to figure out where we want to put our c0 gates so that we use minimal possible c0 gates because the more c0s we introduce into our system the more complicated the algorithm becomes and the more time it takes to run and so to choose which qubits we want to put the c0 gates on we want to compute some entanglement coefficient to see which qubits are the most entangled and we use this formula which is based on von Neumann entropy to compute these coefficients to tell us how entangled any two qubits are and we found that q1 and q2 are very entangled, q1 and q3 and q2 and q3 so the main learnings and challenges from this project for us was learning how to scale to larger molecules because it's more computationally expensive and also we learned that photonics is a great technology and also running in the cloud is quite challenging as well because we introduce other problems we'll take any questions and thank you for listening so can I ask you a question is a question from the back so the input state I think we have some code for it we kind of took it from one of these papers based on MI I don't remember what MI stands for I'm not sure we don't know which classical method with the real simulation on QPU actually our results were not really encouraging because it was taking really long time to take each of these iterations and at some point it wasn't converging like we see that it starts oscillating and we think that it was because there are two actual ways to implement the C not on a quantum device for the simulation we used one but for the real QPU we used another one and I think that that affects the parameter in some kind of way that we weren't able to figure out in time for this presentation so actually yeah we can see that it doesn't converge while if we made also the same plot for the simulation and we saw that actually the loss function that the energy is always in this part of the graph there were some problems I think due to the C not gate I was a little confused on this plot so is one the simulator and one is the actual device because it says noise and one says this was like we ran two simulations on the quantum processor and you can actually set some parameters with the simulation on the QPU to reduce the noise or not and so we tried them both first actually mostly as a mistake because we didn't see that there were tunable parameters so we tried with noise and without noise we didn't see that this signal is more clear than this but this is the main difference between the two okay thanks that's going to be team 7 now average dodo and joyers working on a cryptography use case where is presentation slide show how do I and if they ask question are you able to lap do you want to have a pointer use that connect so I can change the slide with this yes forward previous top one for pointing it's not mirror at the screen you cannot yes we need to go back because it's not mirror then I do okay okay hi everyone thank you for being here we are team average dodo enjoyers with our challenge about quantum cryptography the presentation will follow these steps we first have a brief introduction about cyber security particularly in the energy sector and then talk about the advantages of using quantum computing and then we'll dive into the challenge with our solution okay so as this data shows the number of attacks I've been steadily growing in the last years and it is forecasted that the total amount the total loss due to cyber criminals will reach a trillion by 2025 the energy sector is particularly affected by cyber criminals due to its central role to the world economy so it is paramount for these companies to be up to date when it comes to cyber security quantum cryptography may offer an help and provide a powerful tool particularly we would like to use quantum computing to generate randomness in fact classical way of random number generators are not really random and this may pose may pose a vulnerability that can be exploited on the other hand quantum quantum computers and quantum systems are inherently random so we would like to leverage this randomness for our scopes unfortunately due to the sensitivity of these systems noise may disrupt noise caused either by the environment or an adversarial attack may disrupt this randomness we want to create leave the word to my teammate so now that we've seen a bit about the context let's dive into the challenge that we had so quantifying randomness in a noisy quantum circuit so we provide the randomness the random numbers with a quantum circuit that is noisy and we try to see how this noisiness affects the randomness of the numbers so first things first why, what is it quantifying randomness, how do we do it so we don't want just to generate something random we actually want to be sure that it is random so it is important in quantum cryptography to actually measure the randomness so you're all thinking we do it with Shannon entropy the only problem is that Shannon entropy can overestimate the randomness of what you give it so we actually use here the minimum entropy so we have the formula here so it takes the worst case scenario and so that actually interests us for cryptography because we want to know what can happen in the worst case scenario so what can we get as a maximum random state we want just from distribution outputs so we do that with just all had a marginal circuit since we are doing it with quantum circuits so we were given to test the noise a toy model so we actually had the code of the toy model which provides noise but we just say that it's a black box and that we tried a few circuits to see how it reacted to it so first if we feed it to completely like the circuit circuit we're supposed to provide a uniform distribution so for example a whole ademard circuit we can see here what it does there's no noise and then when we apply the noise so we see that there's a little difference and then we try it with a different circuit that is also supposed to provide a uniform distribution but that is different so the noise should maybe act differently on it and we can sort of see that it does act differently on it but this is actually like the noisy part of this is less noisy than the first one yes so we have the yeah we had the main entropy we just didn't really put it in for some reason but we do have these somewhere and then could so the previous graph don't seems like to be there is there is no difference between the results from the all ademard circuits and the ademard and C0 gate circuits affected by the noise in the previous graph there is no difference and that's what is not what we expected to see now I will tell why we doesn't expect that so we studied the noise model and reading the code we figure out how the noise model works and all what it does is to nullify the effect of the last single qubit gate for each single qubit and the probability of doing that is parametrized by the parameter lambda and this is what we figure out but so the gates that are not single qubit but are multiple qubit I am a bit confused so at the beginning you have a circuit which just generates a random string, uniformly distributed ideally with probability 1 over 2 to the end I get one of this enough to have other mart gates yes it's enough then you started talking about noise okay then we apply a noise model to the circuits and what the toy model does after we figure out what the toy model does by studying experiments and also reading the code of the toy model and you have you seen the results the previous results from the whole other mart circuits with the noise just a second the c-node gates that connect the qubits to see down here what are they? why do you need them? these the whole other mart circuits and circuit with other mart and c-node are two different circuits that generate a uniform distribution but are different circuits we want to see how the noise model affects these two types of circuits and see the differences and the so the this is the other mart and c-node the ancillas are just to reading out the qubits yes the so that symbol is just a measure yes of course so now you have a noise model for your gates so the gates are imperfect in some sense the toy model is a black box the toy model is implemented in order to have a noise that you don't know where the noise comes from the noise can come from the single gate measurement the single gate itself from the preparation of the state from the measurement and so the toy model is a black box that will ruin your results stops so of course there is we'll write the code that implement the toy model want to also simulate the gate error but it's not the only error the toy model the toy model is a black box that will only ruin the results of our circles independently of the type of noise it's a black box but so what we study the experiments and we read the code and we figure out how this toy model works and the effect is to nullify the last single qubit gate for each single qubit and the probability of doing that is lambda okay so when lambda when the noise is applied is applied to all the qubit simultaneously so you can figure out that you can avoid this noise by for example choose c0 to the same qubit that will result in an identity but then the circuits will not be affected by the noise because the toy model is this toy model this toy noise model is quite easy an example of a circuits that will not affect by this toy model toy noise model is the gx z state for three qubits and we call this type of gate because the noise will not pass from that point on on the circuits so the the c0 act as a barrier so why our results don't show differences between the two circuits the circuit with all adamant and circuit with adamant and c0 it's because the vanilla implementation of the toys the noise model have lambda equal to 0.5 and if we improve the model by changing the value of lambda we will raise up the probability of up in the noise and we mainly will see a better distinguish between the first circuits and the second one but what we have done is not only this we also improved the noise model by adding the feature that will add a probability of up in the noise that is independent for each single qubit now in the graph that is the last thing that I will tell to you because I have to pass the the graph this is a graph that will show the experimental results the orange dots are the experimental results of the circuit with adamant and c0 adamant and c0 but there are we have questions adamant and c0 circuits with adamant and c0 are the dotted circuit dotted line and the line the red line is the results of the circuit with all the adamant and you can see that the the circuits with the c0 have a lower bound to the entropy and that is good that is good because this is useful to our test to have a lower bound to the minimal entropy the worst case scenario have a lower bound is really good here I go I will be very very quick so how do we change this but do I have 2 points can I ask you some help from someone come on for us yeah we are trying we are trying he is dying can you change the because yeah I am trying can you take a look ok cut my friend is taking a pc so maybe we can look at the presentation even though the photo is very cute touch ok now it is working this one so I will be very very I will be very very quick so what we talked about so far the first part of the challenge now we go into a theoretical point of view and we assume that there is not a toy model there is whatever circuit we want as a noise model so how things change we have to look at the worst case scenario because in cryptography that is everything that matters only that so if we have any circuit that implements any state which is you lambda such that epsion which is the gate of the noise and does what you does so what does that mean h-min is zero because we only have one state and that is not good so single circuit approach is not enough we cannot hope to find the circuit that is perfect what we what people do is take random circuits and makes this certificate protocol which is based on the belzin equality the general approach is quite difficult we implemented it on the simple case which is as you we take the ghz state which is hc0 and then we take as local measurements for the first qubit one between x and z randomly for bob which is the second qubit we take x or z but followed by a rotation on the y axis parameterized by theta so what we do we measure after that we post-process the statistics and we build the estimator which is c which is a function of the expectation values and we have two bounds classical bound is 2 quantum bound is 2 square root of 2 so if we have c that is greater than 2 we are happy because we are carrying some entropy we cannot go greater than 2 square root of 2 that's the maximum and it carries one bit of entropy so ghz is a good state because it's easy to implement but it can take the maximum entropy it only takes one bit of entropy even though it's made of n qubit so what we do we check that belz inequality are violated if they are violated we take the measurements so we have a string that is the output of this circuit then we have to use a randomness extractor to search between all the strings and between the garbage find that bit of entropy which is truly random so we will have as an output of the randomness extractor a shorter string but that will be truly random we use randomness extractor from quantum origin product which is developed by quantinum and I have to stress two things the first is that this approach is device independent because we didn't assume anything on the noise model the second thing is that this second part of the challenge is theoretically motivated we actually implemented the randomness extractor so we actually used the package we can take a string from the device put into extractor and have a shorter string which is random so super quick and we just maybe visit and do a direct to our example we use a case with the okay inequality are filled, fulfilled we have one bit, every two bits of information and that's what we see we take our random string that violates perfectly the GSH inequality we pass it from random noise extractor and we get four bits from a string that should have four but one every two we get four bits of information that's it, that's our Github we want to thank our mentor, quantinum and ACTP for providing the challenge and organizing this event and thank you so much, sorry for the time hello so you said that this is kind of a device in the dependent approach in the sense that you don't need to know about the noise model that the machine uses but here you're running on a simulator and you produce some bits that we kind of call random because you violated the bound but obviously no true randomness is generated because you ran on a simulator so what do you think was wrong with that when I say it's completely divisive and dependent what kind of assumption do we add we assume that the way that we choose the measurement we're assuming it's completely random but it must come from somewhere so it's not truly random in that sense so we must take a starting key that has some like I explained it here a bit there we need to start with a starting key which has some randomness and we assume that the key is random but you see you ran it on a simulator so there's no non-determinism in the quantum sense because we ran it on a real machine this is a simplified version of it in this case it's very easy to study but in theory we should if we take our GSHA asymmetries if they're violated we should be able to sell that the bits are getting out random this is an easy case to study because we know the rotation is only in one bit so it's only one parameter to change but if we create a completely random circuit the GSHA inequality is violated our bits, what are getting out is truly random I think if there's actually what I'm trying to say you still need to assume that the thing that you're running on is still trying to implement a quantum computer you can't just use a simulator that's the missing part of the assumption so it's kind of what we call a semi-device independent approach but yes thank you we thought that some slides were like super weak the team can start preparing already sorry, there is a phone here can the next team already set up the two microphones two it's connected it's mirrored it's starting now the floor is yours good morning to all so the name of our team is Tiki Taka Tiki Ticket and we would like to have like special we would like to give special thanks to Callum because he had to invest a lot with us and also to Luca he was not our mentor but he helped us a lot and so this was our first quantum experiment or you say quantum project that we guys did, we are from Amhepsity and so the title of our presentation is Tifoli decomposition for Grover or Oracle so we did the Tifoli decomposition using blog post and then we compared with the one with Ticket and then we we had to write an Oracle from scratch and then we had to do the Grover's algorithm so the thing that motivated us that multi-control gates they must be compiled to single and two qubit gates before executing quantum algorithms on real devices because it's difficult to implement multi-control gates in backend so we had to decompose them using single qubits and two qubit system and then there's an efficient implementation of algorithm depends on optimizing optimizing the decomposition of multi-control gates and so if we are not able to optimize it nicely then we increase number of gates which can lead to more noise and even the depth of the circuit increases so the real life application that we guys also did was writing an Oracle and doing the implementation in Grover's algorithm and so we were more focused like we had two parts the first part was more focused on optimizing the Tifoli gates on writing oracle and implementing on Grover's algorithm so the task was divided into two categories when was like optimizing the decomposition of Tifoli gates using Krag's block post which was suggested by Callum and the second one was finding a nice and smart oracle to implement in Grover's algorithm so we had to start with like doing the decomposition using pen and paper then we did the classical approach using Encilia with using the same Krag's block post and then we did the quantum approach where we use like we use the quantum circuit simulations as like root n which like and then we compared the implementation with ticket so we proceed with our first approach so first we did with the classical Encilia approach and then we found that like it was leading to more qubits which was contributing more noise so we had to go to the quantum approach where we took the operations as root n for quantum circuits and so what we divided what we did is like breaking the n controls into sub controls and so the sub controls they have less like the sub process they have less controls and and we recursively implement the function again and again which leads to less number of gates and which leads to less noise and so this was the result that what we could implement was first was the one that we can see on the left was the implementation of the block post where we could see that this is an intermediate step that we could implement for two cubic system and the depth of the circuit seems to be 5 and the number of gates in the circuit total using the block post was 5 and the note gates that we could find was 2 and this was an intermediate intermediate step and after that like this one was with the ticket which was like decomposition with ticket so if you have less number of qubits then this seems to be fine but if your gate is like you have more number of qubits and it's then it becomes more complicated because you have more qubits so it's easy to decompose in the form of this approach now that we have optimized the gates who would like to apply to a real problem and it was adjusted to solve the traveling salesman problem on a quantum computer so as you know the traveling salesman problem you have a bunch of cities connected in some way and you want to visit each city once and only once now what you can do is a brute force search you can just do all paths and check if the path exists and if it is a path to visit each city once and only once and being a brute force search it's very amenable to a computer using Grover's algorithm so Grover's algorithm gives you in a brute first search problem like for example the traveling salesman problem a quadratic speed up respect to the classical brute force search and what you need to do for this is you have one oracle which tells you you give it a path and it tells you if the path is good or it's not and then you have the amplification or the diffuser so the difficult part here is to build the oracle because the diffuser is basically the same for any Grover's algorithm and to build the oracle you need to build classically it's very simple you give it a path it checks if the path is good and if it's good that's it if no it says no but now you need to implement this on a quantum circuit using unitary gates and doing it all by hand only with topfully gates it's a complete problem because how do you check that the path exists that is good you need to input the graph that you have for the cities it's terrible so what do you do you just do it and this is the circuit we get so this is the circuit you get for in this case four cities that you want to visit and this is just the oracle then you plug it into the diffuser and you have your Grover's algorithm if you want to do it for five cities to simulate all the qubits you need about a terabyte of RAM so we couldn't do it the graph whatever you want yes so the graph impacts the circuit itself the connectivity of the circuit so this one is for basically a square for cities and connected like this so depending on your graph you get a different circuit any you want so the number of qubits is the same for any graph the graph itself just implements and it just impacts the connections we have I don't know probably one of the last ones but okay anyway so once we have this you can no no no no so anyway this once you have this you can optimize it using the optimization they described before and then plug it into the diffuser and you have your Grover's algorithm maybe if you you can tell me some details about you want to check all paths at once so you want to take all the possible paths between let's say four vertices that pass through all the city and first you want to put to encode this path so the way we do it is each city corresponds to some number and the idea was first to basically extract the number of the city from a bit representation implemented with qubit so extract the number of the cities and then create all the paths so some of these paths will just not fit in the graph because some edges okay we just consider the equal ways maybe we are talking about different problems because we are not looking for a minimizer of the paths but just of the existence of a path connecting all the cities yes exactly just that yes we didn't have time to go to the minimization part and putting all the ways but that is a bit tricky so we discussed with our mentors and it's not that you can really minimize once you assign a way to all of these because it's very difficult to do on a quantum device so what you should do is maybe put some threshold and check that we can do and check if this graph is the way percent of this graph is less or more than this threshold and so you can isolate the paths which have a way less than your threshold but to find the actual minimum don't think it's possible yes yes but with the goal of goal of travel yes it's already something right so we have five minutes of questions a bit less actually four minutes can Luca ask a question is that fine? I'd like to ask a question about when you compare the compositions if you go under the composition slide you compare your decomposition with tickets can you maybe tell me a bit more what you take away from this comparison you're making here this one is not the comparison but like it's an intermediate step that we could do with that block was and then we have to apply the decomposition with ticket one because we couldn't finish this problem because the problem here is that you're comparing apples with pairs right because the gates using on the left are more powerful than the gates using on the right yes so these are the difficulties that we need to decompose into the other single qubit gates we'll leave all questions at the end for the speakers please so the intuition on the circuit can you give me some insight how does that reflect the graph so maybe I have three four sets of qubits so I was about saying first of all you want to represent each city in a bitwise so basically you the number of cities is given from the beginning so you can bound the bit you need and basically you just check one by one with some sine of gates either this city is the correspond to the number zero then you invert some of these qubits these will correspond to the number maybe one and you keep doing some inversion and basically you'll assign to each city the corresponding number in decimal notation so basically you have some qubits or some set of qubits representing all the cities and to each of these you will have as many as the number of the cities and these are I can be very precise with the number of qubits it is something like n squared plus n log n plus so basically in this way you will shoot just one of the unsealed which will be the one corresponding to the exact number of the city for each city in this way you can identify basically which number which number you are looking at so of all these unsealed just one of these will be shot and will be the identifier for the number of the city so this is just for encoding one path the first thing you want to check is that this path is Hamiltonian so that pass through every city so what you want to ask is that for the unsealed number as zero one etc for all the unsealed number as zero there's exactly one that has been shot for the unsealed number as one so you can do it with a scene of gate as well and save the result in some unsealed and unsealed so you will need another n of qubits so at this point you just isolated all the Hamiltonian paths from your bit strings but now you want to check that they can actually fit your graph and these you can do just looking at the degeneracy matrix so the degeneracy matrix is just classical just a small matrix and basically you check for example this one maybe something like this am I going out of line basically you check all the edges that are present in the path and you try to connect the two cities with the edge so this will isolate all the paths that can fit in the graph and basically these of you will need some other edges to some other unsealed qubit that correspond to the edges so now one side you have checked that the path is Hamiltonian on the other side you have checked that the path actually fits in the graph and then you just put a scene of gate between these two checks and you actually get a lot of scene of this which are then solved by the girl's team ok one very quick question and very quick answer please so again so we compile this weekend on a ticket and it works I mean better than no we didn't check that the answer is we haven't checked the path the timing versus the favor of ok ok thank you very much next team team 10 it's here but there is no blue screen it's not showing B like this yeah 5 minutes at 5 and 8 I guess 5 and 8 so use this for pointing right this so hello everyone we are team 10 and we are team called for CRELOV if you are into call of duty and we worked on quantum CRELOV methods to find out energy of molecules and we were mentored by Nathan Fitzpatrick from Quantenium so since we are working with finding the energy of molecules we will need Hamiltonian to begin so for we use our Hamiltonian for hydrogen molecule and we had second quantized harmonic Hamiltonian and then we used in quanta from Quantenium to convert it to our weighted combination of Paulis that is basically the qubit encoding so we will also need a reference state for us it's a simple reference state of 1100 ket that we get from the circuit of two simple quanta then so this is our quantum subspace CRELOV method so as you can see basically it's a hybrid algorithm where you use the classical portion here to calculate the Isenweller problem and we use to populate the matrices from the H matrix and S matrix using the quantum computer so basically as you see from the equations here and Isenweller here is the Isenweller for the quanta into one and for quantum subspace you divide it into subspace so you have a much smaller subspace of M into one so here M is significantly lower than 2n so you already can guess the advantage here so and also for the novelty of our approach we are the method we are implementing are quite new it's both of the papers in 2022 and it's 2023 so you can see and many too many references or tutorials lying around for us to play with so it's quite novel so basically as you can see finding the energies is a generalized Isenweller problem that we solved for ESC where H is the Hamiltonian C is the Isenvector and S being the overlap matrix then from E we get the energies of the molecules we are looking for so these scales is combinatorial scaling but CRELOV methods are found we have two inputs of H and S and we get the output of E and C where we use the E for finding the Isenweller so CRELOV method is basically a weighted linear combination of the function powers of function of H applied to our reference state that is psi not ket then if you see we use that powers of function of H and use it for time evolution so we need both real time evolution imaginary time evolution so as you can see for the standard CRELOV we measure the expectation of both H Hamiltonian matrix and the overlap matrix and the difference between the two matrixes are basically H you have the Hamiltonian and S you don't have the Hamiltonian yeah we generate a subspace here that's for the unitary unitary CRELOV method we will be getting that to our next slides it's included in our slides so we are talking about standard CRELOV method for the quantum computers yeah yeah the exponential is better on quantum computers we will get the unitary CRELOV in the next slide so you apply unitary CRELOV method for quantum computers but standard is for classical solvers so as we can see the complexity seems to matrix element calculations so that's our old difficulty and from the the M and N are the indices of the elements of the matrices so we are calculating the matrix elements and so the indices are the powers of our the function of our H right and you can see here this is the unitary CRELOV which we implement on the quantum computer and as we can see it significantly reduces the number of elements compared to the standard CRELOV as we can see in the next slide we also use this error view so it helps us to visualize what's happening and also the dimensions of the operators that we are using and we can see that since we are expanding the Hamiltonian the number of elements are lower and that's what we wanted to show with this error view a pictorial intuitive view to see the advantage and this is the overlap matrix S and you can also see how the dimensions there are and as I mentioned before there is no Hamiltonian in the S matrix and we now also see how the CRELOV basis actually it's portrayed pictorially with the evolution operators that is the functions of H to the power on the reference state Psi0 and then we get Psi1 Psi2 and we add them up so it's weighted linear combinations of the CRELOV basis Psi0 Psi1 Psi2 and you can see how those operates and how the boxes of the time evolution scales with the powers and we get the powers from the indices of the matrix so as we said it's a time evolution operator right so we need both real and imaginary time evolution operator and for our case we use trotorization method so for trotorization method you basically get slices of the time and you operate them consecutively on one after another and to get the trotor steps each of the trotor step we get from our Hamiltonian itself so you have H alpha P alpha summation right so for each H alpha P alpha you get one time slice and you actually get the time slices depends on the number of times in the Hamiltonian the Pauli matrix and so to calculate the expected values which is the Hallamard test and this is important because we can get the real and the imaginary Hallamard values depending on the phase gate W we have here so for imaginary expectation value we apply an S phase and for the real expectation value we don't apply an S phase at all here is just how we get the counts and you can see that we can get the elements by applying these equations that should get us the real and imaginary expected values and when we add them up together with a phase factor that we get the result that we want so this is for the simulator and for exponent shading I think is kind of the most important part of the project we use a Pauli gadget so this circuit implements an exponential function that has a Pauli string in its parameter so this is the circuit primitive and you can see how we use basis changes depending on the gates that we have in our Pauli string and this is the one that we made in ticket so in ticket there is a function called Pauli X that Pauli X box that allows you to do this circuit but we made our own routine so this circuit we made ourselves and this is just one case for a specific Pauli string we have a linear combination of Pauli strings of exponential Pauli strings sorry we have to make a Pauli for each one and then append them and you can see that our Pauli gadget is equivalent to using the Pauli exponential box which you would use in quantum with a quantum control box which would be used for a control unitary in the Hadamard test circuit but the top three steps can be done by ticket but our approach is more it's it's significantly simpler because we just made the circuit specific for our problem you can see how for a crylops depth 3 for the ket 3 or ket 2 for example we just applied the the circuit three times so this is just for easy visualization we also compiled it using tickets in build circuit compiler to reduce the some redundancies that might arise in the circuit and you can see how we had the Hadamard test here in order to perform the Hadamard test so for authorization we just all this is what I explained previously there's quite a difference between our circuits and this is due to the indices being from top to bottom so we start at zero at top and at the bottom and these indices start from zero at the bottom and they go it just flips the circuit but you can see how the scaling of this it's kind of a bit harder to do the scaling has nothing to do with crylovids more with the totalization algorithm so if there's a with the face estimation algorithm so it the number of cubic gates it corresponds to 2n plus 1 where n is the number of poly terms in one element of the cubic Hamiltonian of a poly string this is just the worst case because there are Hamiltonians there are terms in the Hamiltonian that don't include all the qubits for the poly string so for example in this one we have three poly matrices or well in this one we have four but this is just one case where every poly gate is used so to compare results we use the exact diagonalization and since this was a sparse matrix it was a kind of a very useful thing to do and not really costly to simulate but this is not really the point this is just a comparison for the eigenstate and the various excited states of H2 molecule we did a sci-fi approximation I will talk about some of the problems that we arose here but basically we tried to use sci-fi to do the simulation of the matrices this is how fast they converged so depending on the classical trotter length we had you can see how the interatomic distance varies this is the derivative plot for the eigenstate so each point here is the final eigenstate that it has converged to and you can see how fast it tries to converge using sci-fi again this is just for simulation we also used a variational quantum eigen solver in order to try to approximate a better state than our 1100 ansatz and we ran it in quanto backend and noisy in quanto backend as well however for the summary we see that the we have here the exact eigenvalues and now for using 1100 as an ansatz using sci-fi we got one excited state for free we had some problems with the dependence of the H matrices so there were some sort of issues that arise that the matrices were not really hermitian and that depends on the subspace okay I'll wrap it up sorry this has to be a minus one we didn't really get a correct result using a quantum simulation we think it's because of the trotter that they didn't really implement correctly but this is more of yeah I explain it of a future step so we could fix the trotter and name to get the comparable results to sci-fi and the traditional vq results and you can see that this is the qubit hamiltonian that we originally get and we try to get like a section in using Krylov method but it kind of failed in the quantum implementation and in the sci-fi implementation as well this has something to do with the Krylov space symmetries and that the the asymmetry preserving nature of the imaginary and real time evolution operators these were the references that we used and we would like to really thank our mentor Nathan Fitzpatrick and ICTP and continue thank you very much priority to the jury for questions and if they have none then the public can also take some two minutes for questions ok go back to the question you asked before I'm sorry could you repeat I couldn't get it before oh I I don't remember it it was something about the function with the explanation right? yeah so I was talking about but then you diverted a lot from there so I'm not sure that's an issue anymore so in some sense on a classical computer you you don't do the Krylov method with f of h which is more than a low order polynomial because simply that is you know so you apply h on a vector and the gain is in the fact that when you apply h to a vector you get a vector which is not it does not you know it's in a particular subspace and if h if you take high powers of h and this is due to the fact that h is sparse so typical physical h is sparse because there is locality because of everything I mean it's difficult to have h which is fully connected in real physics examples and which is a dense matrix I was thinking about the graph but what you're doing here with Krylov on a quantum computer is more like phase estimation in some sense using the fact that e to the minus i h t on a quantum computer is a natural thing like we have to propagate the thing and the use of unitary Krylov is that we don't have to do this matrix multiplication as we standard Krylov so we can just put it inside the exponential the phase standard and those terms so for a quantum computer probably h to the fourth would be also a difficult thing to do yes some of the it's either h or e to the minus i h t I think some of our references in here like outline h4 and h6 and they do outline that it becomes somewhat difficult for the for a quantum computer but the main I think the main like future work could be done into a phase estimation algorithm instead of using the Krylov method the Krylov method offers like we found out that it offers a significant advantage in combining the classical and quantum approach because you have a smaller basis you have a smaller matrix to die on allies but yes as yes you can see it's very new research but we hope to continue on with the with the project we liked it we would like it very much thank you for your question you mentioned that you used a ticket I'm not I'm not a ticket person so I'm not necessarily fishing for endorsement but I was just curious how much did that do you know how much that helped optimize the circuit we tried quick question we couldn't really get some quantum like these matrices you see here are not like they're so dependent that we couldn't get an estimate for the quantum but we tried using compilers and not compiling the gates and we couldn't really find an advantage like it did very so fast the optimization that we didn't really find an advantage in the like in the computation time per se but for the results we cannot say if one is if they compile if it compiled correctly or if it didn't compile correctly because we didn't get good results that approximated the side-by simulation yes yes we it's hand coded so yeah but by ticket it did compile some of the things but the circuits were became so large that we just couldn't really like even include them in the presentation good thank you very much thank you for team 15 quantum firecats okay you have the pointer your speaker okay you need to change the slider with the okay okay okay good morning everyone I hope don't be so tired right now okay we are the team 15 and we are quantum firecats our project consists in quantum error correction and our mentor was Dr. Ben Crier Crier okay sorry our motivation only in computing we have a lot of errors right so we all the community put too much effort to trying to fix these errors or compensate these errors if you if we remember in the slices of error we say the quantum computing have one error an average one error 10 to the 3 operations so this is a huge error because we made a lot of computation so that is the motivation of this project and as well we increased the confiability if we put too much effort in this quantum error correction we increase the confiability of the results of these algorithms okay our main task the implement was the implementation of the optimal and efficient decoding of concatenate quantum blocks using python and this is the QR code is the reference of we take for implement these quantum corrections okay our main goal as well is to reproduce the following results that we found in this reference or the describe of the system is we have 5 qubits and with different levels of concatenations we explain later what mean concatenations and using a Monte Carlo sampling to generate these errors and after that with difference the polarization rates and we try to get the same results for we try to get the same results for probability of error or error news decoding so with these tools we try to fix our problems the main problems in quantum computing and a spoiler we replicate this data this plot will explain a little bit so imagine we want to apply this our implementation of the most efficient and the optimal implementation of the decoder to solve the issue of having a noise, having a message that is subject to a noise imagine that Alice want to talk to Bob so Alice will send a message that is a quantum state and we need then the message pass to the decoder then it will be subject to a noise and then the decoder helps Bob to get the message but we don't know if Bob we get the proper message so the current information we will understand because we know that the power operator will out on the quantum message and if the power operator will be the matrix, the identity matrix we will get the message otherwise it will get the wrong message and given a certain set of pure error stabilizer and logical power operator then we develop the algorithm with the ones that should be the most efficient at the optimal realization of the decoder of a different layer now I let you to explain so sorry this is going to be a little bit technical because programmers have to talk about detail so when we have concatenation algorithm the idea is that we take the system and we encode it in a bigger system and like this we can reduce the error so each level in the tree we produce the encoding level here this is the tree with only like three nodes because well it's impossible to draw five on the picture it looks way too crowdy so just imagine that you see five so we did it on the five qubits that's why it's five and our the idea is that we work on five qubits so we put them through that function that we didn't write on the slide because it's too complicated no one's going to pay attention anyway it's in the article to work with our five qubits and then we pass the information to the next level basically this concatenation that the article was discussed was using this message pass an algorithm meaning that what we pass is the state that we calculated like knowing the initial error for their simulator and we pass the probabilities that the decoder guessed basically and when you ask this question was the difference between like the straight line and the dash there so here one of them was when you pass all the probabilities at each level and then you use them in the next algorithm and the other was that you take like the maximum of them and you only set that to one and then the rest is zero so it becomes a different algorithm a little bit different and it scales worse and it's so it's better to pass the probabilities so that was what we were implementing with passing the probabilities now when you look at this tree so power five you can imagine how fast this grows there is no way you can store this thing in memory so we had to design like the way to go around the tree but not store this so basically as I showed we started with just this we pass one message to the next level then we go here pass one more message you see now we have like two things at the next level and basically in this algorithm we never have to store any more than just the number of qubits per level of the information so even though this is exponentially many things you don't need terabytes of memory you only need just one matrix to store those five per level so you just go around once you got five at this level you pass it further and then you just continue you go down and you continue passing like this at the end you have some result so you have this state that you calculated from your initial error things and you have what the decoder gets the probability so basically you can compare them you can say it didn't work it did not work so then what you do to estimate how this actually works with the Monte Carlo simulation yeah so in one run we introduce an error we know what is the error and then we compare if our decoder is able to get to find the error or not and then we do this many times this is the Monte Carlo part and we count how many misses we had how many times the decoder was not able to find the errors and we estimate the probability of error it's the graph that we reproduced that we were able to do as in the reference so in the first column we have for zero we have the physical error and then here are the levels of concatenation what is the best result the best result is that the decoder finds all errors so we have a probability of error zero and this is able we can see we are able to achieve this to certain levels if the level of error is greater than this the algorithm is not able to do we also timed our algorithm for different concatenation levels we observed that it increases exponentially and this is what we expect because with each concatenation level the data we are dealing with increases exponentially as well so let's go on to the last two slides so in conclusion we observed that our algorithm scales linearly with the number of qubits as we expect and it varies exponentially with the number of layers as expected again so it's good we were able to reproduce the exact same results that we were supposed to reproduce and we are successfully getting the exact scaling behavior that we wanted to get so let's move on to the new things that we added in our implementation first is we implemented our tree algorithm and this algorithm has never been done in this way so we are the first ones to implement the tree algorithm the major advantage for tree algorithm is that you don't have to deal with terabytes of data in one time but you can take just 5 blocks of memory and people usually do this in different ways but we did it by implementing a tree and secondly this is the first and also this tree can also be used in other applications not just this application so other industrial applications can use this tree secondly this is the first and the only python code which does this so we can even make a module out of this after cleaning it up a bit and optimizing it thirdly since all of us come from a HPC background we believe that this code can be optimized so much better because we just had 2 days so we just wrote it in python and we could do it in c or c++ because python has nasty way of memory allocation so and implementing a tree in python is worse so I feel our estimate is that it will at least be 20 times faster if we do it on c or c++ and with this we would like to thank all the organizers, jury and all of you, thank you thank you very much we have very good timekeeping by the way I have a few minutes for questions I was curious about the noise model how did you introduce the noise was it like the code capacity or the circuit level or I don't know if you know those terminologies but yeah could you explain more about the noise model I don't know if we know these terminologies because we are not really specialists in quantum computing so we were given an algorithm that got given input so noise is somewhere there in this got given input and then we get stabilizers for these 5 qubits we worked on 5 qubits but this algorithm can be implemented on whatever someone who is the quantum computer scientist should give us how many qubits what they come from whatever history it is and then we encode and stabilizers and all the pure error whatever other things there are and run the code so I cannot really answer about the noise because this is a question for quantum computing scientists but we use the random uniform generator with that probability of 0.1 0.15 so you have like some qubits you place some noise to it and then you measure the operators the parity checks it's like just for error correction so you have these qubits and then you reduce the error randomly basically you have the initial you have the probability of these qubits to be like an error one error and then this error it just propagates okay do you know what simulator is used to calculate these things yeah they are so simulators I mean so okay the tree goes like together with a simulator that gets this error thing and knows more what it should be because you just multiply power matrices right so at the end you get what your simulator has and what your error gets at the same time so like both the decoder and the simulator they are inside the stream okay very cool so you find that your your stabilizer your error correction has a threshold yeah do you did you develop you didn't do a systematic study but did you develop an intuition out this threshold should go with the number of qubits because you need you know to really implement this as a real task and play this number of qubits then you know instead of five you take six or whatever it's a good master thesis for us it will take a lot of time to implement not in one day so that's why I want to say I have an intuition something will change sure because there's no time I understand but I was wondering what you developed an intuition okay this looks like a percolation problem in some sense on the tree so maybe you know if you thought also the threshold is like 1.18 which is more or less one fifth this is probably a good question for Ben who works on this thank you very much last but not least Eigen criminals got it thank you what the heck just happened something just okay but I lost everything oh here it is there we go let's do that hold up it's giving me the spinning wheel of death I will shortly move this over there already very big on the screen really cool screen I have to adjust this and that every time I'll push this thank you so can you try it on the press center it's better to present my normal cycle here it's better to just use the clicker for this I can take the clicker okay just click it five buttons you need to connect to the USB key okay just use the USB okay there we go awesome thank you testing testing let's see alright hello everybody my name is Sake this is Kevin and Bao we are the Eigen criminals and I know you guys have heard quite a few online learning presentations today I know there was some VQE some QAOA all that good stuff I'm here to tell you we are not doing any of that we are doing filtering VQE sorry but yeah before we start just wanted to give a huge thank you to Gabriel for guiding us through this teaching us the basics of FVQE and allowing us to explore and make our own mistakes and discoveries yeah so we talked about our process with VQE we talked about what exactly FVQE is so the problem is that we have a probabilistic distribution of the Hamiltonians of a system and we want to reach the ground state with a high probability so as you can see we perform in theory a transform that takes us from a low probability of the ground state to a high probability of the ground state we call this transform a filter but for a quantum machine since it's not directly always possible to apply the exact filter on the system we use a quantum variational algorithm to incrementally modify the landscape of the algorithm in doing so we use a cost function by building a cost function we can optimize the amount by which our ground state probability tends towards the maximum at each step and now for our approach to the project to begin building the cost function we started by solving the weighted max cut problem we started by solving the weighted max cut problem we took the cost function of the problem integrated into the FVQE using a software called QJAX for gradients and we developed Ansatz for our circuit so we could initialize our circuit before we implemented FVQE after which we implemented parameter shift both the theoretical exact parameter shift and an estimation via circuit sampling after that we kind of explored FVQE we looked at the different Ansatz and problem sizes scale we looked at various filtering functions to see if we could compose multiple filtering functions together to create a better one we also looked at multiple hyperparameters such as tau which is a hyperparameter in the filtering function and the learning rate of the VQE itself and we also capped us off by comparing our solution between a noiseless system and a noisy system so we tested multiple backends as well yeah so we started with in essence well we used the variational quantum algorithm that gives us a simulation of a step-wise simulation of this transform and step-by-step we apply gradient descent and see how well that maps over to this transform and incrementally over multiple steps it simulates something as close as we can approximate to the transform we're looking for so the filter is the filter inherently is a function what we use is we build that function into the variational algorithm so that we kind of give it a step-wise growth first slide yeah I want to go ahead and explain it I think I'm not communicating this so this function is used yes the f function shown in this map is unitary the filtering function overall may not necessarily be unitary but we break it down yeah we don't implement the exact function we implement an approximation within the VQE we use the cost function to kind of map it out in a similar manner that approximates the filtering function yeah that's right so we started off by we chose the max cut problem because it's a simple combinatorial optimization problem and therefore it has a very simple cost function to calculate in theory this is just a black box because in order to initialize the fVQE we just need some sort of black box function that maps us from x to a function of x so we used the max cut cost function as a black box with which we'd apply the filtering VQE we made a graph with weights we applied the cost function we solved for the optimal solutions and we took all the optimal solutions scaled them between 0 and 1 and created a Hamiltonian in a sense from that and the lowest entry on that was treated as the ground state which we were trying to optimize the probability for maximize the probability for after that we moved over to creating the VQE circuit itself which started off with the ansatz for this I will hand it over to Kevin okay well it turns out that actually we need the ansatz for this to implement the fVQE so in order to to do that we choose these three ansatz that was not selected randomly we actually based on this paper because these three particular ansatz have different levels of expressability in which we can compare or use like some sort of evaluation in the performance of the fVQE okay so so let's move let's move on okay okay so this is the result for the first part of the ansatz so as you can see here we actually implemented for a few a few number of qubits just 3, 5, 7, 9 11 and 13 you can see actually in all of these cases successfully converse and we just like have a decreasing of the rate of the conversion rate in order to as we increase the number of qubits so this is something that actually we take care in the following implementation also one thing that I want to point out in the next slide I will do it again is this kind of fluctuation at the end of the probability of the agronomist state that as soon as they arrive well this can be modified just changing the learning rate okay so this is a little result for the other two ansatz the first one and the other two and I want to show here that actually for the second ansatz that was the ansatz that has more expressability they have a better in this case convergence rate they have more parameters and more expressability so we can tend to reach the the agronomist state probability much faster okay so what happens when we do this kind of circuits a little bit more bigger so here you can see that using 19 qubits we are simulating the ansatz 1, 2 and 3 with different kind of layers I think that you can see here the number of parameters that each ansatz require for given a number of layers so it turns out that actually for the case of the ansatz 2 that is well it has like a 418 parameters so we just simulate in this case just one layer because it has a lot of time required to implement these kind of themes okay so as you can see here actually we don't have any kind of problem in case as we increase the number of the number of qubits but it takes a little bit more time so let's move on here so let me see so what about the filters so in this case I will return this stage to Saquette so well it's not filtering the QE unless we have filters so what about the filters right the most commonly used filters were inverse, exponential and cosine filter functions so those were the ones we tried simulating with the cost function the inverse easily outperformed the other two we decided to experiment a little bit more and wondered what would happen if we tried composing composing a filtering function that stacked multiple of these so for example as you can see in the graph here the orange line here is a composition of the inverse and the cosine filter functions and the green line here is a composition of the inverse and the exponential filter functions as we can see compared to all of these just the simple inverse function was the most efficient to map towards as it not only converged to a high probability the fastest but it was the only one that lasted for more than seven qubits afterwards all of the other composition functions tended towards a zero probability for the ground state after we finished comparing the filters for comparisons the first we tested was the tau hyper parameter that was in the filtering functions we tested this for a range of values from 0.01 to 5 our conclusion was pretty straightforward it showed that a high tau would lead to a faster growth in the curve and therefore it would reach a high probability faster but at the same time no matter what value of tau we used for the most part the system was pretty robust in handling the change we also tried with variable tau's so we built this in such a way that the tau would adjust in a sense as the probabilities changed it would be we built it as an adjustment function of the cost function and even with that up to 19 qubits we saw no difference at all in the growth of the curves after we checked the tau we also checked out the learning rates unlike the tau we saw a great deal of difference with these for consistent learning rates we tested from 0.1 through 1 as you can see over here the lower learning rates didn't converge quickly enough about 0.35 was a very good convergence anything over that the system would over correct itself and fluctuate a lot as it got near a high probability rate in theory the highest rate possible would be pi over 2 anything beyond that would converge pretty much immediately to a zero probability but but we were able to figure out a way to stabilize up top by creating an adaptive learning rate that was a function of the cost function and the learning rate itself so we realized that this works really well the optimal learning rate that worked for this was a 0.9 learning rate after this we tested on noisy and noiseless systems for sorry we used the MQ Hanoi noisy backend to simulate we did noisy simulations for 3 qubits 5 qubits 7 qubits 9 qubits and 11 qubits for the ansatz that worked the best earlier on since it was too big for multiple qubits on a noisy backend we only tested for 3 and 5 qubits the rest we used ansatz 1 and 3 as we can see as the qubit size as the number of qubits increases the adaptive learning rate did function the best out of everything and I think that's the conclusion is we were able to build a simulation of the filtering functions using fvqe creating an adaptive learning rate gave us a very good convergence towards a high probability whereas other variables were a little bit less rewarding thank you that leaves us let's say ok 2 minutes for questions can we go back to how the filter is applied this was a classical problem the hamiltonian is diagonal could you apply this filter technique to a quantum hamiltonian to a quantum hamiltonian in theory I don't see why not in practice we haven't tested it out yet that's actually something we were it's an in theory question is there any obstruction because the filter can't the way in which you apply the filter be generalized to hamiltonian as the pargenetic and non-diagonal like chemistry whatever maybe if you explain now do you apply the filter just by using the the filter was applied over the values of the eigenstates themselves in a more quantum like a proper quantum hamiltonian as long as we're optimizing just for increasing the probability of the ground state which is the lowest eigenstate it's definitely possible to apply filters into that which is the whole point of quantum hamiltonians so for classical hamiltonians maybe it's much easier to apply these filters so obviously what we did here is the cost function we used was max cut problem which is a classical computing problem so the data sets we generated as a result of that and this is why you can apply your classical function directly in the cost function because you know the energies and you know what the eigenstates are and you are applying it on the energies directly I see that clear stuff up there thanks thank you very much and that closes the hackathon I think yeah I'm pretty sure not everyone is here but one piece of info at least to start with there's no lunch here as was said this morning the lunch will be at the cocktail place the shuttles start at 1.15 for the first shuttle and 1.45 for the second one departing from here so you've got time to chill and to starve for a bit