Devreal

Designing Variational Quantum Algorithms with Tequila

Designing Variational Quantum Algorithms with Tequila

Recording: Designing Variational Quantum Algorithms with Tequila

uh we basically as folks arrive we'll keep uh keep uh inviting them to introduce themselves right and depending on you know if we reach 9 30 or not we can um we can basically so when albert joins then we can we can do the talk right so i see david is joining my david um so uh basically uh let me start and also we have uh jeremiah coleman who is the one of the stanford quantum folks and last time i mentioned that we are welcoming uh new community organizers we really want to open this up all right so what what i i'm gonna do i'm gonna just you know introduce myself and maybe introduce jeremiah and maybe jeremiah can ask you guys kind of to continue let's see how this goes so um uh so i'm alexi krubrov uh i'm the organizer of this quantum conversations if you guys are joining us for the first time um uh i think i mostly see folks who were here before but basically uh it was supposed to be a physical series of meetings uh originally organized with ibm right and in the bay area so you know that's why we're so happy to have stanford quantum with us which is the biggest uh i think uh student group at stanford and probably in the bay area um folks interested in this right so the original plan was you know let's do this meetings uh in san francisco let's host them at berkeley at stanford at uc davis and kind of local places right and kind of quantum west uh it was called but obviously uh the the pandemic struck and we had to rethink that so we did uh meetings online and uh we continued uh to to do that um scene so we we're doing this every last wednesday of the month uh and we are now doing one main talk right so we did a couple but for some focus was too long and uh we're trying to do this in the morning so we can capture some of the european folks who want to join us right so that's and so today we're going to have one talk uh i see album is joining nice um and so okay so that's kind of you know uh uh me and uh i'll let jeremiah introduce himself and after that uh we'll you know the hardest problem of computing will be how we you know go along the list uh asking everybody just once so we'll see how we can manage that so do everybody take it away introduce yourself great no yeah thank you alexi um so i'm jeremiah i'm a current senior at stanford university i study engineering physics and economics with concentration in quantum science and quantum engineering um as alexis mentioned i'm the president of the stanford quantum computing association um and my like interest i guess lie in kind of quantum hardware i had an internship this past summer with google quantum ai as a hardware research intern and i'm excited to be here again i'm glad to help facilitate this um conversations and hopefully get stanford more involved and bring more of the stanford community along with it thank you uh so maybe you know me you can kind of go down the list and and ask folks introduce themselves uh i'll just start with alba alba is our speaker and she is joining us yourself in a kind of under a minute and then of course you will have more time to uh to uh elaborate with you uh uh when you do the talk sorry did you ask to introduce myself or yes listen like we'll do one minute introductions as we go down the list and then okay okay nice uh hello everyone i'm malva cervera i'm a postdoctoral fellow in the university of toronto i'm working in atlanta's pool cruising group mater lab and i'm working in new york air quantum computing computing tools as i would present today and also new algorithms etc but my my background is also in quantum information so i have some backgrounds in foundations of quantum mean for like balinese qualities multi-party entanglement etc i study physics and also particle physics so i also did some works on entanglement in particular phenomena and particle physics phenomena and in general i'm interested in anything related with quantum computing but also in quantum information in general thank you and obviously you're the speaker today so looking forward to your talk let's see uh amir ibrahimi hi there my name is amir abrahimi i'm out here in west marin california um i work at unity technologies in our labs group on a machine learning deep learning inference engine called barracuda and my story is that i'm bootstrapping in the realm of quantum computing until i become a useful researcher very good great to have again uh david matsuyoti hey alexi how you doing today how are you all right good uh so i'm a professor at university of chicago uh here in chicago today we have a bit of sunny weather which is good my interest is in quantum chemistry and quantum information uh so all things quantum certainly very excited about some of the research happening on quantum computing and looking forward to today's talk great great coming back i love it indranil day uh hey everyone uh i'm indra nilde i'm from bangalore india so i basically work with jp morgan and recently i've started my journey on quantum with our research team in jp morgan so i am i think i am just in norway have started and this is the second uh quantum corporations which i'm attending great welcome uh let's see nicolas sabaya hey alexey hey how's it going uh my name is nicholas sawana i finished my phd a couple of years ago in alana spuroguza group also so say hi to him when you see him i did a phd in chemical physics and i was after undergrad in mechanical engineering and chemistry i'm now at intel labs in santa clara where uh there's two of us working on quantum algorithms so i focus primarily on uh i guess algorithms related to hamiltonian simulation and uh and also new applications in chemistry especially spectroscopy and uh vibrational degrees of freedom great yes and i wanted to say we met with nicolas at the simon's institute uh and little we knew this would be one of the last physical meetings right we could enjoy uh in in the area but you know this is thankfully we can do this online so great to see you uh likewise rishi sweetheart hey all uh my name is rishi and i'm a master's student at chalmers university in sweden so i'm i'm i did my bachelor's in electrical engineering and i'm trying to pivot into physics more physics quantum and my thesis was done using tensor networks to model variational quantum algorithms like uh so using tensor networks you can sort of study how you can play around with entanglement and study how loss of entanglement affects the performance of these algorithms and so i'm really excited for today's stuff uh yeah great welcome welcome ah sasha okay hello um my name is i'm in argentina i did my masters in physics a few years ago i started doing financial work i did met this team and through jp morgan the defeat the first chat i think or the second one and i'm coming here and now i'm doing a lot of financial work but i'm still really trying to get involved into the quantum things because i i enjoyed a lot of when i was doing my master's so i tried not to leave that great welcome and you know i i see a theme actually uh there are several folks who are currently um software engineers more traditional setups especially in the bay or you know other uh software companies so i and actually i started receiving uh uh requests from my friends for software engineers who want to actually pivot into quantum so maybe we can have you know we have time maybe today you know after the main talk uh so i said you're here you right like there are several folks who are thinking of kind of pivoting maybe we can have a little bit of a discussion right how folks go about it because i think it's kind of a recurring theme so uh because we have one main problem but we have you know additional time we can use it whatever we want uh jeremiah do you want to take the like uh you know moderate subsequent introductions all right take it away that's great yeah um oh song sang hi uh i'm appearing in berkeley from bragita valleys group so my focus is on a quantum feedback control and quantum error correction so i just would like to hear about what aquila can do into this talk thanks great awesome yeah thank you um next we have uh wim lavish that is video hi i'm bin laden lawrence's berkeley lab i got this email forwarded from bertie young i work both on the advanced content testbed from doe i work on the the software stack and then in batch group i work on classical optimizers for graphically qaoa et cetera awesome great thank you i think also eddie fary you joined a few minutes ago you want to introduce yourself real quick hi my name is eddie and i um i i work on quantum algorithms i just somehow got a random email about this i thought it'd be interesting i'm home all the time so i thought i'd go to a meeting you know i work i work for google but i have an affiliation still with mit and i'm in brookline massachusetts today so i'm interested in what's going on welcome welcome welcome yes and then also uh last but not least i was young oh hi everybody uh this is jung jong and i work at the stafford research community center and i'm a computer computational chemist i'm very interested in algorithms in quantum chemistry and app and quantum computing and i'm working on some related projects right now and i'm really looking forward to today's talk thank you all right i guess that's about everybody thank you jeremiah so uh i think uh uh we'll we'll you know keep adding folks uh as they join um but uh i think now we can proceed uh with our main talk um let's see okay diego garcia martin is joining right now let's do one more uh hi diego introduce yourself hello i'm diego i'm a phd student at barcelona supercomputing center and i work on quantum algorithms great welcome so we have barcelona connections awesome really cool we cannot be in this city physically but we can remember it right through the folks who are there uh so uh our main talk is by uh alba cervera lierta uh uh it's really great you know uh she was introduced uh by uh uh to me by by uh sebastian from my ibm who is again uh basically a co-founder of the series so it's really exciting uh to expand uh our field uh i'll let you introduce yourself again uh so the you know the way we do the uh cunes uh you guys are welcome to mention uh them uh to ask questions in the shot right and and everybody can see them and so all but you can also see the questions it's really up to you when you want to take questions and obviously at any point you can just ask questions and folks can can can just you know uh ask questions by voice so so it's really up to you how you want to manage it you know you you and obviously in the end we will have a general q a session um so with that uh please take it away okay thank you alexey for inviting me to these talks and to give me the opportunity to present this this uh this project tequila and yeah i'm almost a postdoctoral fellow in university of toronto under the supervision of alanna spuroguzik and my background is in physics and particle physics and also quantum information in general like bell inequalities multiparted entanglement etc and the last years i've been working in quantum algorithms especially in near-term quantum algorithms at the end of my phd i finished my phd last year in also in barcelona so i know diablo because of that and and yeah under the supervision of jose nacional torre and now i'm here in toronto the last year and during my postdoc so thank you everyone for for joining me in this talk and please interrupt me and any at any moment because i probably will not read the chat while i'm presenting because it will be difficult to switch all the time so please just interrupt interrupt me at any point and ask whatever question you prefer or in the chat and afterwards we can just continue discussing that okay so i will share my screen let me okay can you see my screen now okay perfect so today i'm gonna present the designing variational quantum algorithms with tequila tequila is a quantum language that my group has developed during the last year and it's an open source quantum language so everybody can just check the code and contribute if you want so we are more than happy to accept contributors and suggestions comments whatever so it will present uh how desi how this package works so first of all why tequila why we need this kind of languages then i will go for and i will describe in more detail tequila happy and then i will go to the basic usage like how we construct quantum circuits etc and then i will move to things that are in general more interesting which is chemistry examples and quantum machine learning examples we have much more examples in our tutorial sections and and that's it and then i will close with what are the current projects that use tequila and what are the future features that we would like to add to the to the code so please interrupt me on any planet at any moment and as i said but yeah as i will as you will see i will first present all the features one by one of tequila but at the end i will just present everything wrapping up so it would be probably more useful to understand how it works with uh concrete examples so as you know we are in the golden era of quantum languages we have many of them many are appearing we have uh kisky we have silk that is used by google we have bike wheel used by ricketti kibo which is using for a startup called kilimanjaro uh q-sharp for microsoft penny lane from shanadu and many many more are appearing in the end everybody that has developed a quantum computer is also developing the language to program the quantum computer as it's natural but not only that we are also in the quantum server we have many quantum software tools that help us to to run these algorithms in quantum computers we have orchestra from zapata computing mythic which is for error mitigation and qlx which is a nice quantum simulator and we also have other tools related with quantum simulation in particular for chemistry like fifo psi4 and open fermion and of course many many more and not only that but we also have all the classical tools that are useful for the near and noise intermediate scale quantum computing era which are like the optimizers and and the analytical gradients etc that are needed for optimizing these quantum circuits this variational quantum circuits so in the end we have tons of languages that in principle we have to learn and we have to implement in our algorithms so for us in particular for me sometimes it's difficult to you know remember how to program and how to use all these languages especially if you want to for instance compare different quantum computers so in the end we never know which language should i use it the first time that i started to design my algorithm like should i start with kiskit or should i start with circ or with any other because maybe at the in the middle of my of my work i decided to run my algorithm in a different quantum computer so i need to write again the same algorithm which is you know sometimes a waste of time for me as a theoretician so it would be very useful to have something that takes into account all possible languages so i only wrote my code once and i can run it in different backends easily not only that but imagine that i wrote my code in circ but then i started to collaborate with people from ibm and i would like to share my code with them so i need to have a platform that i can easily share my code so they can use my code with their own language and not only that but also what happens if i just started to use one language and at some point it becomes obsolete because nobody is supporting that anymore that could happen also especially in in at this time that many things are happening and are changing all the time so i need i would like to have a code that will work you know forever so i can share it with everyone it will be there and it doesn't matter if the particular backend that i use change or have new features or just becomes obsolete so i can still use my code in other backend so in the end that's the general idea that is behind tequila and our motivation as a as a physi as a theoreticians in quantum inform in quantum computation we wanted to develop a language that works with any possible backend and so for us it will be easy to test different algorithms in different places and that's what is tequila so it's unification standardization and acceleration so we don't have to waste time in checking in in translating our code to another language so we just focus on writing the code once in tequila language and then we just choose whatever vacant we prefer the one that is more suitable for us and not only that but we also can add more features to that like noise models error mitigation etc and more than we are working on and that's the idea of tequila and you can check the code is available and in our group repository and we are working in the in the documentation that will be available very soon and also on the release paper but everything is written in the in the github repo and in the tutorial section is super useful to understand how this works but anyway i will present how this works in in more detail and some examples so first of all as you know we are in the noise intermediate scale quantum computation which means that we mix together a classical algorithm a classical software tool with a quantum hardware tool and we are in this era because the number of qubits that we have is not enough to perform error correction so our qubits are noisy and we only have a few of them we have and now currently 70 50 qubits working in 100 probably in the next years we will have more than 100 but still is not one million cubits that are the the ones that we will need for error correcting uh quantum algorithms so in the end is we have a bunch of things and we will try to put everything together and produce something that is useful for us something that we call quantum advantage something that outperforms classical computation so that means that we have different qubit architectures that means that the topology of the chips is different so not always not all qubits are connected and and the topology changes drastically from one chip to the to another we have few qubits we have noise we have the the coherence we have any other other sources of error like crosstalk etc and on top of that we have classical optimizers that help us with the with the variational algorithms and are very helpful and they are working towards quantum advantage probably in the near term so in the end that's the the big picture of it and and we want to generate some language that will help us to wrap everything all together to produce this something useful which is the quantum advantage experiment or experiment or algorithm so the question is what can we do with a few qubits and how can we deal with the noise so what can we do with with a few cubits that's why i use the macgiver picture because it reminds me sometimes to that series i don't know if some of you are familiarized with that or not but i used to so this show when i was a kid and the idea of having you know a small resources anything works perfectly but still you can do something useful so that's what we are trying to do with uh in quantum computing and nowadays for achieving this quantum advantage so for that we have this hybrid quantum classical algorithms as i said sometimes also called variational algorithms uh which are really useful because they mix the best of both worlds the quantum hardware machine and then the classical optimizer and all classical tools that are in the in this classical optimized optimization part and the application of this noise intermediate scale are from chemistry to quantum machine learning materials etc and also optimization problems and in the end the problem with these applications is we also need to compare and benchmark the results with the classical techniques because we cannot claim quantum advantage we cannot if we don't compare with the current state of the art of the of these of these problems so in the end uh we have many quantum computers in development and we need to benchmark compare and test them so we can really say if uh if the we have achieved quantum advantage of if we are working towards quantum advantage in a in a clear manner so these are the software players that tequila manages uh on one side we have the of the abstract manipulation of wave functions quantum gate definitions the noise models etc on the other hand we have all the classical tools that from optimizers from gradient methods also computational chemistry methods that are also implemented and then all all these things work on top of the quantum buckets that can be both real experiments or just quantum simulators so this is i will start with the tequila piece step by step and as i said the code is available in in our group repository so you can check all the all the modules that i will present now and this is the the general picture so in general any quantum algorithm we will start with a hamiltonian which is an operator and this hamiltonian somehow will codify our problem could be a molecule could be a an optimization problem could be many things but in the end we need an operator and then we have a quantum circuit that will generate this an estate that could be parameterized in general will be parameterized for variational quantum algorithms so uh what we want is to compute the expected value of this operator uh from the wave function generated by this quantum circuit and depending on this expected value we will optimize it etc or we would perform some operations on top of that in many cases we can generate this quantum circuit using a particular answer that is physically inspired which is the case in quantum chemistry with the unitary couple cluster assets and that will be also useful to have some tool that translates our hamiltonian and generates automatically the proper answers so uh we tequila also implements the indi this part and in an automatic way so you don't need to know all the subtleties or how how do you how should you construct these answers and as i said these hamiltonians in many cases if we are working in quantum chemistry will be a molecule and we have many tools to translate the molecule into the proper hamiltonian by performing some transformations that jordan bingler for instance and we have already these tools a program in open fermium ci4 and other chemistry backends so this is also implemented in tequila so it will be very easy to call these vaccines to generate the proper hamiltonian and once we have that together with the quantum circuit we compute the expected value and that will be our goal with this expected value we construct the objective function which is the core of tequila so tequila works with objective functions which means that we can construct an expected value and then generate an objective function that is much more sophisticated than just an expectation value of the hamiltonian so for instance we can construct any kind of function that is compo composed of these expectation values and this objective function is the one that will be compiled into the quantum backend that could be either simulator a simulator or a real backend currently we support cirque hiskid bike wheel and hulax and we are working in new ones so that's will be the goal of tequila is to expand this uh quantum backends as much as possible in the end so we can easily translate our code to any possible backend depending on you know on on the application of your code and here is where we can if we are dealing with simulations we can also implement some options like noise models and also sampling so we can decide if we want to obtain the results by sampling or just by simulating the exact wave function using a simulator like q lakhs for instance that works with with the wave functions so then with this backend we will go to the optimizer and the result of the quantum of the quantum backend uh will be translated in this classical optimizer and here is where we have to decide the method that we want to use for for minimization the method options the gradient the initial values etc and here we currently support uh some by easing optimization optimizers but also analytical gradients and and of course sci-fi and well-known minimization algorithms and this optimizer which just proposed a new set of variables to our quantum circuit and we close the the well-known loop of variational quantum algorithms primarily we can also simulate wave functions draw the circuit the fine gates from armenian operators so it shouldn't be uh control not gates or rotational case like well no gates wheels we can also generate any kind of gate that can be represented with an armenian operator this is also supported in tequila so let me move step by step or all these parts of this tequila in more detail so first of all the as i said the current quantum backend supported are culax kiskeet cirque bike wheel and also a symbolic one and you can check the available ones by just typing tequila show available simulators and as you see qlex and all of them support the wave function simulation some of them support sampling some of them super noise etc so in top um besides these quantum backends we also have two chemistry backends which are um open fermion upside four that also will be useful for generating the hamiltonians of our problems if they are chemistry problems the passive quantum gates that we have sorry uh i was wondering could you elaborate on the symbolic back end that sounds interesting i'm not familiarized in particular with this symbolic back end so it's just not that is implemented in tequila but especially for wave functions will be very useful so it's the only thing that i can say at the moment i'm not familiar with this particular back-end but maybe jacob after we we finished the the presentation jacob which is the the principal um researcher involved in this project can elaborate a little bit more great sorry thank you so as i said the basic quantum gates that are now implemented are rotational gates as you well know the rotational y x etc etc and then we also have the face gates paulie and hadamard and swap gate and many of these gates accepts the control and target which means that we can just call the rotational x-gate for instance and can be a single cubic gate or can be a control uh qubit gate by any controls we can just select as many controls as we prefer but we should take into account that if we want to run this in a real backend probably this gate will not be supported so this is useful especially for quantum simulator simulation and some gates also accept the power which means that we can uh just call the x-gate for instance the publix gate and ask for uh an and use the power uh and compute the power gate of that gate and we also have the phase gates in general any possible phase but in particular s and t gates are already defined and of course halamar and swap gates we also have more sophisticated gates so for instance we can generate any possible gate as i said if we have their median their median operator so this is the exponential power string so we can just call that gate and give a public string and tequila will generate the corresponding gate and we can also throttle rise our gates so in case that we want to run some throttle decomposition we can also use that in tequila and we have to provide the generators the angles and the throttle steps of course and all these gates uh as i said accept control and target which means that we can rotarize uh for instance structuralize a gate and then ask for the control um to perform this gate with as many control qubits as we would prefer so then we have the objectives which is as i said the tequila chord so this class represents the mathematical manipulation of all the expectation values and these are some examples of how can we construct the objectives so we can have an objective that is just the sum of two expectation values like e0 and e1 or we can have an objective that is some power of some expectation value and we can even multiply and manipulate these of different objectives all together to generate another one so in the end these objectives are constructed by the by computing the expectation value and then and they are compiled into the quantum backend so then i will present more some examples of these objectives uh in in this talk uh in particular for instance for quantum machine learning applications then we have the optimizers the function is tequila minimize and there are many arguments that are accepted the mandatory ones are of course the objective so what what's the quantity that you want to minimize or to optimize and the other one will be the method to use uh so for instance grading descent or lv lpg sorry i always forgot how to pronounce that anyway any adam optimizer etc and then for quantum simulations we have uh other possible arguments for instance the back end if we want a quantum simulator or we want a real backend we can just call that like kiskeet circ or qlax etc we can decide if we want to sample or not if we don't sample tequila will automatically simulate the subway function we can also call the device so if we want to run our circuit in a specific real device like ibm quantum tokyo or any other then we can also call that and we also can call any noise model we can construct our noise model independently and then call that function and so i will present after this slide and additional keywords of course are method options variables initial values gradient silent the outputs or not so this is something that is easy to understand if we you start to play with it but as you can imagine uh it's everything that is needed for and for minimizing any any any function these are the current optimizers supported in in tequila as i said sci-fi optimizer also many gradient descent and base optimizers and also some by asian optimism optimized liponics or gpio optimization then in gradient methods we can decide which kind of gradient we want to compute so we have an analytical gradients which are the default and that use jacks and and then we also have numerical gradients of course with by calling method to point and then the step size that we would prefer and then but we can also custom gradients and we can just generate whatever function is uh it's better for us to compute that gradients and call this and call this function using this syntax or we can also implement a quantum natural gradient which is a result a quite recent result from stock zero and by calling qng so in the end the idea of tequila is that providing as much flexibility as possible so if something is not a program in the in the library you can just run by yourself and use it very easily in a simple line uh we also have recently implemented the directing version of iterative subspace that this uh algorithm would which help us to convert into machine precision and this is very important for chemistry simulations and this this works um once we are close to the solution and just kicks in when the maximal gradient achieve the tolerance so these are for instance some benchmark simulations uh that compares the some the different optimizers and then the in particular the stochastic grain descent with this this uh optimization so this this will be useful especially for chemistry as i said when you need to press huge accuracy in in your result this is also implemented we just have to specify the tolerance and and that's it and then as i said we have the numerical and customized gradients that we can just construct and we use with the gradient-based optimizers and in the end the idea is that we want to implement the gradients as significantly cheaper with the expectation values etc so as i said the goal of tequila is always to simplify the effort of programming so everything is already programmed but in case it's not you can still use the language so you can just program it by yourself and call the your method in a single line and then just to close with the optimization part we also have implemented by using optimization in particular phoenix and j biopt and you can check the the documentation of these of these methods in their respective repositories but as i said we want to even apply even more so if you have any suggestions of other optimization techniques or other gradient based techniques please let us know and we are we will be more than happy to implement that in the future and then finally we have the noise models and the problem with noise models is that every backend and deals with it in a different way so we needed to find a way to to use that in tequila in a unified form so uh the same code and the same noise model can be applied to any other backends easily so these are the these are the general features that we take the assumptions that we take into account so if noise is present any gate may be affected by noise the second one is that noise effects and qubit gaze independent of the noise on mqb gates which means that two qubit gates noise is independent of the noise on three qubit gates for instance then noise probabilities are independent on the position of the circuit so it doesn't matter if the gate is at the beginning or it's at the end the noise model will be applied exactly the same in these two gates and then the number of qubits involved in the gate dictates what noise may occur so c not gates is not nicer than a control z gates the noise is exactly the same because the only thing that matters is that it's a two cubic gate noise model and then these are the some of the supporting simulated backgrounds of of these noise models with flips face flips amplitude dams face damps and symmetrical polarizing phase amplitude damps so these are the very common ones and you you can just create your noise model by combining all of them and generate your own noise model and just by calling noise equal your noise model uh tequila will implement that that model so something that to take into account noise is only supported when sampling obviously so you can you need to specify in your minimization or in your simulation the samples of your of your simulation and also tequila supports and device noise simulation so in case that somebody can propose a particular noise model that is suitable for this particular chip you can call it by by just spelling the name of that device so with this i conclude all these general features of of tequila and i will start with more examples and particular usage of tequila starting with the most basic ones which is creating a quantum circuit so for instance if we want to create a quantum circuit with a hammer gate and a control not gate which is called the kill against hadamard and specified the target we can grab the target equal whatever cubit or we can just put the then the qubit number inside of it and by default it will tequila will understand that that's the target and then once we have our circuit we can decide to print that circuit or we can draw the circuit and not only drawing in this particular manner but we can just use particular drawing and of of some of the backends for instance kiskit prefers to draw circuits in a different way so we can also do that if we prefer this other form so in the end since all kisket is implemented in in tequila we can use any feature that kisket has in tequila another way to to construct the circuit uh if we want to implement hadamard gates in more than one qubit we can just specify that in a vector in a list form so it will be easier to or it will be more compact to to construct this circuit so this is also supported then we have the quantum circuit gates that i implement i explained before but let's see some particular examples of them so we have predefined gates versus poly strings and control target definition so we can either call rotational white gate with angle 1 and target 0 plus the x gate or we can just um as for this poly string in this case the uh the poly y gate and it will generate exactly the same gate so the the the good thing of having this uh rp gate is that we can just decide any possible poly string of course it's only y or x or z or z they are predefined but if not you can still use them and these two ways are exactly the same in delivers exactly the same circuit then we have power gates so for instance we can call y-gate and specify the power and and we also have public strings versus structuralization in this case both gates are the same so as i said you can just specify your published strings as in this case x and y or you can also throttlerize your gate using the specifying the generator in this case probably x and y then with wavefunction measurements we can simulate the wave function by just spelling the q simulate and in particular we can specify the backend if we don't specify the backend tequila will find the backend that supports a wave function simulation and this is particularly useful in my opinion when you want to check if your code is working properly or if you don't mess up any part of your circuit especially with the small simulations and then we can simulate the circuit but this can this time by sampling so automatically we will obtain the measurements in this case uh we obtain 10 times the state 0 0. we can print the measurements and and specify which measurements we would like to print so if we are only interested in some basis elements we can also specify that or we can just we can simulate the measurements using this other syntax and then we have the parameterized quantum circuits uh we define the variables first we need to define the tequila variable and then we introduce that variable into our quantum circuit and then we can simulate the wave function by specifying the value of that simulation we can also print the circuit and draw the circuit with this this value and as i will show you uh that will be useful when we want to optimize the circuit as a function of these values so we can also extract the variables so if we are dealing with tons of variables for some reason and we don't remember exactly how many variables we have we can extract this by these variables easily or if we construct our circuit in a loop so we don't remember exactly how many variables it has we can also extract those variables and we can also optimize some of these variables and let the others and let the others without touching during the minimization process for instance if we want to optimize using the layer wise approach so this is very easily implemented in tequila and then we have different ways to define a hamiltonian so in general the hamiltonian will be defined with poly strings so paulie strings are not the same class as paulie mattresses but the idea is is very similar so we just called paulie x in this case or probably y etc we can use a list to implement this poly x gate on different qubits at the same time and we can also check if the hamiltonian is our median if it's not we can extract the medium part on the anterior median part and as i will show you later we can also obtain the hamiltonian for a molecule directly and of course printing that hamiltonian if necessary and then how can we create an objective as i said the objective is is the expectation value or a function of the expectation values so in this case the objective is just expectation value of the hamiltonian of publix gate so when creating this expectation value tequila will ask for the hamiltonian and the and the silkwood that generates the wave function and we can compile this expectation value and an obtainer and and and once it's uh it's uh it's compiler we can print it and we can evaluate it more easily by just you know specifying the value of the of the in this case of the of the variable a and something very important with objective is they can be differentiated so if your objective at the end you need to compute something that includes some differential parts of the expectation value you can do that using the the queue grad and this is also very important sometimes or for some of the objectives so let me show you an example of only all together and these are very complicated objectives and hamiltonian and and and a unitary circuit so just to show you how can we wrote everything together so in this case we define the variable a of our unitary operation when then we construct the the unitary gate by using this tequila variable and in this case we apply the index uh the exponential with uh with this variable and then we generate the the cubic hamiltonian in this case we can generate it from a string so it's not necessary to specify dq pauli x dq poly y etc we can just wrote the the string and and tequila will translate that into poly matrices and then we compute the expected value and as i said it can be differentiated so we can compute the the derivative of this expectation value and construct an objective that is much more sophisticated than just the expectation value of the hamiltonian and then in this case we use phoenix so we can minimize by specifying the method for enex and the objectives and all the phonics configuration that we have decided and the number of maximal iterations etc and more things that we can add and we can also plot the energies and angles of of this optimization by just spelling energies and angles and this is the result with the points that phoenix visited during the optimization so let me move and show you a particular chemistry example and first of all we will define the molecule and this molecule in this case is a hydrogen and lithium sorry i don't remember how to pronounce that hli and the basis set is uh sto3g so first of all we can just print the molecule all this information will come directly from your chemistry back-end so you need to install first either open fermion of psi4 or any other possible back-end rated with chemistry that we have installed and implemented in tequila so all of this will all this information come from part of this information will come from this vacant in particular this example use the ci4 backend and we can print the monica molecular orbitals and extract all the information that this backing can provide and then we will want to obtain the hamiltonian because we want to run a bigquery algorithm for instance so the first if we don't specify the method tequila will use the jordan vignette transformation by just a spelling molecule make hamiltonian but we can also specify other kinds of transformation for instance uh the bravic dive one so just by saying transformation bravicate f and then making the hamiltonian and then we can also select the active spaces to reduce the number of terms of the hamiltonians so if i'm not mistaken the previous this hamiltonian has like 670 or so number of terms if we restrict the active orbitals we will decrease that number and that could be more useful for us if we want to run a simulation with a few cubits and not many of them or if we want to reduce our quantum circuit as much as possible if we use the unitary couple cluster assets after that so then the this the example with the classical methods in general we would like to compare the result of our big we for instance with uh with the exact result or with the classical method so we we can just compute the energy using mp2 or using fci and in the end and print everything that from from these classical methods and also extract the the variables of these and the amplitudes of of obtained from these molecules and then this is the example of bicui from lithium iodide now i remember lithium hydride and first as i said we define the molecule we we constrain the number of orbitals the active orbitals to this one these two and we generate the molecule and using this particular basis set and the transformation bravicated and then we made the equivalent hamiltonian which will be the one that we will optimize in our objective and then in this case we can just decide to create a totally general bigquery answers or in this case use the unitary couple cluster assets which is in general used in in quantum chemistry so by just calling the function make ucc answers and then we compute the expected value as i said you before we can define the expectation value and the objective in a more complicated way in this example it will be just the the ground state of of this of this hamiltonian and then to compute the reference energies we can call the classical methods of fci for instance and print the results similarly to as i show you before so let me move to the last example which is a quantum machine learning example which is based on on the data reblogging for universal quantum classifier work this all these examples are in the tutorial sections and there are many more so please go ahead and check other ones and this exam i use this example because to me it would be very easy to show how can we compute fidelity which is something that in general is it's used in in in some quantum machine learning algorithms so first of all i didn't set that but we can cons define the wave function not only from the quantum circuit but also from a string of from an array so we can specify in the string for instance in this case the zero zero plus one one state or we can just specify the array of of this of this quantum state and of course when we define these wave functions manually remember to normalize it just in case because in general will not be normalized uh that doesn't happen if you if you define the if you obtain the y function for the circuit obviously because you have applied unitary gates so these are the three ways that you can use to define your your wave function in tequila and then we have two methods to compute the fidelity the the first one is the most intuitive one which is just compute the the overlap between your target state and the wave function of your circuit for instance and the second one is the one that uses objectives which is in the end the chord of tequila as i said so we construct the the we compute the the density matrix of of our target state and we decompose that into poly projectors and use these poly projectors as objective by just computing the expected value of the quantum circuit which will generate the the way one of the wave functions uh with respect to the to the to the density matrix of of the of the target state and in the end is exactly the same but the second option will be more suitable for the kill especially if we want to optimize the fidelity for as a function of some variables this is the model of the example so we have a model which which is divided into layers and its layer it's uh it's uh some single qubit gates in particular the general unitary gate but uh it's just like a composition of rotational z rotational y and rotational z gates and our the idea of the this classifier is that we have two classes in this case and we want to train our classifier to achieve one state or another and this is a very general uh way of thinking about quantum classification and there are many other words that do the same and the difference with others is that we introduce the data or in this case the the value of that we want to classify into the quantum circuit manually and we apply that in all layers so in the end the cost function as in any other words is the the overlap between your target state and the stick with the statewide function which depends on the additional parameters that we have to optimize so first of all we need to define the target the same way function and in this case uh i decided to to define it from an array so we have the state 0 when the class is 0 and the state 1 when the class is one and of course we can generate any other possible wave functions so this is just an example and then we construct the quantum classifier and in this case since it's organized by layers we it will be useful to just construct a for loop that that adds as many layers as as we require in this case as i said this model this answer contains rotational white gates that includes the the value of the point to be classified plus a parameter that will be optimized later in the minimization part of it and then we have the loss function first of all using the fidelity function that i just described before so it will take as an input the wave function the target wave function and it will compute the and the compose into projector the the density matrix and then we have the objective expectation value with the quantum circuit that will be our quantum classifier and the target and the target density matrix and with that we can construct any possible cost function in this case it's a very simple one because it's just the sum of all infidelities but we can construct a more sophisticated one and as i said we can differ even differentiate this loss function if necessary so we can do whatever we prefer with these objectives and this is the result this is the code for the training part so here we have this we will use the points inside and outside of a circle for classification and we generate the training set using a function that i didn't wrote here but just delivers the points of inside and outside of a circle and levels them and then we generate the variables in this the kilo variables in this case i wanted to call them theta th we can decide any other name and and then we initialize these variables at random in this case this is not very useful in general for variational quantum algorithms as many of you may know because there aren't plato problem but we can just decide if we can start at random of a particular point and then we we decide the optimization parameters in this case that would use a numerical gradient and i would use rms preparation method and and as i said the cost function is the objective and is the function that they just presented before that uses the data the labels and the parameters and then we can just test but we can generate the test by minimizing that objective and this is the result so we can bring the the loss which is the there is the energy of this minimization and we can plot the energies and angles and this is the result so it's very easy to just plot it uh with tequila because you you have a first idea of what's going on in your minimization of course after that you can just use your data for generating other kinds of plots but this is more or less the result that we will obtain with with tequila and then we run the test in this case this uh this um not so related with the killer so in this case the the test is 1000 points and we generate the quantum circuit uh with the parameters of random parameters to generated for the test we compute the wave function and in this case this is the important line here the wave function qc equal to q simulate uh here we specify that the variables of the quantum circuit of the quantum classifier are the results of the test so by just spelling test.angles we automatically substitute all the values of our quantum circuit bar by the value and the value and the values of the variables and with that we generate all all all the test points and we check if they are correct or not and this is the result so this is just an example of a very simple algorithm that can be used for quantum classification of course there are many more and we are working in new tutorials that implement other kinds of algorithms precisely because we believe that is the way to understand how not only how tequila works but also to prove and the plasticity of tequila how can it will and the versatility of it and how can it be applied to anybody or to any too many different um problems and these are the pro and the current projects that use tequila these are more sophisticated ones so the basis set free approach for bigquery employing per natural orbitals all these all these words have uh an example called at least the metabolization quantum mechan solver and also the computerized design of quantum optical hardware so these are more sophisticated codes that use tequila and it could be used as a as a proof as i said that the versatility of this language that can be used for state-of-the-art and to developing new algorithms and we are currently working in in in adding more and more back-ends in particular orchestra kibo by quest and intel qs i believe kivo is if it's not ready it's almost ready as well as orchestra but jacob can can say more about that but i believe they are almost ready and then we will also like to work with new libraries to implement mythic and tensorflow in particular but we are open to any suggestions comments and recommendations and also if you want to be part of tequila and let us know because we are we want to generate an open quantum an open source quantum language developed by academia for academia and and beyond so in the end and the important thing of this language is that everybody participates on them and everybody is willing to add more and more features so it can be really useful and the goal of tequila as i said at the beginning is to provide a general framework that can be used to benchmark and to test any possible quantum algorithm so you don't have to then rely on particular backends or that can become obsolete or maybe they or maybe they are not useful for you so for instance i some years ago i did a a simulation and i needed to to compare the the results in the ibm computer and the regretted computer and i have to wrote two different programs to exactly wrote to exactly run exactly the same algorithm so if i had the kill at that time it was it had been it will be much easier in the sense that i just wrote one algorithm and then i called back and equal kiskit or and i will obtain the corresponding uh simulation of this particular vacance so this is the idea of in behind tequila so we want just to simplify the efforts for theoreticians as us and and try to take into account as many possible new libraries and and codes and packages that helps in quantum simulation so for instance uh i don't remember who you said that but that has been working in tensor networks uh simulations that would be very useful too to mix that with tequila at some point so you can use tequila also to uh perform tensor network simulations or to simulate your circuit with tensor networks so you can compute some some values interesting values here so please let us know any suggestion and thank you for your attention and for all the developers of tequila so in the end the very big two developers were jacob and sumner and the rest of us we contribute in some of the of the features of tequila and i hope that this list just grows in the future so tequila 2.0 can include more and more people all the community if possible so thank you and please let me know any questions and i will try to answer them thank you very much alba we have uh time for questions i also have seen that uh jacob answered the symbolic back-end question on chat so now we have open discussion i have a question alba um so uh you you showed um when you were discussing the or showing the api that they're classical optimizers and you kind of alluded to quantum circuit optimization at one point um but i'm curious whether the api like might support additional like an additional stage for quantum circuit optimization either through i don't know if like you know for instance kiskit has their optimization levels i don't know if it's if it's possible to pass those through when you're compiling the quantum circuit but there's also you know like projects like pi pi zx which will you know kind of work outside of the embedded compilation loop of the packages themselves so i'm curious like i'm a big proponent of pi zx i think like it's a you know it works quite well and it would be neat you know especially for looking to run on different harder back back ends so i'm just wondering where that fits in to maybe tequila 2.0 thanks for your question and i'm really excited of of exit calculus to be honest so we are very interested on that and currently as far as i know i at least in the open version and they are not supported so you are talking about compilation right so how to simplify the circuit first before the the the real simulation or or running the the algorithm or to map your circuit into a particular topology uh we don't have that yet implemented but it's part of the list of things that we want to include definitely so yeah yeah that will be very useful and that's one of the big points in my opinion that that tequila has to implement at some point because that's in the end the a very very practical thing that we will need so how to map our circuit in a particular topology and also if we can simplify that circuit especially for nisk simulation so we want as as lower than gate depth as possible so yeah there are many techniques that can be very useful and yeah we want to do that so it's part of the list of things but it's not supported yet great thank you hey alba yeah thank you for the great talk could you elaborate on how we could incorporate tensor networks with tequila well that's that's the thing so we would like to but we will need to discuss that with someone that works with those libraries first so i can think about for instance uh i believe that it could be a model after you simulate your circuit you just map your so sorry you just call this um tensor network method for instance to simulate that circuit with tensor networks specifying i don't know bond dimension for instance and i can think about that because i in the end tequila is organized in a way that you can just add more modules and you don't touch the main code in the end the core of tequila is the objective so you can add whatever you want around it and just call it at any time so for instance i can just create the circuit the quantum circuit i can call the wavefunction module to obtain the mod in the the way function or i can just call um some tensor network module that will deliver the approximate the the matrix product states for instance of that of that wave function so that could be another way to think about it but i believe that it will be better to discuss that with someone that is familiar with uh with these libraries of tensor networks but yeah i believe that it will not be so difficult because in the end you can just call you know this extra library and and that's it and you just have to to introduce that in the in the source code of tequila and yeah in the end yeah i don't think it would be very difficult and maybe we can think about more sophisticated things i i you know like a full different module with tensor network simulation maybe well it depends on which applications are you thinking about but yeah i think that we can try many things oh yeah that's that's really interesting because for my master thesis i'm simulating quantum circuits using tensor networks and matrix product states so maybe i'll write to you later and then we can talk about this indeed yeah let's stay in thoughts and yeah we can try to figure out how to do that but yeah i believe that in the end the tequila chord will not be affected by anything that we add on top of that so that's the good thing of it so the skeleton is the same the only thing that in this option part you may also add mbs simulation of your circuit right thank you and maybe you can even use the optimization methods the classical ones to i don't know to find uh some of these uh some of the coefficients of the your matrix pro the state or optimize on top of that or i don't know so in the end you have all the optimization methods here so you can also take advantage of them that they are around you know they are already programmed there you can call them etc okay thank you so much maybe a comment on that like um if you're for example developing like tensor network codes um what's like as soon as like your back end which you are developing which uses tensor networks if this understands like quantum circuits and it sounded a little bit to me like it does if you say you are simulating quantum circuits then this can be more or less plugged into tequila the same way as we plug in for example the culex simulator and this means then as soon as you like made this connection you can use all the algorithms that have been developed using tequila before it's like the whole deal of like if you have multiple expectation values and you make an objective function out of them and then you sample them and then you need gradients from them this is all independent of the actual tensor network simulation of the individual circuits and as soon as you like connected it you have like access to all those algorithms to do like benchmarks or like tests like how far can your backend go right um yeah yeah i agree thank you jacob uh and jacob also answered some questions in the chat so thanks for that as well he's the master of tequila basically so sorry any other questions for alba or jacob i guess i have one small question about the user interface um is it uh is it pretty straightforward to for the user to to easily define their own onslaughts including in onsets where you have i mean it seems like most um packages that i've seen and i haven't looked that much but um you know it kind of assumes that all rotation gates are supposed to be parameterized by the optimizer but there's cases where you know i only want some some percentage of the rotations to be parameterized is that easy to specify or is there okay yeah let me show you a particular example for instance [Music] for chemistry we have already implemented the unitary couple clusters so you don't have to care about that so just call ucc and that's it and the answers is automatically uh generated and then for you know more manual answers uh this is the example of this example for instance so here i decided to uh to construct rotational y with the whatever values in this case one parameterized value but of course this x val is something fixed that it comes in my definition of the quantum circuit i can just erase this parameter here and just fix x bar parameter and not only that but tequila also allows and this is one of the one of the features that includes the minimization part to optimize only a few variables which means that i fix some of them and then i run my optimization as a function of some others this is for instance can be used for the layer-wise uh minimization that is using some variation or quantum algorithms that you fix the parameters of one of all the layers except one and you optimize on top of that and then you move to the next layer and you keep the the result of the previous one and optimize the next one and so on and so forth you can do that with tequila easily you just have to specify which variables would you like to optimize and the others if you prefer to fix a value of them or if you don't fix any value they will be initialized at random by default so this is also one feature in i believe it's in here sorry too many slides here in variables in additional keywords variables the list of variables that you want to optimize by default will be all of them and then initial values you have to specify which values in general you can use extract variables and and that's it and you will have all of them and then initialize at random or a particular value or you can just decide initial values and the values that you want to optimize if you have a specified before the variables but then again then in the in the quantum gates definition which i believe is here yeah these all the quantum gates that you have some of them are parametrized other are not for instance the x y and z are not parametrized they can be parametrized if you compute the power of them so the power could be a parameters if you wish but it's not necessarily so you can just mix whatever you prefer there are some examples in the tutorials i believe so you can check that there perfect thank you [Music] any other questions uh if not let's thank god again for the excellent talk thank you very much thank you alexei and thank you everyone for your attention uh so uh i just wanted to also um introduce um mercury who i see joined us he's also from stanford quantum he's a colleague of jeremiah so welcome mert uh and we have some type of general discussion um and uh i've seen in the recipes uh we ask folks to um either propose lightning talks or ask for lighting talks and uh i think folks who propose some of the lightning talks uh actually are not here but i think rishi asked uh if somebody can teach us um zx calculus if i'm correct and uh i guess we need to bring alex uh back from oxford with 101 right i think this was the topic we uh discussed right but we need to have some um 101 level tutorials so if you guys are interested i think it's uh it's probably a good idea to kind of invite invite some of the speakers back and teach us the basics which brings me to another question i think there are several folks here who are looking to enter the field and i received requests from some of the pretty senior software engineers in the bay area whom i knew as colleagues in various startups and some you know folks kind of really uh advanced for instance databases and they actually educate themselves in quantum computing and so i just wanted to ask amir maybe uh sasha uh so you guys are looking to move into this field what are the recommendations what are some starting points do you have some uh ideas uh how can somebody you know with general science background maybe working in um software engineering right now what's what are the good ways to kind of familiarize themselves with this field uh and maybe kind of like eventually i think folks really want to get a job in this field um if anybody has an idea because you know i i receive actually specific requests for advice what would you advise yeah i have a quick addition to that uh because i prepared some questions for the discussion and uh also can you focus on like everyone here with like phds and in the field and also people who don't have phds in the field focus on the benefits of and the necessity of a phd well i mean in the in this i mean phd versus not phd and i believe that things has changed a lot in the last years in a sense that when when i started my phd for instance um who was working in quantum computing i mean were people that were working in quantum information for the last years basically it was quite a small subfield in physics and quantum computing in particular and but with all this creation of these companies and and the realization that yeah quantum computer may exist and may be useful and many many jobs have appeared and now we need not only theoreticians that you know that think about the complexity of the algorithms or or designing the the new ones etc but we need many engineers many to construct the device because if not it doesn't make sense to everything about the algorithms but also many software engineers so and tequila is one of the of the examples and many other languages in the end so there is a lot of jobs that doesn't require a phd but rather a huge experience with python for instance or with other tools to really implement these quantum languages because that would be the only way that it would be useful for us uh especially in this niskera because we have the one so experimentally we have a quantum computer which is you know a device an experimental device we want to control that and we need a good interface between our computer and our hardware so we need to engineer that and especially if the coherence times in the quantum computers are so short and we need to you know perform all of the operations as fast as possible and for that i believe that there's plenty of jobs and you can check easily in many of the startups and companies that doesn't require a phd but rather maybe experience in quantum computing or not even that like experience in other fields and and then this from one side but also from other sides uh even if you have a phd or not and we only we also need people from different backgrounds not only physics we need people for chemistry for instance to tell us what are the problems in chemistry people from finance that tell us what are the problems in finance etc because in the end we are developing a tool that can be used for solving many problems but we need to know which problems we want to solve so that's why maybe people that doesn't have a psd is also useful of course because if they have experience in i don't know finance for instance they can provide this this information to us and we can work together to find the proper algorithm for instance yeah so uh a quick follow-up on that so we we see that trend in the industry right that in like most emerging technologies uh peop usually like uh people with phds drive the industry until there's like a point where you need more engineers especially software engineers that don't necessarily do research in that field or have that like breadth of knowledge but can do like the hard tasks of like coding that in or like making the like circuit connections that in in the hardware right but um the question is here i think like right now what i'm trying to ask is do you think that people can train themselves and do research in the field like um doing like designing actual quantum algorithms not like the hard hard task jobs but as like as researchers do you think people can join the field as research researchers without a phd yeah and i believe it's possible yeah in general the only problem that i i can see of course i have a phd so i'm biased okay so uh in the indexes matter but the only problem that i see because i also suffer from that is there is a lot of noise in the field and that happens all the time with all fields so sometimes it's difficult to tackle what are the real problems or if what you are doing is actually useful or not and for that it's really useful to talk with other people that provides feedback about your idea and what about what you are doing and this is very difficult to do if you are you know alone in your home and you are not part of an organization or or a university or a company but to be honest there are many many ways to get in touch with other researchers nowadays for instance this kind of talks and events and many others so i believe that you can really start by your own and then at some point of course you will have to make some contact with other people but you can you have you have i believe all the tools to start and then of course just contact other guys and ask questions like yeah i have this idea do you think this has said etc or just discuss that in some panel discussions like this one so it's easy to start by your own and but yet at some point you should take some contact with other people and other researchers if you want to do something because it's really difficult that you just have an idea that works because it may be worse in your head but it's or maybe someone has developed that before and that happens all the time so especially with this quantum information on quantum computing many people have worked in this field for years and there are many papers that are hidden and you just discover these papers like you have a super clear clever idea and then some guy in the 90s just develop exactly the same and it's difficult to keep track of that only the all guys in the field know this kind of paper so that's why it's also useful to to make some contacts okay so from what i understand you're saying that the the the the collaboration uh between researchers is necessary it's not it doesn't matter whether you have a piece or not but you it's good to be a part of an organization or an academic institution can we do a quick survey here on how many people watching this right now are have phds if you do have one can you put a plus one to the chat obviously alba has one but um i it would be nice to have like uh um see how many people have had phds and watching this interested in quantum computing um if i could add a few comments um i totally agree with everything alba said but um so i'm i have a position at intel and i should say there are some companies including intel that still have a very strong bias towards phds you know that's not obviously not universally true i know people at righetti who don't have phds same with zapata but i don't want you to get the the wrong impression that there are some companies that are a bit slow to adopt this but i think that should change pretty soon because as alba said we need so many workers um to do all the work yeah i mean as as for my background i'm currently working part-time with qceware and i i am a masters student at stanford right so we see we see this trend changing uh but obviously there are like different perks of having a phd and um i'm not like biased against a phd i would like to get one as well i'm just like trying to um see the understand the field and make other people understand um another question that i have and this is also open to everyone um is about the barriers to quantum simulation so um obviously tequila is backhand or hardware agnostic it's not just a simulation tool it can run on real hardware but um what are the what are the barriers to quantum simulation when we're trying to understand real quantum systems and do you think there will be a point where the the simulations will no longer be relevant we'll reach a point in hardware where the hardware will be we won't be able to uh simulate that hardware well that's theoretically that's that's that's that's possible but when do you think that will happen and again this is open to everyone so if anyone wants to join in well sorry to answer again um yeah i mean if you think so you mean classical simulation of quantum algorithms yeah i mean you know it's exponentially hard so at some point it will not be possible at all although if you have low entanglement you can do efficient simulations with tensor network techniques for instance so in the end that's to me one of the important points of quantum computing any algorithm any application you need to check if the amount of entanglement is high or not because if it's not you don't need a quantum computer you can do everything classically so that's on one side uh on the other side um we are we don't only have quant digital quantum computers we cannot we also have quantum simulators like called atoms etc and and you can do practical stuff with that the problem with these ones is they are not universal so they are only useful for particular problems or you can also have quantum annealing so there are other techniques besides digital quantum computation that can be useful for simulation even simulating many things and but yeah in the end um what we do as a theoretically let's say when you develop an algorithm you just develop a proof of concept uh algorithm you run that with 14 cubits or so something that your laptop can understand and what you should check is theoretically if there is some advantage or at least even if the result is heuristic as the variational algorithms if the scaling is exponential because if it's exponential and your and your algorithm is working with a few qubits of course you will know that it will continue working with more probably but still you can't simulate that anymore and that's one of the quantum super and the supremacy paper from google was precisely that they do they rest to simulate the result with a classical computer but at some point it was not possible anymore because the amount of entanglement was too high yeah so if we did put a time frame to that uh when when do when when does everyone think that simulation we won't be able to like yes for like low entanglement systems we can efficiently simulate but there will be a point where like the algorithms that are useful to real world uh will not be we won't be able to simulate them when do you think that's gonna happen if you if you were to take a guess if you had to like say like a month when do you think that's gonna happen i'm not asking about like quantum supremacy in some sense but like just like we you simulations won't be like useful or relevant anymore that will have to stick to using hardware even if you're not doing useful things but we will have to stick the hardware to the research but that's the definition of quantum supremacy precisely when you cannot simulate that with a classical computer even if it's something that is not useful at all but you know yeah i don't know because we are currently in this area because now the chips are 50 cubits or so still you need to control these qubits if you have the much the coherence and the entanglement is not high so you can again simulate that officially classically but i would say that in the following years i mean this year the next one and so i believe that yeah we will start seeing some results that cannot be simulated with a classical computer i don't believe that there will be probably not super useful results because it's still you know small things and see things that maybe can be simulated with a quantum simulator but we will still i believe that in the next two years we will see something in this direction but still will depend on the on the hardware side so we can develop many clever algorithms that take advantage of noise and everything and solves many problems but if the device is not well designed nothing will work so yeah so that's why we need so many people in the end so yeah it's an exciting field to be in um also i wanna i wanna talk about like um the landscape in europe for a bit um so this article just came out uh i wanna share it with everyone the link and there are there is a so united states i think started uh they had more startups at the beginning but now like europe is emerging with more projects and startups and as a as a so now you're in toronto but right if i'm not mistaken but you you are from the um you're from barcelona yeah i'm checking this graph and there are some so what is this landscape is universities or also companies products startups so it's at least in a spin it's not correct because the spanish national research council is not a startup it's a national institute and this photonic science is the same and barcelona cubic is not even an institute it's just it's a twitter and linking account that tweets about news about quantum information in general so what i can say is the in europe the situation is the following we have the quantum flagship which is a lot of money that the european union has put in quantum technologies in general and that has several uh several parts quantum simulation quantum computation quantum comp and communication and quantum sensing and metrology and also by basic science so we have to you know split the different parts of this money and in quantum computing and i believe that rishi you were the ones that is in charmers right uh probably you can tell more about that but there is there are different projects in the quantum computing part one of those is open super queue which i believe is the one that probably you're working on or i don't know which is the they are constructing a quantum superconducting quantum circuit in charmers but there is a collaboration of many people in europe but this is from the you know from the governmental point of view but there are many new startups there is one iqm for instance that is in thailand and munich and in barcelona you have kilimanjaro which is another startup uh and also multiverse computing which is a startup that focuses on software quantum software for finance and and then not only that so you you should also think about not only about the you know software computers or who is building the computer also who is developing the methods and the devices to build the computer and in europe you have blue force which which is a huge company for uh creating the dilution refrigerators use it for um super conducting uh circuits so these are basically the ones that are selling the all these refrigerators to absolutely everybody including big companies like google ibm's et cetera so and they they are from fina finland sorry so many uh so some of these enabling technology and parties are in europe some of them and and yeah newest startups are emerging but i still think that the problem in europe is that uh we don't have the tradition like in america of developing all these startups and so people prefer to stay in academia in general but probably this is starts to change because some people leave academia because they are tired of other things or because it's not for them anymore but now maybe they have the opportunity to continue their work and their research in as a startup so there i believe that there are there are some opportunities in europe and more than emerging so we will see it's kind of a race so between america now europe and of course china and and also japan and also in in australia so there are many many parties here and in the end is we will see who builds the quantum computer first and who and who developed the killer app you know but yeah i believe that now there are opportunities around the globe in general uh which is very nice so you practically you can select whatever continent you want to leave and try to find the quantum startup there yeah that's great to hear alba so when you were saying about a like a clarification on something that you were saying when you say the amount of entanglement grows exponentially the is it like a measure that you're referring to or so i keep coming across this but uh how do you know the entanglement doesn't grow exponentially sorry if uh sorry if i said that i was mentioning that the um the simulation will grow exponentially of course your will function will grow exponentially the entanglement grows with the well it depends what what you are simulating but with random circuits i believe it grows linearly but i'm not super sure about that with if you simulate condensed matter experiments etc it grows with the area law so it depends but yeah the point is that at some point if the entanglement is not low you can simulate everything classically with this yeah so but when you say entanglement is low is it like uh one human entropy of the entanglement or like are you i'm always thinking about entropy between you know half of the system versus the other which is the typical measure but there is as far as i know there is no particular bond of course like yeah if you have more than this you cannot do that anyway anymore it's more like if you don't have so when you approximate everything with decent networks you need to select your bond dimension which is related with your smith rank yeah so if that will depend so you know if your computer is super powerful you can still simulate highly entangled states you just keep the bond dimension high and that's it so at some point if you want to cut that you you need to take into account that you are cutting a lot of entanglement of your system probably if it doesn't have much it's okay but if if you suspect that there is much it's not so okay but yeah as far as i know there is no you know particular boundary more than this you cannot do that of course not it depends on your computer but efficient in the sense that you can approximate something that is close to the reality yeah and another comment is back to the phd or no phd thing uh like this this is open to all do people here think that there's a benefit of having an industry experience before doing their phd or uh like directly jumping into phd and then exploring industry or academy or whatever so could someone who is experienced or like who knows more about this comment on this it's like i don't have like industrial experience but like at least like my scientific path was not super straight so i would say there's no general answer to this if you have industrial experience before your phd this for sure has advantages but if you jump into your phd directly this also has advantages because then you're like finished earlier and those things it really depends on like you like if you have an opportunity to have like industry experience and you you like that work that you're doing there then you should do it but you should not force yourself to do something like this in order to have some possible advantage because then usually this goes wrong like if you're if you're not enjoying it yeah of course of course but the question is if you have like both options that you have an option to go to the industry you have an option to go to the academia then uh how would how would one go about weighing them both are interesting work let's say if you got to industry before like some of my colleagues worked like an industry a year or something and then they decided they want to do a phd and this wasn't a disadvantage for them like also like when they applied here uh in toronto like this was more like you have some additional experience right if you have been in industry like for 10 years people might get skeptical um but in principle like i think that's fine i mean in general to the phd question from the four like i think it's actually like if you want to do science you should get a phd there's no way around it you can you can do things without a phd but then you always have to be the one who really sticks out yeah because otherwise you will be the one who like if you like apply somewhere like they get so many like applications and this is like the first thing like how they filter it out and if you don't like have like i mean you can be like if you have like a super good reputation or something like then it's fine but like if people don't know you like and you don't have a phd they will just this will be the first filter criteria and these other qualities that you might bring they won't even see yeah that's also like if you want to do research there's a lot of like things you can apply for independent grants like uh you can apply like being like uh like the union after your phds like for postdoc grants like those things they all require a phd it's like all these opportunities you will not have if you don't have it like at least in the european system and i think it's the same in the american one so like you have a huge disadvantage if you don't if you don't have it but this is really just like if you want to do research if you want to work in science and technology that might be different actually but if you really like if your goal is to do independent research at some point you need to get a phd sooner or later yeah definitely yeah it's also it's a good like thing because like if you do your phd soon like and then you maybe figure out that you don't like academic research at all and that it's not like how you thought it was then it's better like to make that experience like earlier and then you can still go to industry like it's it's not that they say oh now you have a phd like no way we're gonna hire you it's more like it's usually an advantage right okay i can give you guys maybe a little unusual perspective uh it took me 15 years to finish my phd right on my business in computer science uh and um and actually i think i was the first uh graduate student who downloaded a significant chunk of twitter so i was the first receiver of the twitter streaming api and that's kind of my small clinton fan that i discovered justin bieber when nobody knew who he was uh so that's a little bit different right and so my my undergrad was in physics so kind of you know uh what i would say in and then basically i joined startups right so the first time i kind of lapsed in science when i joined in 2000 a computer uh kind of you know internet boom and then you know the moment i finished my phd i actually went to silicon valley and joined startup so so i think really i think you know it's kind of so i kind of straddle academia and industry and i kind of oscillated and finally desolation was kind of ended when i ended up here right uh and so i think it's and i'm pretty unusual in the sense that i finished my it took me 15 years to finish my phd and i finished it most people who who go to startups never do so you know the force function was you know my first child was going to be born and i kind of suddenly realized it's much better to be a dad in a small university town than in the big city so i actually kind of went to to dartmouth to be kind of uh to work with my regional advisors who my my degrees from japan but my committee member was at dartmouth and he um uh george benka he uh you know basically had a lot of um uh grants for for doing this kind of research right so so i think it really changed it really depends uh what you're gonna do right uh uh so i thought phd is very important in order to collaborate with academia i never wanted to make an academic career so people told me dude like you're too old already like you know you have to be like you know if you don't make it before 30 you know you will not have a kind of traditional kind of you know stellar career track in in in universities right but what i think what really changes especially uh with um kind of startup culture right that a lot of work is done in industry so i think what what what's really interesting for me in this quantum conversations context is we see these two forces collide right and so and i think quantum field is a bit delayed compared to traditional computer science because if you look at computer science you know it started in the 50s and 60s there was no computers right so who joined it there are people from linguistics math and physics people with the traditional academic background right and they all fuse together and suddenly in general computer science now there's a feeling that like you're wasting your time if you do a phd because instead of you know spending five years on a phd you should have joined google in the year 2000 you know we would be like a zillionaire and you can study anything at your leisure right uh or you can do a startup so the kind of the wisdom in the silicon valley shifted to kind of advice for action you know go in and do something first figure it out right is so so in that sense i'm a big proponent that it's really useful to take a break between for instance master's and phd right like i would not i would not unless you really want to be a professor in the top school right then if you really and i see a lot of folks like this right so i think and still regardless of enough all the money which is kind of flourishing around the field we have folks like this even in deploying machine learning who refuse to join a startup and advance science so i think it's really what is kind of what is your goal but if you if if you really want to change the world a big scale for industry i think you should really take a break and at least a year or two in turn we see a lot of people in turning then there are in the us this scope system in some places and in canada there are like you know so waterloo i think is very famous for this and stuff like that so a lot of these folks went to amazon for instance right amazon hired a bunch of uh waterloo graduates because they had this experience and in the uss drexel director university you know encourages people to take breaks so i i would really say it's very interesting right it's it's really interesting how this field evolves and and i think we have kind of academic track people here who have industry track people and i'd like to see more of both and kind of we'll see what happens going forward but but i think more and more people need industry experience because you need to integrate as this software gets into the world more and more people use it you get more and more people without phds who who need help right and so so i think it's really common on everybody here to kind of figure out how do we educate people uh how do we do one-on-one kind of level courses how do we do tutorials you know it's not really all about uh pushing the envelope how do we educate most people it kind of basic get them up to speed how and you know obviously coding is fun because like something like tequila can check it out on github and play with it right like this is the beauty of this so let's get on some thoughts i had yeah my thoughts align more with yours with your direction lexi yeah it's just one thing um taking keep in mind the different mentality in that sense between america and europe because that in america can work but for instance this oxidation taking 50 years for having a pizza etc in europe in many universities you have to achieve your phd in four or five years or you're done you know so you need to do that because you are forced to so it depends on the model so just if you if you take that in mind and it's like okay it's fine but i will do that in america which is not a problem so go ahead and taking a year to think about your future and explore other possibilities i believe it's always nice and good and if you want to come back to academia the only thing that you should also think is you need to continue publishing somehow because it's the way that you show that you have done something etc but still one year it's more than okay for for achieving other things and as jacob said i mean sometimes you start something and you just realize that it's not for you which is perfect because you don't lose your time and you just move to another thing and that's that's uh very okay and now with quantum computing which is super interesting is that in all these new startups and also big companies you you're actually doing research some sometimes so it's like being in academia but you're not in academia so you just have to keep in mind that at some point the things can change completely like you know your boss tells you okay now you have to work in this algorithm and that's it but in general it's not what is happening because in the end your boss will be probably a guy who left academia so his background or her background was academia too so so that's what's going on in quantum computing at the moment so it's not so different from academia because all these people that is funding new startups are people that are from academia basically so that's why their mentality is academia and that's why what uh they were saying before about the intel etc they have this bias by psd because in the end who hires you is a guy from academia so he he or she has this bias too so but it's something that it will change with time i'm sure so so yeah taking a year for it and that's why the internships exist in the end so you have this opportunity to explore other paths which is always good yeah but also these internships like they usually ask the big research groups if their phds want to do internships and then i think there was more like the phenomenon that they really didn't had like enough people like the pool was not large enough to fish from so they opened it up but this will not stay like this it's also not that i that i like that it will not stay like this or something it's just i think that's a reality like there will be like more people doing phds in that direction and then you will those are your competitors right so um if you don't do one you haven't a disadvantage a clear one it's it's not that i'm in favor of the system but um i think this is more or less how it works it's like i don't want to like create the impression like you don't need it you can just do whatever you want um would be nice but i yeah you kind of need it all right uh i think that that was a really good coverage of the phd topic i still you know we didn't get to the question of kind of initial resources i wonder you know if any of you guys have uh advice right like for uh let's say software engineer in silicon valley who wants to get into the field right and so they are practitioners so they're not graduate students you know they they just want to like the self-learners right essential do you think it's feasible to do some self-learning in this field or do they need to kind of take classes and go to school what do you guys think well i can give you um i can give you someone coming from an industry perspective and i'll take a non-standard approach to answering this and that i i'm not a fan of like trying to get into the industry and i i think i think it is a uh it's maybe a place of like it depends on your your current employment if you're if you have a nice stable employment you're able to learn this stuff in your spare time and um yeah and maybe at least position yourself in your own company as close to quantum computing as possible like whether that's being involved in machine learning at your company or whatever you know there's there's some point within your company that you could probably get to if you're not there and and my thought is instead of trying to get into the industry i would rather i take this viewpoint of let me build my skills enough and start contributing where the only thing i can do to continue is to join is to become involved in the industry more so than trying to find an avenue in for a job and you know each person may have their own needs maybe they you know they're coming out of school they need a job or whatever but that's my approach i think there are plenty of good resources quantum country quantum duck country uh the um i went through the mit courses those are kind of expensive so i think the one on edx from berkeley is phenomenal with um uh i'm trying uh vazarani uh teaching um and yeah and and now and i to the phd point i think it is very important to have a phd for the level of formalism and the type of research we're going to be doing in the field for some time there's definitely a lot of software engineering jobs but i'm not so interested in that to be honest even though and hence my point about getting into the industry yeah it'd be cool to say i'm working on quantum computing stuff but i would much rather put in the time to become an effective researcher and that's just my take thank you this is great perspective yeah absolutely if you know if you're able to balance it right it's essentially if you can hold the job uh in the valley and and learn on your own time right uh that's certainly one option for folks who are curious and thanks for the merit posted a very cool uh link in the chat so thanks for that so that's uh by one of the authors of um the nielsen and trunk book is like the bible of quantum computing in my opinion and nielsen is the person who created this website so um i didn't use it myself but um i think it's really cool and uh i ha i think there is a clear um [Music] there's no way to like a good a good platform to learn quantum computing on your own uh where whereas there is like many like you can teach yourself machine learning now or like any other emerging field but it's it's really hard for quantum computing because of the noise as alba mentioned in the in the in the field so um there's definitely a need for like something like an academy or or an online platform to to self self teach quantum computing yeah i can comment on that i use i have started learning the part of quantum media and there's a a book uh says i think it's from this year that has like the from case kit let me take it from it and it has like the interactive things and on all the algorithms so you can like as you say do the machine learning things you can try it out and step by step trying to learning and also i think that the cascade videos that they send in youtube all the time they are pretty good ones to start learning like the beats if you don't have any idea of what uh what are you thinking and one thing that i like is like in the point of quantum computing like taking like out all the physics that you need and say okay this is the operational way to do quantum of beauty it's really interesting let me let me see what is the name of the wall but maybe i will bring you into there into the chat but yeah i think from my perspective i'm commenting on what else i i did my masters in physics and then i went into industry so and and then it's like it it was like a coincidence that they started doing quantum things in in during jb morgan so it was like oh you have you can have this opportunity but i left the bank then but i am trying to do it again and it's like as you say a lot of noise and a lot of things to to learn and maybe if you want i don't know how is here but in i'm i'm in argentina and it's really complicated to find like jobs for for doing like research or or doing something in industry watching eating here in the south and it is it's another problem you you just talk like in united states and in europe but in south america is like a complete different thing so it's really complicated to do it by your own but i don't know there's one thing that i see is like if you're coming from this software engineering team it's like alwa said you need uh people that need know how to do that the good quan the good engineering the software engineering and that's the problem i know and in science like software in science is like very messy scripts and trying to build up is like a knowledge that you can have from there so it's like yeah i don't know it's now the whole globalization and this is the remote works maybe you can have a like a new perspective of what you want to do maybe there's new positions in startups or local i don't know if you do like meetups and then people is like trying to engage in that that kind of things maybe can start doing to to learn let me check the book thanks sasha actually you know guys uh i just wanted kind of it occurred to me you know amir and sasha you guys spent obviously uh uh some time educating yourselves maybe uh we can do um a specific uh uh quantum conversations meeting uh where folks will just you know give talks how they approach the field right and i think it even applies to the academia for instance right like um because even in universities a lot of people come into quantum field from other areas right because they started out maybe in some other areas of physics or chemistry or computer science so uh i would really appreciate it if you guys want to give this talk maybe it does have to be long right because we can do for instance you know uh three twenty minute talks or two thirty minute talks right like we can and we're a bit flexible so um think about it right uh email me uh you know my mail i'll put it here again so you can always contact me alexi chief scientist.org i had i held the job of a chief scientist at some point so i kind of got this you know uh handle so uh you know if you want to propose a talk you know just send me uh a note and we i would really appreciate it because i think it would be very useful for others to learn how you learn like how do you know because a lot of this is self-learning discovering resources right and even in the in the research group kind of how do you navigate the field uh and and and maybe like like you guys already share some links uh in the chat maybe you can actually kind of post some slides with some you know useful things which were useful for you right because different things are helpful for different people so just you know requests for basically requests for for proposals so maybe we can do the next one yeah i will try to see if i can build something and i will email you yeah like can be pretty informal right like you can you can put together some some kind of a few slides and you can talk to kind of what you know your general experience so yes thank you have a quick question uh about tequila for alvaro jacob um i guess a real quick um what types so say like we want to create like a group of students who want to work on tequila and help out on the github um and help with issues what type of i guess prereqs or skills would they need um besides maybe basic like python coding um to like effectively contribute to the new github uh depends a little bit on like what uh what feature like you want to implement um for example the easiest thing is like if you have like developed some algorithm which just uses tequila and then you want to like integrate this like as a like as a boxed module which you just can call then it's like it's pretty easy like to contribute because um that usually you don't create a lot of conflicts with that because this is like just your code um and then you just uh you just make a pull request and that's it um and then usually like we will go over the code and like check if like uh some things could be potential conflicts but that's more or less it if you want to go deeper into the library it marks more or less the same like if you you can add like features or like optimize it like deeper in the library you make like a pull request we go over the code and we might notice some things where we see um that this will cause trouble for other projects which like usually it should like already be flagged in the automatic like tests which run on github but like if not then we might be like um would be good to change this like this and then we can start like discussions um but that's more or less it's um if someone like would like plan like to make like really deep changes or something it might also be like useful like to let us know beforehand then we can try like to coordinate um but it's more or less like this like you need you need to have the skills like to implement what you want to do like of course and then it's just like you need roughly to know how git works um if that's a problem like people can also like just approach us and say like how does it work with the forking and pull requests like it's then we can like hint to like the one of the thousand like tutorial videos then uh like it already worked like some some people already like did some contributions um and it worked fine yeah in the end if you want just to start and get familiarized with it that it can recommend you to just you know one algorithm that you have developed or maybe not have developed but you want just you know to practice with that oops sorry and create a tutorial with tequila you know and then we add that to uh to the tutorial section so after that you got familiarized with it and maybe if you it's it could be a way to just show your work and then after that that tutorial could become a module of tequila you know so after you know the clear idea how to do that etc we also know that so you can just okay let's implement that in tequila directly and then we also for instance if you have some simulator in mind or some other language that you want to to also add as a backend it's you know as jacob said it's okay let's move let's add another backhand and this is something that is made separately of tequila and and you just add that and of course it has to pass the test etc so there are many ways to contribute so just you know explored a little with the github repo and let us know because of course we can help okay well yeah the main reason i asked is because um at stanford i guess we're creating a new initiative uh like a new course for next quarter like we're starting january where we put a teams of students together undergraduates or graduates to work on open source projects or in general like open with open source resources um i think tequila be a great i guess like uh package to work with as well and so either one like students could try to just you know improve tequila and fix issues or in general help out you guys in certain parts of the github but also we also hope in that class to use tequila ideally if students don't feel comfortable with it as like an actual resource to do quantum simulations um so it's good to know like what sort of background you need and how you both said like you not really too much i suppose it's gotta make your own modules more kind of yeah that would be very cool actually because in the end we also need feedback you know so like for instance i don't i don't like that tequila implements this syntax in this way for some reason so maybe we can check that so it's also good that more people start using it so in the end tequila skeleton is there so the idea is that everybody that wants to contribute and add more things it would be easier to do that because you just have to wrote the module and plug it and of course if you want to check the code more in more detail so you can also do that so yeah that would be great so let us know if you decide to do that because we will be more than happy to provide any help that is necessary yes definitely awesome thank you yeah there's also the opportunity like especially if it's like a group of students um we could also like add them to a shared slack channel with us or something and if they have like questions we can answer them on the fast way because sometimes people are also like afraid like if they have questions like to raise a github issue because it's like on worldwide display so to say and i think it's like it's a limiting factor often and then it's like then sometimes something doesn't work or they get like some error messages they can just send them to us and then we have a look it's basically what we do like with our like colleagues also who use it um now we are we have some we will have some mentees of the quantum open source foundation i i see that some of you mentioned the open source thing and they will be working with the kill i mean they have different backgrounds so they we will give them different projects to work with and the ideas you know help us to collaborate and grow the community and this is something not only open source but also develop from from academia from university of toronto so it's it you know it's the idea is that everybody around the world it doesn't matter if you're part of a company or academia you don't have to ask permission to anyone just contribute if you want and yeah that would be very great and we have a very list of things that we want to implement so we can also give you some ideas if you don't know any uh of what kind of things can you help us to contribute and increase the features in tequila you know screen maybe over the next month or so i'll reach out to you guys and we can have a deeper conversation about this yeah feel free to do so yeah so i was like we have a little bit of overview like over like for example some of those for this open source foundation who are doing some projects and then if some other students want to do more or less the same like we can already like prevent that um they are like like working on that and then the next month someone else like adds that and then like they feel like uh then that's a big bump on motivation i would say i'm like to avoid like having these kind of like clashes like they don't have to they don't have to share their research secrets with us but like if it's like uh basic like projects which are fine like to share so um just yeah yeah feel free to reach out like we're more than happy to help with that awesome thank you again all right i think we covered a bunch of topics and so i think we're kind of to our mark so i want to thank everyone uh for uh great quantum conversations and i think going forward uh i think this format really works we will have one main talk in my main theme right and we also have uh kind of a longer general discussion i think really great topics came up we'll have some links i'll post them uh on the site and i want to thank again uh jeremiah and merc as community organizers again you guys are very welcome to uh to join in and help this is really a community endeavor so thanks a lot everybody really appreciate it and uh send me some proposals for the talks i think you know uh this kind of one-on-one self-earning theme uh would be great for the next time so i'll ask some folks to to to give talks and send me some proposals and i see you guys again last wednesday of november thank you very much thanks a lot guys have a nice day thank you guys everyone thank you