 Dobre. Moj sem Petar Korponajic z Kvantastika. Kvantastika je kvantum komputing start-up z Helsinki, Finlandu. Zvonim z Serbija. In tudi smo... Stavili smo o kvantum komputing, and now something refreshing, I will talk about apples and oranges. Okay, that's a joke, of course. So I will talk about two things. First, in first part, I will talk about path from kvantum komputing start-up, from open source project to kvantum komputing start-up. That's my path. The reason why I will talk about that is because this is Open Source konferencij in v svojih, da so programov, kaj mi, in ideja je, da se počuče, da počuče, da počuče, da počuče, da počuče, da počuče, da počuče, da počuče, da počuče, da počuče, because it can lead to nice possibly carrier. This is first part. In second part I will talk about apples and oranges. In second part I will talk about connecting, running the code on different types of quantum computers na različnih branskov. Na zelo, počekujem, tezovost na tazivov ponovil, nekaj začnem ozretil, tazivov začnem, taziv, to je plan, dobro, tako pa, tako, da zato, 5 rov tem, tako, kratem, komputin, da je sleda v 2014, v 2014. In, naredam, kako je kvantum, kako je kvantum komputer, kako je to. Nekaj sem odličil, kako je kvantum komputer. In, naredam, vikipedia, vrstko vrstko, naredam, in, naredam, kako je kvantum, kako je kvantum, kako je kvantum, kako je kvantum, software engineer, naredam ni o Finlandimortalnih, nik Stromمверtnih landingеж, naredam ni o fisisine, je čekala to vrste. Samo Late Twist, puesей da, kako plansjimo v prve posredne areegt v vrstko, obovog kvantum komputer, napotnočimo, ga autosč aj Certainly in o poresvenim, in in in poresvenimzeljan immediately. Simplj, simplj, ilič so izgledali. V teče sta, there was only scientific papers. Oh, ok, there were some books, but most of the material you can find on internet was scientific papers. Written by scientists, Nobel prize winners. And when you read that paper, it's really hard. je bilo, da se je vzoutočilo mat. Tako je nekaj nekaj zelo, ali vseč sem jezoutočil, in sem jezoutočil, nekaj nekaj basik, zelo je zelo zelo zelo zelo zelo zelo zelo. Zelo sem kvantom komputinja, ker je zelo zelo vzoutočil, ali sem izvahel, in potem sem zelo zelo zelo zelo. Proste projekte je kvantum circuit simulator, implementovati v JavaScript. Proste v JavaScript, ker sem počekal, da je bilo v browseri. Moja materija je C. Moja primerija je C, ali sem počekal v JavaScript. To je publika in opentosna. in po vrste razduženje sem vzout, da je iBM zvuken, vzelo, da je vzelo kod. Se vidimo, zato je dobro in poločil kiskit. Zelo kiskitrej kript, a njih je vzelo, način je odmah do moj repozitovi. Zato sem vzelo, da je iBM, da je vzelo kod. Zelo je vzelo. tako vse je delat. Jeste, ki da ne, že kvantum komputenja je več, več janko sprem. In kar je, kvantum komputenja, jaz sem po poživnih ljudi na svom svojim, kako se počema vse. In jaz je automatik počema vse izgleda vse vsej vsej. Moj kod je ne in to je nekaj mažnji. Moj kodil je maybe only open source javascript simulator in to je pa, da ima iBM klonit. Tukaj projekto je prišljena. Prečo je prišljena, tako je prišljena, tako je prišljena. Na različne različne projekte, ki je Kvantum Programming Studio, Kvantum Programming Studio je web UI, for making quantum circuits, something similar to IBM Q Composer, so drag and drop you assemble circuit and you can run it on two types of quantum computers, you can run it on regetti and IBM quantum computer, directly from UI. And Qbit Toaster, I name it Qbit Toaster, maybe funny name, that's a simulator, high performance simulator written in C language and I believe that we have maybe the fastest simulator in the world on single mode, on single machine and soon we will have simulator running on cluster and on supercomputers. So those are projects. And then when I started implementing Quantum Programming Studio, I applied for a unitary-fond micro-grant program. Will Zhang, who is present here in the audience, he is running this project and I won a grant and it was, now it's 4,000 euros, grant of 4,000 euros, in that time it was 2,000 in two parts, so you apply with your open source project, you send what is your idea and everything and they decide to give you the grant or not. And I suggest to all of you if you have some quantum computing project already to apply for unitary-fond because it works. And this gave me actually confidence, self-confidence that I'm doing something valuable and I continued and launched Quantum Programming Studio in February 2019. Quantum Programming Studio now have more than 800 users, which is not bad for quantum computing. If it is naked celebrity we will have 8 million users, but this is Quantum Programming Studio, so 800 users is not bad. Then I decided to make a startup. First I made it in Estonia, because I am from Serbia and Serbia is not the best place to work in quantum computing. And Estonia was easy because they have that electronic government and I have irresidences, so I opened company in Estonia. And later, four months ago actually, I switched to Finland. In Finland I have investor, but before that to say that after I founded a startup shortly, Fantastica became Rigetti developer partner and Quantum Programming Studio is listed in Rigetti community in Rigetti QCS as a partner application because Quantum Programming Studio allows you to visually design quantum circuit and to execute it on Rigetti quantum computer, so you have UI for quantum computer. Then I investors started reaching to me and I found nice investor, Ice Baker from Finland and I actually moved my company to Finland. Then I employed my code contributors, because the quantum circuit project was open source and still is open source, my code contributors were first choice when I was forming a team and I will keep that, so contributes to our open source code and it's possible that we will employ you. And today we have Quantum Programming Studio, which is IDE, then we have language converters and drivers for popular quantum computing frameworks so this is our ecosystem and today because this is open source conference I will talk about language converters and drivers and here we go, apples and oranges. So what is the problem today, each brand of quantum computers has its own language or framework or usually Python framework for programming their chips. IBM have Qiskit, which is Python framework and they have Kazem, which is quantum assembler. Then Google have Sirk, Microsoft have Qsharp, Rigetti have Pyquil, framework for Python and Quill, which is kind of assembler for low-level programming QPU and so what is the need, users are familiar with their framework of preference, so unlike other disciplines in quantum computing your users are mostly scientists, mathematicians, physicians, et cetera and they are not programmers, they code of course but they are not really that skill, this is not their main skill and for us programmers the changing the framework is everyday routine so there is millions of frameworks and everyday you need to learn new framework to implement something and it's not for users of quantum computing it's not that easy to switch framework and if they know Qiskit tomorrow you will hard force them to use Pyquil or vice versa and other use case for converting between quantum programming languages is if you want to run and compare the same code on different chips or different simulators you need to manually write the code and quantum cloud providers maybe you know that IBM already have quantum computer in the cloud, Rigetti as well they have Rigetti quantum cloud service Amazon is soon we will have Amazon bracket Microsoft Azure Quantum so big players will offer very soon more and more big players are offering quantum computer in the cloud and those providers have different chips connected to their and offered in the cloud for example Amazon is using Rigetti quantum computer as a provider for a chip and now question is how that quantum cloud providers which framework they will allow you to use for example Amazon when you tomorrow register and open your quantum box you have multiple quantum computing chips connected and what you will use to program that chips if this is Rigetti you need to use Pyquil and what if you are familiar with Qiskit so you need to switch to new framework which is for quantum cloud providers I think it is the best if they offer to let users to choose whatever framework they want to use with no matter which chip is connected and we have open source solutions for that where you can contribute of course so we have in projects in Javascript and in Python both Javascript and Python why Javascript? Javascript is very unusual in quantum computing space people mostly use Python but why Javascript? because it works in browser and if you have you don't need to serve your code server side it executes client side in a browser and it's much more responsive this is why we have both Javascript and Python projects so this Qconvert is a common line tool there is also web UI and HTTP API written in Javascript there is a fantastic Qconvert this is Python package it's called converter for Python and we have fantastic Qiskit forest this allows you to run Qiskit code on Rigetti quantum computer and simulator by replacing only single line of your original Qiskit code and forest backend it's currently in prototype it's not public yet and there is no official name so I name it forest backend it allows you to run Pyquil on IBM quantum computer and simulator and so this is our Quantastica GitHub those are open source projects this is connectivity you can see that we import QObject QObject is low level format JSON which describes quantum circuit and this is output from Qiskit actually and that code we import and convert into all formats you see at the right side then we can import Kazem quantum assembler and we import Quil Quil is new, very new Quil parser is very fresh from last week I couldn't look into Will Zeng's eyes without implementing Quil parser so before force them it was deadline let's make Quil parser and it's very useful to have because now we can import code from let's say three formats and output is from our own and yes there is one more input not on the diagram is input from our formats and input from quantum programming studio drag and drop tool and now when we have it in our internal format we export it to Kazem and you can run it on IBM chip or simulator we also export it back to QObject so we intercept from Qiskit code it produces QObject we convert it to other format and from other formats we convert it back to QObject which can be executed export to Quil and PyQuil and we support multiple versions of PyQuil this is Rigetti formats formats used by Rigetti then export to Google formats to Sirk framework export to Quest Quest is simulator by Oxford it's written in... so the code is C++ so it converts to C++ and export to Qsharp, Microsoft Qsharp we... so code can run on Microsoft Quantum Development Kit they don't have yet quantum computer but soon they will have Azure Quantum in a cloud export to Quirk Quirk is drag and drop tool, very handy it runs up to 16 qubits so we can export into that format as well and export to our own formats and export circuit drawing into vector or bitmap formats so this is connectivity diagram and this is Qconvert this is common line tool written in JavaScript so you install it from NPM NPM install Qconvert and you can see the usage so Qconvert input file source format it doesn't automatically detect source format so you need to tell this is cousin or this is Quil output file and destination format and it can also generate the Jupyter notebook which is handy you don't need to copy paste you can directly generate Jupyter notebook nothing more to tell about Qconvert so there is a... UI I can show you live demonstrate how it works so let's Qconvert so here you can type you can type the code in left side you choose cousin, Quil or you can also import unitary matrix let's say Quil and use for example C0 2, 3 and at the right side it generates code for example let's show Qsharp so at left side you type Quil at right side you have Microsoft Qsharp or you can have drawing for example it automatically updates as you type and of course you can download directly you can download Jupyter notebook ok let's continue excuse me so Qconvert is fresh very fresh and very untested but it works and we accept pull requests so this is usage few lines from Quantastica import Qconvert and then you have converter so you can use it as you have source code in some variable you can say Qconvert convert from which format you give it source code into which format and some options and you get the text converted language easy to use then there is forest backend for Qiskit it allows you to run Qiskit code on regatic quantum computer or simulator by replacing only a single line of code so how you do it pip install Quantastica Qiskit forest and from Quantastica you import that package and instead writing this backend error line you type forest backend get backend and your Qiskit code will execute on regatic chip now my intention I reserved block I reserved quantum computer 15 minutes of quantum computer in regatic quantum cloud services let me see yes so my my reservation is active now 554, yes next few minutes, next 10 minutes problem is that something is not working I think because the connection internet connection some port is closed on router here so my intention was to run Qiskit code on regatic real quantum computer in front of your eyes but unfortunately that it didn't work but I will run on simulator so I prepared let me see ok so this is Qiskit Jupyter notebook, Qiskit from from popular Qiskit textbook this is quantum approximate optimization for solving max cut problem and I will simply run so this is original code where here is so here is the code which executes executes this on local simulator now I will run entire notebook and we have some results here ok and now I will switch to I will switch to regatic so this is Qiskit code executes on custom simulator ships with Qiskit now just comment that line import our forest backend and say instead this line say this one so forest backend get backend 5qubit QVM and run and gives the same results so and it also works on real on real quantum computer not only on simulator but unfortunately I was not able to show you ok let's continue yes demonstration that was demonstration and that's all from me thank you for your attention now that rotten tomatoes you prepared you can drop now I'm ready if you have any questions please ask I'm ready to answer so I have a question about this Q converter so when you transpile various ways of writing down quantum computing algorithms so is it always easy or possible to turn one script into the other or are there cases when there are some errors because you cannot turn it or even worse when something is almost like but it's not exactly I'm not sure that I understood the question so can you please ok so maybe in other way in Q converter is it always possible to turn one script into the other or sometimes there are some interactions which are not supported by the other language well it converts low level quantum so it doesn't convert entire kiskit into PyQuil for example it converts only quantum secret because in quantum program you have classical part and quantum part classical part is optimization in the other thing you normally do classical program and the quantum part the quantum secret which executes on simulator or on quantum computer this is what we convert so we don't convert entire for example entire jupiter notebook into another spice of PyQuil of python into another framework we just convert low level quantum secret if this is that was the question it's hard to convert for example we tried to parse python and to convert kiskit into PyQuil but it doesn't doesn't go well simply you cannot do that because the code relies on other libraries and packages from kiskit so in that case we will need to convert entire kiskit into PyQuil I mean it doesn't it doesn't work if that was your question thank you since you have such an overview of all the different frameworks do you think you can comment if there's already like a framework you would prefer from the standpoint of formulating and then using the converter to get into the framework which is actually used by the hardware or the implementation yes idea is that users for example of quantum cloud or whatever you do with quantum computer or quantum simulator even if you are experimenting at home to use your framework of preference with any chip any other questions now let's thank the speaker