start	end	text
0	1400	Okay, welcome everybody.
1400	6340	Thank you for coming on to Quantum Algorithms for Finding Short Vectors.
6340	11780	Glad to see that the title didn't dissuade too many of you.
12300	16860	So, let's see what we have here.
17520	20480	Start off with a quick overview.
21020	27740	So, first of all, Mark took a little bit of content from me earlier.
27740	29720	I'm asking who does what.
29720	33560	So, we'll quickly recycle that.
33560	36680	It's helpful to know exactly who's in the audience.
36680	41380	So, who identifies more as a quantum person?
42460	44200	Quantum backgrounds?
44440	45520	Excellent.
45520	48160	Okay, who's more... we've got somebody over there.
48160	50260	Who's more cyber security?
51160	52780	Okay, cool.
52780	56460	And then we say cryptography in particular.
57400	62820	Okay, so hopefully a lot of this is going to be new and interesting there.
69120	72720	So, the gist of cryptography.
73260	79760	We've got a few cryptographers, but not too many people are native cryptographers.
79940	85000	Generally speaking, we've got symmetric cryptography, which is kind of like the old stuff.
85000	90780	Pretty efficient stuff, AES, hash database on that.
91520	94740	And essentially it's lots of scrambling.
94800	102980	It's kind of interesting, but the really juicy, interesting stuff, as far as I'm concerned, is in this public key cryptography.
103220	113220	So, this is key exchanges, your digital signature algorithms, and this is all the wacky stuff which we wind back 70 or 80 years.
113220	118320	Nobody really had even conceived that public key cryptography could really exist.
118320	129460	How can you share a secret with another individual who you don't even have any kind of exclusive access to?
129460	130920	Super wacky.
131680	140100	Now, the interesting difference about public key crypto is that it's based on some kind of hard mathematical underlying problem.
140100	150080	So there's some kind of juicy structure, and when you get into this, stuff gets all super wacky, and we're going to dive into that a little bit later.
151200	157460	But basically, breaking crypto systems reduces down to just solving mathematical problems.
157460	168100	And that's the really exciting bit, because until this point, mathematicians were really not very useful.
170060	176080	Prime numbers were used for music a little bit, but this really gave us a reason to.
179130	180670	So, what are we going to do?
180670	186730	We're going to try and have a crack at this NP-hard problem, the shortest vector problem.
186730	193510	And this is one of the problems which underlies these next-generation cryptosystems, which is based on lattices.
193510	195430	It's a really cool family of cryptosystems.
195430	198070	We're going to talk a little bit more about how that's taken on.
198990	203950	And it's the hardness of solving the shortest vector problem that makes cryptosystems secure.
204210	211730	And the reason I really like talking about and working on the shortest vector problem is because it's really...
211730	220450	I mean, OK, it's a maths problem, but it's so geometrically beautiful and simple that I can actually say this to my parents.
220570	226830	And whenever people ask my parents what I do, they say, oh, it's something like, find the sort of distance between points.
226830	229350	And it's pretty comprehensible.
230370	236730	And then what we're going to do is we're going to try and design a quantum SQD solver, which is...
236730	241790	I guess that's the thing that got a few of you in here.
244470	252750	So the actual structure, being concrete, is despite my maths background, I do not like equations very much.
252750	256490	I'm up for ideas and pictures and understanding stuff.
256490	258770	I want to understand the ideas and the concepts.
258770	262610	The equations are just a way to get a number or a parameter.
262610	265870	So not too much dry maths equations.
265870	271010	And the ones that are, I try and keep to V equals X dot B.
271230	274630	That's about as advanced as that gets, and a little bit of linear algebra.
274630	276850	I'm going to try and go heavy on nice pictures.
276850	279250	Nice pictures are far better for learning.
279330	283970	And what we're going to do is we're going to use this problem.
283970	287550	We've got a cryptosystem that we want to break.
287550	289730	It's based on a mathematical problem.
289730	296830	And we're going to create a quantum algorithm to try and see if we can have a crack at solving this problem.
297470	303410	And this is a nice framework to basically take us the whole way through a workbook.
304130	312650	So we can start off with a brief and high level intro to quantum computing, because we don't have many quantum native people there.
312650	317970	And that's going to be given by Ryder here, who I will introduce momentarily.
318690	322970	I'm going to take a spoon of continuous time quantum computing.
322970	325270	So this is a really interesting paradigm.
327050	335770	It's super different when we actually get into it and describe how it works to the gate model quantum computing, classical quantum computing.
336470	338810	But actually it reduces to the same stuff.
338810	340070	Super cool.
340550	347390	Then Ryder here is going to give an intro to lattices and lattice problems and how it relates to cryptography.
348790	352110	And then, we're getting to the business end now.
352110	361110	How do we take these lattices and how do we map it to something that we can actually put on a continuous time quantum algorithm to solve?
361830	367870	And at this portion, we are going to move to the interactive part.
367870	374270	So if you've bought your laptops and you want to participate in this part, then we've got a couple of collabs for you to fill in.
374270	378970	We're going to fill in the Hamiltonians.
379190	380950	We'll explain what that is later.
382070	390510	And hopefully, we're going to be able to submit these queries to the D-Wave 5000Q quantum solver.
390610	396430	So if you haven't already got a D-Wave lead account, it takes two minutes to set up and it will give you an API key.
396430	397990	You can just paste that in.
398950	403030	And then, you just run the whole way through the notebook and just check out your results.
403030	407910	And then, you can be reasonably confident that we won't be creating any of these cryptosystems anytime soon.
409410	418250	And then, at the end, for those who don't want to participate in the actual coding part, then we'll do some interactive Q&A.
418330	422690	There's loads of questions, loads of interesting discussion topics.
422690	430750	And if anything, from however long I've been studying this workflow, there are far more questions than answers.
432590	436590	And there's some interesting other content that we can move on to.
437610	441450	So, without further ado, I'm David Joseph.
441450	444990	I'm a senior research scientist at Sandbox AQ.
444990	450250	And my specialities are quantum algorithms, looking at quantum atmospheres.
450250	456210	So , one of the capabilities of quantum atmospheres against various cryptosystems.
456310	458670	And that stuff gets super wacky.
458710	460410	Very, very theoretical.
460690	463370	And I do a bit of theoretical cryptography as well.
463370	469610	So , you know, I think NIST just opened up new communication signatures.
469630	473110	And , you know, a lot of people have been having a bit of fun with that.
473190	477010	So, I'm on one of the consortia there.
477010	480950	That's another topic you can't be outside of NIST talking about.
480950	482310	That gets pretty wacky.
482310	489570	And my glamorous assistant, which was promised to you in the abstract, is Ryder Lu Lin.
489570	490990	So, over to you.
491350	492550	Hello, everybody.
492550	493830	I am Ryder Lu Lin.
493830	496010	I am an intern at Sandbox.
496010	499310	And I've been here for, I think, nine months now.
499490	501170	Really enjoying my time here.
501170	502630	Really interesting work.
503310	507150	And my background is I have a math BA from UC Berkeley.
508250	511110	And there's no real focus when it comes to a BA.
511110	514030	But I did some work in cryptography research.
514690	516950	More so, like, classical cryptography.
516950	518770	So, not any of this quantum stuff.
518770	521610	So, getting to do this was, like, a really fun experience.
521730	524730	And getting to learn about all these quantum conjectures and stuff like that.
524730	525530	So, yeah.
526370	527910	And how old are you, Ryder?
528610	529250	Oh, yes.
529250	530290	I'm 19.
535190	536130	All right.
536130	539230	So, I'm going to give a quick introduction to quantum computing.
539230	542650	So, this stuff sort of crosses into physics as well.
542650	544590	And neither of us are physicists.
544990	548290	So, we'll try our best to sort of give the high-level overview.
548290	556310	But when it comes to specific questions about, like, how does one go about constructing a physical qubit, unfortunately, we're not really the best people to answer those questions.
556310	560610	But if there are, like, any physicists here, then maybe you can ask them.
562630	564430	First of all, what is a qubit?
564690	568290	So, we're going to be approaching this from a sort of mathematical perspective.
568290	572170	So, we can think of a qubit as a point on a block sphere.
572330	575110	So, this diagram is a block sphere.
575590	580750	And it's sort of a... you can think of a qubit as a vector, right?
580750	585510	And so, in this case, we have the negative z being, like, a spin 1.
585830	587970	Positive z, 0.
588250	590050	This is sort of an arbitrary choice.
590050	591910	This is just a mathematical representation.
591910	594470	So, again, these are, like, arbitrary choices that we're making.
595750	596890	But, yeah.
596910	599390	So, how do we manipulate a qubit?
600130	603910	So, to manipulate a qubit, we perform a unitary operation on it.
603910	607670	And we'll go more into what a unitary operation is later on.
607670	612550	But, sort of, the important part to keep in mind is that a qubit is sort of a vector.
612550	615410	And it's more continuous than a classical bit is, right?
615410	617510	A classical bit is either 0 or 1.
617510	619630	A qubit, you've probably heard this, right?
619630	622890	Sort of a superposition of multiple states.
625730	629590	So, then, we can also talk about operations on single qubits.
629590	632270	In the same way we can talk about operations on single bits.
632750	635690	So, here we have four different operations.
635690	637690	And these are called the Pauling matrices.
638930	640770	So, we have the identity.
641130	643310	We have that in classical computing as well.
643310	644250	We have the bit flip.
644250	646170	We have that in classical computing as well.
646170	649810	And then we also have the bit phase flip and the phase flip.
649810	652490	These we don't really have in classical computing.
654290	655350	So, yeah.
655350	657090	These are 2 by 2 complex matrices.
657090	659150	That's the mathematical way to think of these.
659810	661270	We have the identity.
661270	663070	We have the X, which is the bit flip.
663070	664190	Y, bit phase.
664190	665670	And then Z, phase flip.
666730	667950	And, yeah.
667950	673470	Combinations of Pauling operators can span every rotation on that sphere that we showed earlier.
676250	681010	So, it's very common to measure these in the Z basis.
681010	682570	So, negative 1 to 1.
683070	688970	And then we can refer to this as a S01 via that simple operator there.
690190	693350	And then the concept of a QDID.
693350	694430	So, very important.
694430	695030	This D here.
695030	696070	QDID.
696070	700830	This is sort of an interesting problem to solve here.
701050	707970	So, to create a QDID, which is a D energy level system, we can combine these operators over a set of K qubits.
707970	712990	So, what we want to do here is essentially combine these qubits into a single QDID.
712990	715850	So, we can sort of think of qubits as just 0, 1.
715850	718550	And then a QDID as 0 to D.
718670	720030	So, it's a digit.
720030	721710	A generalization of a bit.
725310	730210	Another important concept in quantum computing is the idea of entanglement.
730810	734730	So, the idea is that multiple particle states are inseparable.
735110	742970	Mathematically, this is encapsulated by the idea that a system state is a sum that cannot be written as a single product term.
743850	748670	And then entanglement is broken by some sort of measurement or interference.
748770	750570	This is called decoherence.
751150	753370	So, here's a small example.
753470	766530	So, if we have a spin-0 particle that decays into two spin-1-half particles, then we can say maybe we measure one of the spin-1-half particles and it's spin up along some axis.
767310	771170	Keep in mind the conservations of angular momentum and stuff like that.
771170	776370	Can anybody tell me what the other particle's spin has to be along that same axis?
776890	778830	So, yes, I see you pointing down.
778830	779390	You're correct.
779390	783570	So, we have one of the spin-1-half particles pointing up, so the other one must be pointing down.
783590	789830	So, this is an example of the decoherence that's because of the measurement or the interference.
793650	798170	So, this one is a bit of a boring math equation, but it's not super important.
798170	801570	This is just sort of an illustration of a two-qubit state.
801770	806850	So, if you measure one qubit, you can immediately deduce the state of the other one without disturbing it.
808730	812130	Okay, back to unitary operators, as I mentioned earlier.
812610	817550	So, they are angle- and length-preserving operators in a vector space.
817650	820050	And remember, qubits can be interpreted as vectors.
820370	826250	So, in our context, what this means is that because they preserve angle and they preserve length, they're preserving probability.
826570	831510	So, when we're measuring qubits, there's always this question of probability, right?
831510	837530	Like, what's the probability that when measured, it's one, or when measured, it's zero, stuff like that.
837530	842290	So, we always need this probability to sum to one, obviously, over all the different cases.
842290	846270	So, that's why we need to have this preserving probability property.
848170	851250	Another bit of a boring math equation, this one is Schrodinger's equation.
851250	852370	It's actually quite cool.
852510	857370	It's a differential equation, but it basically governs the time evolution of the system.
857370	866790	And if you hold the h constant, which is the Hamiltonian, which we'll talk about later, if you hold that constant, then the differential equation has the solution at the bottom.
867070	871010	And so, this is psi of t equals u of t times psi of zero.
871030	873910	So, u of t, that's the unitary operator.
874050	878070	So, that is the thing that is telling us the state at the given time.
878070	880070	It's telling us psi of t, right?
882690	885950	Okay, so now, on to qubit construction.
885950	889470	So, I'm going to talk about two different methods of constructing qubits.
889470	894470	We're only going to be using one of them in the example, because it is, frankly, much simpler to understand.
894470	898850	And there are also some physical considerations that come into why we choose it.
899110	903090	So, this one is the binary encoded method.
903450	910890	And this is maximally space efficient, because we are combining qubits into a binary number.
911130	915290	So, every value has a unique representation.
915290	919070	It matters what place value each qubit is in.
919850	925250	And so, this obviously needs high-quality qubits, but it's maximally space efficient.
925250	930210	We need high-quality qubits, because if a single bit is flipped, it completely changes the number, right?
931710	936330	And yeah, so here we can map the phase-flip operators onto these qubits.
936330	939990	And then we get integers from negative 2k to 2k minus 1.
939990	946270	That's not super important, but again, this is sort of just in words explaining what's going on in this big equation here.
948570	949830	The Hamming weight method.
949830	952790	This is the method that we are going to be using in the example.
953390	955470	So this one, maybe pay a bit more attention to.
955470	957510	It's also much simpler, which is nice.
957650	964310	So, a qubit operator, or a qubit operator, sorry, here is just a simple sum of the qubits.
964370	968650	Basically, we are counting the number of qubits in the plus 1 state.
968650	971490	And that's giving us our qubit.
971850	976150	So obviously here there are redundant representations, right?
976270	981090	So 1, 0, or 1, negative 1, 1 is the same as 1, 1, negative 1.
981090	983250	They both represent the same thing.
983910	985770	But it's more robust.
986970	991830	So, in this case, in our case, in the real world case, we have poor-quality qubits.
991830	996170	And we have enough space to justify using the Hamming weight method.
996170	1001470	And so, because of this poor-quality, we can't really get away with using the binary encoding method.
1001750	1007750	Because there's just too much risk of stuff going wrong, going very wrong.
1009530	1014750	Okay, so now I'll pass it back to Joseph, or David Joseph, for taking your time to participate.
1015590	1017150	Thank you very much, Ryland.
1017150	1027730	Yeah, so in the gate model of quantum computing, in fact, I think actually QuantumVillage released an image generator for quantum circuits, right?
1027810	1028810	A font.
1028890	1029430	Sorry?
1029430	1030030	A font.
1030030	1030910	A font for quantum circuits, right?
1030910	1032010	Q-type font.
1032050	1033190	Absolutely magical.
1033190	1039870	So, basically, you kind of start off somewhere with a state, and then you run through and you apply a series of gates.
1041170	1046010	And there is some analogous mapping back to classical computing.
1046990	1048650	It's all very dull.
1048690	1052630	But continuous time in quantum computing is super weird, right?
1052630	1059710	Because you take these physical systems, and then you just kind of, you know, jimmy a problem into there.
1061310	1064750	And we'll talk about it a bit more with the pictures.
1064750	1067010	So I get quite excited about this stuff.
1067330	1074650	So it starts off with what we call AQC, or Adiabatic Quantum Computing.
1074650	1083830	And the crux of it is this one theorem, which is that when you have a physical system, it remains in its instantaneous eigenstate.
1083830	1089570	And that basically means that whatever its energy level, whether it's an electron, it's going to jump, or excite, or de-excite.
1090070	1098310	If it is evolved under some Hamiltonian, according to Schrodinger's equation, super, super slowly, right?
1098310	1110130	So it's like, as soon as you try to move something along too much, it's basically going to put too much energy into the system, and you're going to get some quantum dynamics.
1110250	1120230	But if we move it really, I mean, it's actually been moved almost infinitely slowly, we can guarantee that that energy state is not going to change.
1121170	1142010	So the corollary of that is that if we initialize this system in the ground state in some kind of easy thing to set up, and then we kind of slowly, I don't know, kind of sort of gaslight the system into some different Hamiltonian.
1142010	1145430	But we do it so slowly, the system almost doesn't notice it.
1145430	1157050	And the thing is, the one that we start off with is a really simple system, that's not so bad to initialize in, for example, the equal superposition of states.
1157290	1164410	But the one that we finish off in basically represents a solution to some hard problem.
1165390	1174650	And if we take this problem and we map it such that the solution we're looking for is the ground energy state, then voila!
1174650	1176350	We've solved our problem.
1176350	1190630	And all we need to do is have quantum systems that can remain coherent for going to the limit of infinity amounts of time.
1191050	1193350	So therein lies the problem.
1193610	1199250	Adiabatic quantum computation is, you know, great, fancy mathematically.
1199250	1202830	But in the real world, it doesn't quite work so well.
1204090	1214790	However, if we evolve the system much faster than the adiabatic limit, it turns out that we can still get relatively low energy states.
1214790	1219910	So you might be excited, but you're still probably talking about pretty low energy eigenstates.
1219950	1227370	And if you're looking for an exact solution, then maybe it means that one of your samples probabilistically will be in that ground state.
1227370	1229110	You might not be excited.
1229110	1232890	But it's also really good for approximate problems, right?
1232890	1239130	So if you're, you know, you don't need an exact solution sample, but you need an approximately low energy state.
1239130	1243550	And this is, you know, annealing maybe the quantum algorithm for you.
1246780	1255860	So what I just said, this here would be your initial Hamiltonian, which H0 might be equal superposition of all states.
1257160	1263180	Hp is this Hamiltonian, which is a system that represents your hard problem.
1263340	1267100	And essentially that, the way I think about it, I mean, OK, we want a definition of it.
1267100	1273100	It's a function slash matrix from one space of physical states to another, and it corresponds to the total energy of the system.
1273320	1275880	And to me, that doesn't mean too much.
1275880	1283940	The way I think about it is we have eigenstates, and eigenstates basically correspond to the configuration of bits, right?
1283940	1289660	I'm going to diagram later, but it's just like, read off some bits, and that would be your eigenstate.
1289960	1292000	And each state has an eigenenergy.
1292080	1303520	And that eigenenergy, the lower energy states are going to be, the configurations of the low energies correspond to the solutions that are really good, right?
1304160	1320980	And, you know, to be honest, the schedules that we use to move gradually from the initial Hamiltonian to the final one, you can take a linear Hamiltonian, sort of a linear schedule where we basically say, OK, let's just move the same distance at each time.
1322780	1325440	Then you can kind of muck around with that.
1325440	1333780	And it actually turns out the most efficient one is an S shape because of various quantum dynamics that I can talk about later.
1333780	1352460	And I did see a paper recently where somebody had slapped on some deep neural nets to load these to optimize the exact shape of the S curve that you need to optimize your adiabatic quantum algorithm.
1352460	1362820	So this is a prime example of a Lennon squeezer, or a physical system that is still absolutely inconceivable from an engineering standpoint.
1362820	1367560	But somebody's already slapped a neural net on it to squeeze out a few extra marginal gains.
1367600	1369340	I quite enjoyed that one.
1371660	1374160	So the pictures I promised you.
1375280	1382080	This here represents the probability and the energies of the equal superposition.
1382080	1384880	So this is basically the system described by your H norm.
1384880	1391200	If you take the state that you've initialized it in, and you sample from it, basically it's a uniform random sample.
1392260	1393140	Useless.
1394280	1399640	And eventually what we're going to get to is this probability distribution over all of the states.
1399640	1404540	So basically this might be like 0, 0, 0, 0, 1, 1, 1, 1, 1.
1404540	1408000	And every state in the Hilbert space that goes along.
1409320	1416740	And essentially what this corresponds to is when you get to this final Hamiltonian, you've got this super localized wave function.
1416980	1425420	And that means when you measure it, there's going to be a super high probability of measuring it in this one, in this state, which is great because it's the lowest energy.
1425420	1428600	This is the solution you're looking to get.
1428920	1432340	And what happens is this is done over time.
1432340	1433780	So this is some intermediate time.
1433780	1437160	And it kind of gradually molds like that.
1437160	1439920	If you think about having...
1439920	1443560	OK, so classically you might have a marble here and you want to get it there.
1443580	1447480	Well, you know, that's not going to happen, is it?
1448940	1455080	We talk about quantum tunneling, you know, because you go, OK, probabilistically you need to tunnel through this energy gap.
1455140	1467500	The way I like to think about it in AQC is that you start with the marble here, and then as you slightly perturb it, the marble is always, every time, going to remain at the lowest energy point.
1469000	1481680	And then as you gradually perturb it, that lowest energy point in the overall space is basically going to continuously evolve until it's down here.
1482500	1484980	That's the way I like to think about it.
1491500	1492780	So here we go.
1492780	1494060	More diagrams.
1494060	1499680	What happens here is this over here is our initial superposition.
1499680	1501860	So, you know, equal superposition.
1503020	1506380	And so the lowest energy state is going to be equal superposition.
1506480	1509080	And these are different energy states here.
1509520	1510800	And you see this ground state.
1510800	1519240	As we evolve over time, the eigenenergies of these intermediate Hamiltonians, they all kind of like squeeze together.
1519240	1525020	And then they open out again for the final problem Hamiltonian, which is where you measure it.
1526060	1528420	What's the time complexity of this algorithm?
1528640	1535620	The time complexity depends solely on how small this energy gap is, right?
1535620	1550320	So if this energy gap gets super, super small, well, basically how slowly you have to evolve the system for it to be adiabatic and to avoid you basically making this jump depends on the square of this energy gap, right?
1550320	1551940	So you see that's pretty horrible, right?
1554560	1558680	And then, yeah, over here, again, we have our nice marble draw, right?
1558680	1565780	So here, you know, quantum mechanical tunneling.
1565880	1570200	You start up and you move it adiabatically and you find, you know, like the marble on the sheet.
1571100	1573740	But yeah, so think about this.
1573740	1576220	This time complexity is really not very nice.
1576220	1581680	And the reason that we don't have good results for this class of quantum computing, right?
1581680	1585700	So Shor's algorithm, Grove's algorithm, they're all in the gate model.
1586020	1602340	In the continuous time model with adiabatic quantum computing, all we have is this bound based on the intermediate Hamiltonian's eigenspectrum, take a slice, what does this look like?
1602420	1609600	And the problem is, it's not at all easy to understand what this intermediate eigenspectrum looks like.
1609640	1616780	We can maybe understand what this eigenspectrum looks like, but this is probably a hard problem just to understand classically.
1617260	1619520	We definitely know what this one is.
1619560	1622520	But the intermediate problems, very, very difficult.
1625570	1632390	So the implications are, one, we've got this time complexity gap given by the minimum energy difference, right?
1632390	1633610	So that's a problem.
1634210	1639810	We begin in the ground state and evolve it slowly enough, no jumping.
1639910	1646330	If we evolve it a little bit slowly, but not adiabatic, then we get a little bit of energy jumping.
1646530	1650670	And essentially that means that at the end, we'll get a bit of a Gibbs distribution.
1650810	1663990	You'll notice that if you look at the energy of the things that you've sampled from, you'll have basically energy solutions that will kind of be sampled from some kind of Gibbs heat distribution.
1664990	1671930	This model is, even though it looks completely like it's from another world, it is equivalent to the circuit model.
1671930	1675990	And it is universal, the adiabatic version, right?
1675990	1681630	It is polynomial equivalent, which is, I guess, a word mathematicians used to say.
1681630	1690410	I mean, polynomials can be pretty big, but if you're a mathematician, you just kind of have to say it.
1690650	1697450	So basically, you can solve one problem, then you can solve another problem in a few hours more, basically.
1697670	1700110	But for cryptographers, it's good enough.
1701710	1705270	And in practice, it requires very long coherence times, right?
1705270	1711370	So yeah, don't worry about long coherence times with the D-Wave.
1715450	1718090	So we're going to try it out on the D-Wave from Manila.
1718090	1722550	If you've got your laptop and your D-Wave account, feel free to set up that account.
1722550	1723890	We're going to try this out later.
1724810	1727970	It has 5,000 qubits with an asterisk.
1727970	1734290	So you're not comparing these qubits to the, I don't know, what is it?
1734290	1737310	The Osprey chip, I reckon it has 400 or something?
1737310	1739390	Yes, Osprey 427.
1739510	1741190	427, right.
1743610	1750470	D-Wave and IBM use the same word, the same five or six letters.
1751030	1754970	There is really very little equivalence between the two.
1754970	1763750	In fact, almost the notion of a qubit in that physical sense with so many dozens of technologies, that is pretty crazy.
1763750	1765470	So that's a whole different debate.
1766350	1769130	There are lots of couplers, probably 25,000 of them.
1769130	1773290	And each qubit is connected to 15 other qubits, right?
1773290	1792090	So you can entangle a qubit directly with 15 other ones, but you're not going to entangle every one of those 5,000 qubits with every other one of those 5,000 qubits, which is ideally what we'd like to be able to do, because the secret, the magic source of quantum algorithms is entanglement,
1792090	1792750	right?
1792750	1796010	If there's no entanglement, you're running a classical algorithm.
1796010	1801770	So the more connectivity you can get, the more quantum advantage, you're going to see.
1805150	1807490	And what does this look like?
1807910	1813370	So this might actually be a diagram of the Hameric topology, which is from the 2000Q.
1813370	1815530	And this is a diagram of that qubit.
1815530	1820290	So you see each qubit is connected to a cluster of other qubits.
1820630	1825010	And then each cluster is connected to a cluster of other qubits.
1825770	1837610	So you may be wondering, well, I've turned up here with my NP-hard, or whatever hard, fully connected problem.
1837850	1841030	I want everything to be entangled with everything else.
1841290	1842770	What am I going to do with that?
1842770	1851670	Well, fortunately, there are mappings, which takes these 5,000 alleged qubits, and it reduces them to a much smaller set.
1851670	1862170	But what happens is, you set these qubits to be basically very strongly interacting with other qubits, and you create a qubit chain, right?
1862170	1864150	And by using these chains of qubits...
1864150	1866870	So this is what Hewitt called a logical qubit.
1866870	1872050	Other people call them logical qubits, like an error-corrected qubit.
1872050	1875350	But these are not what I would call error-corrected.
1875350	1884370	So I think the quantum computing community needs to have a sit down and discuss pedagogy and naming.
1884710	1890890	But these qubit chains, essentially, can be all-to-all connected.
1890890	1898030	So here you can see that qubit 4 and qubit 5 aren't connected, but we can create that in an all-to-all connected way.
1898170	1901330	And the cost of that mapping is roughly quadratic, right?
1901330	1911450	So if you've got 10 actual qubits in the problem that you want to solve, then when you map it into this thing, maybe you'll have 100 on that, right?
1911450	1912670	Something like that.
1912930	1915850	So there's a cost to it, but it's doable.
1916150	1923370	And the actual D-Wave SDK has a mapping so that you don't need to worry about that.
1926020	1931520	And so Ryder is going to send us through Lattices, which is really exciting.
1931520	1934240	Ryder, you're slightly behind time.
1934540	1937240	So, enthusiasm.
1938340	1940100	Not too much work.
1943240	1948100	Okay, so just quickly, why are we bothering with any of this in the first place?
1948100	1956100	Classical cryptography mainly relies on integer factorization, or something like it, which is broken by Shor's algorithm.
1956100	1958500	You've probably heard of Shor's algorithm before.
1958500	1964560	It basically uses quantum Fourier transforms to do some crazy stuff.
1964920	1970100	And it basically reduces most integer factorization, etc.
1970100	1977540	problems from super polynomials to faster than polynomials, down a lot.
1978580	1985040	It's not super important to what we're doing, but I'll just mention this is why we want to bother with any of this in the first place.
1985040	1994540	So instead, Lattices, they offer new hard problems, like the closest to Shor's vector problems, which we'll talk about later on, to base cryptosystems on.
1995520	1997020	And then what is a Lattice?
1997020	2004440	A Lattice is just a repeating pattern of points in n-dimensional space defined by n linearly independent basis vectors.
2005320	2008780	So this is an example of a Lattice, this picture right here.
2009500	2015380	So we have a basis, like a regular vector space.
2015420	2027720	So we can call these b1's at the end, and then instead of the vector space being any linear combination of those basis vectors, we instead just take the integer linear combinations of those basis vectors.
2027720	2030320	And that's how we get this repeating pattern right here.
2030540	2035740	And so we can define a Lattice vector as v equals x times v.
2036460	2040200	And all Lattices, just like other vector spaces, have many bases.
2040500	2042000	And so this is the key right here.
2042000	2043580	These many different bases.
2044220	2047800	We want short bases, we do not want long bases.
2047800	2049640	And we'll talk about why later on.
2051400	2053640	So, shortest vector problem.
2054360	2055640	Shortest vector problem.
2055960	2058180	Find the shortest vector in a Lattice.
2058180	2063000	If we're given a basis that is the shortest vector, then that's very easy, it's right there.
2063000	2071720	But if we're given a basis that is made up of multiple very long vectors, then the shortest vector might be some linear combination of those two very long vectors.
2072580	2077100	And the closest vector problem is sort of the same as the shortest vector problem.
2077100	2088580	The closest vector problem is just given some point in Rn, so not on the Lattice, but just somewhere in the real vector space, find the closest Lattice point to it.
2088580	2099460	So we can see right here that blue star right there might be that point that we're given, and then the green circle is maybe the error that we're willing to accept.
2099680	2103640	So the red dot in the second photo is the closest vector.
2103640	2106220	That's the ideal, that's the best solution.
2106300	2111580	But the green points inside that circle are vectors that are maybe close enough.
2111720	2113520	Yeah, polynomially close enough.
2113520	2122100	So as David was saying about how adiabatic quantum computing is good for getting maybe very close to the right solution, this is the same thing.
2122100	2123540	We're getting close to the right solution.
2123540	2126940	Maybe we're not actually getting the right solution, but it's good enough.
2129000	2132080	So learning with errors, this is what LWB stands for.
2132080	2141740	Learning with errors is the next step up from the shortest vector, closest vector problem, to building a full cryptosystem based on Lattices.
2141740	2147260	So the idea is that we are hiding a secret with some noise, some error, E.
2147380	2152740	The equation for that would just be like A times the secret plus the error is some B.
2152740	2157780	And then we can use A and B as public keys, and then S as the secret key.
2158980	2162600	And so there's two different versions of the learning with errors problem.
2162600	2170080	There's the search version, which is we want to actually find S given A and B.
2170080	2175020	There's the decision problem, which is distinguishing from the output.
2175460	2181100	Distinguishing from A and then distinguishing just from some random something.
2182760	2187540	And solving learning with errors is a special case of the closest vector problem.
2187540	2194780	And the reason for that is we can see in this diagram right here, this sort of looks like a two-dimensional normal distribution.
2195840	2214900	The idea is that if we take some distribution on the error, and we apply that to the A S plus E equation, then we'll end up like if the closest vector is that thing in the middle at the peak of the distribution, then we'll get a bunch of vectors around that when we sample the error.
2215860	2222140	And so that's the sort of green circle on the previous slide.
2222140	2233060	So that blue would be like near the middle of that distribution, and then that green circle is that sort of circle in this gaussian line here.
2235460	2236840	And then here...
2238100	2248000	Yeah, and so learning with errors is the basis of two of the post-quantum cryptosystems that NIST and NASA are standardizing.
2248000	2249760	There are four that they're standardizing.
2249760	2252660	One is Sphinx, it's on my T-shirt.
2252820	2255640	Somebody designed a lovely T-shirt after last year's talk.
2257040	2259940	And then there are two based on learning with errors.
2259940	2273680	But basically, many, many of the latter schemes are based on this learning with errors problem, which is essentially, if we could include a slide where we show you how you encrypt a bit using this learning with errors thing, we don't have time for that.
2274060	2278800	But essentially, as Ryder just explained, it is the closest vector problem.
2278800	2292880	So if you can find close vectors, then please write a letter to NIST and explain all of your workings, and they'll remove these post-quantum systems from the running.
2294200	2297520	There's not much danger of that, unless you've already written to someone.
2301180	2303840	So annealing and encoding in the Ising model.
2303840	2305840	Right, so we've done lattices, right?
2305840	2306720	It's super simple.
2306720	2314440	And if anybody was looking at those diagrams thinking, dude, come on, that looked like super easy to find those short vectors.
2314440	2317000	That's because that was in two dimensions, right?
2317280	2322340	That is not a cryptographic level of hardness.
2323040	2327640	Usually these are done in sort of high hundreds or low thousands of dimensions.
2327780	2331000	If you haven't structured it, it's a little bit different again.
2331000	2333740	But in two dimensions, you can visualize what the problem is.
2333740	2334940	It's very geometric.
2334940	2336080	It's very simple.
2336080	2354520	And now we need to work out how we take that, and we put it into this diagram of, you know, it starts with a marble, we move it to a rock, and we end up in some kind of no-energy state, which corresponds to a vector, which is in that little circle that Ryder just explained.
2354520	2356220	So , okay.
2357540	2359780	We're still rattling through.
2360200	2364380	Okay, so quickly talking about what the Ising model is.
2365140	2369820	Originally, it was for modeling aero-magnetism in materials.
2370920	2373680	That's not at all what we're using it for here.
2374280	2387600	So, in this case, in this equation here, sorry, another boring equation, but in this equation here, the J's are the interaction terms between qubits, which is the part that's introducing the entanglement.
2388020	2389580	The S's are the spins.
2389580	2394360	And then the H is just the on-site energy term for that particular move.
2394360	2395580	That particular qubit.
2396200	2399460	And we are encoding the shortest-vector problem.
2399460	2405040	So in our example, we're going to be encoding the shortest-vector problem into the Ising model as Qubo.
2405040	2409980	Again, it's not super important what Qubo means, it's just a type of optimization problem or expectation.
2413680	2418420	And so when we talk about encoding, we need to talk about the Hamiltonians, right?
2418420	2420560	What are our choices of Hamiltonian going to be?
2420560	2428340	So the initial Hamiltonian is just going to be induced by Pauli-X operators, which are the bit-flip operators, if you remember.
2428340	2430600	So those are just denoted by the sigmas here.
2431120	2436560	And this relaxes the system to begin with, and is responsible for the exploration part.
2437140	2440440	And this acts perpendicular to the Z-basis problem Hamiltonian.
2440440	2443800	Not super important what that means, but yeah.
2450160	2456640	So what you see here is a representation of a vector's length.
2456860	2469040	Because when we have a basis, and we're told, find a combination of these basis vectors, that will give you a series of long chopsticks in n-dimensional space.
2469040	2472000	We need to combine the chopsticks to find a short vector.
2472420	2475880	And how long is the vector that we're going to end up with?
2476400	2481660	So these xi's are the combinations, right?
2481660	2490300	So we'll have five of that first basis vector, please, and minus three of the second one, and you pick your combination.
2490540	2496240	And at the end, we end up with a vector length, which is the length of V.
2496700	2502380	Now we can actually write the square of that vector length like this, right?
2502380	2507520	This is basically just saying V equals X dot V, right?
2507820	2511380	You take the two norm of that and square it, right?
2511380	2514840	So this is just Pythagoras.
2515320	2517880	It's really nothing more than Pythagoras.
2518280	2524600	And if you write that out, and you expand all the terms, it's just this.
2525160	2530840	Now, what does this look like when we turn this into our Ising model?
2530840	2532620	This is key.
2538380	2545740	So essentially, we can think of this as this X as being the output of our qunit, right?
2545740	2549420	So we're going to put in the basis, that's the input, right?
2549420	2551020	That describes our lattice.
2551020	2558620	And what we want to read off of the quantum algorithm, we want to read off, like, okay, what is the combination of the basis vectors?
2558620	2561260	So what is this vector X?
2561260	2567720	So we get given V, we want to work out what X gives us short V, right?
2567720	2570120	And so these X are what we want to output.
2572100	2576240	And what that looks like is, okay, let's say that we've got a grid of qunits.
2577880	2584920	This grid over here, as I was saying, you can construct your qunits any way that you want.
2585640	2591000	If we do the Hamming version, where we just sum them up, then maybe this would be like 3, right?
2591040	2595320	If we do the binary version, then 1101 is 13, right?
2595320	2600960	So it's up to you how you construct your qunits, and there are reasons why you might think one way.
2600960	2604500	But essentially, this is your X, right?
2604500	2607160	So X1 times P1, right?
2607180	2614620	So we'll have 13 of basis vectors 1, we'll have 5 of basis vectors 2, and so on and so forth.
2614620	2618340	And so this is what this looks like classically.
2619960	2628980	Now, we just need to take these Xi's and turn them into qunit operators.
2628980	2629820	That's all you do.
2629820	2630760	Super simple.
2632200	2633240	Voila.
2633640	2636920	And also, the Bi dot Bj, right?
2636920	2641700	Again, this is just like, take a basis vector, dot product it with the other basis vector.
2641700	2646040	And what this is, is basically, you take the whole basis as a matrix.
2646120	2649380	You line up the basis vectors in its matrix.
2650000	2655880	You multiply it with its transpose, and it gives you another matrix called the Gram matrix, right?
2655920	2660660	It's basically like a matrix of overlaps, right?
2660660	2666420	It's super simple, it's just you take the basis, matrix multiply it with its transpose, and you get this.
2666420	2673780	So basically, you've got a qubit operator times another qubit operator with this Gram coefficient.
2673920	2677740	And that is our problem Hamiltonian, right?
2678480	2687240	So, as Ryder just explained, the initial Hamiltonian we might use is Pauli X operators on everything, right?
2687240	2689880	We call this a relaxing Hamiltonian.
2689880	2691640	I quite like that term.
2691640	2696740	Because basically, it relaxes the system and explores the space.
2696980	2700500	This Hamiltonian localizes the wave function.
2701900	2709960	So, if you go on to fit things like the QAOA algorithm, which is where you apply them one, then the other, then one, then the other.
2709960	2712900	It's kind of like, you relax the system a bit, you localize it a bit.
2712900	2715980	You relax the system a bit, you localize it a bit.
2718160	2720480	And again, we can talk about that later.
2720520	2724280	QAOA is another thing where we don't know whether it's going to be fantastic or not.
2724280	2727020	But there's some great ways to have that too.
2728740	2735160	So, what we're going to do now is build the DIY quantum matrix.
2735160	2741780	So, if you're interested in this part, we have some notebooks.
2741780	2743260	I've shortened the URLs.
2743260	2748280	If people would feel more comfortable to see me open these short URLs, I will do it.
2748780	2750880	But I promise you they're the same.
2752980	2754640	And let me know if they don't work.
2754640	2763100	So, you need a D-Wave count, which will give you basically an API key, which will be useful if you want to actually see what you're getting back from D-Wave.
2764020	2766520	This is the fill-in-the-blanks polar.
2766800	2770460	And this is going to be the answers, right?
2770460	2774940	So, we're basically going to build this Hamiltonian that we just described.
2775380	2777100	Then we're going to go through.
2777100	2784440	We're going to see what the bit strings we get back from D-Wave are.
2784520	2786380	And then we're going to post-process it.
2786380	2790260	And then we're going to understand exactly what these bit strings actually mean, right?
2790300	2792200	So, we get a bit string.
2792700	2796820	Okay, first of all, we're going to turn that into the QDIS, right?
2797500	2801920	Which, remember, the Hamming version, we basically just sum them up and divide by two.
2801920	2804540	So, that's what the X vector is.
2804980	2815980	And then we're going to check that the eigenenergies that D-Wave gave us correspond to taking that vector, the X vector, and multiplying it with the basis.
2816280	2820760	And then we can basically see what kind of eigenenergies we get.
2820760	2824380	And then you can play around with the parameters in D-Wave and basically figure out.
2826040	2831780	Yeah, I mean, you know, try putting in a really long coherence time.
2831780	2834060	See if it makes your algorithm work much better.
2836160	2838660	In pink, it doesn't.
2838680	2843660	Because there's a lot more engineering to be done on that side of things.
2843660	2846760	But the 5000Q is much better than the 2000Q in my experience.
2848060	2858240	And if you have not bought your laptop, or you don't want to do that, then I'd like to invite people to ask some questions or try a bit of interactive discussion.
2859500	2867900	And then people who do want to try this, just kind of crack on with it and put your hands up and we'll come over and explain.
2870720	2876660	Just keep in mind, when you have your D-Wave leap account, you have a limited amount of time on the processor.
2876660	2880540	So don't try a crazy coherence time or something like that.
2880540	2882020	Just be mindful of that.
2882020	2885960	And you can check the amount of time you have left on the website.
2886300	2894780	But just running through the notebook once with all the right answers, I think usually only uses about 0.15% of the computing time.
2895060	2897160	So you don't have to worry about it too much.
2897160	2898160	Just keep it in mind.
2898900	2908880	And also, because we've got the answers here, if you are lazy and not good at maths, then you can also just run through it and just play around with the D-Wave stuff anyway.
2908880	2914740	And don't bother with the Pythagoras stuff and the linear algebra.
2914740	2929520	And then what I'm going to do is, in sort of about half an hour, if people are interested, we can talk about other approaches, some adjacent topics, which kind of you can take different directions in.
2929520	2935560	So we'll revisit the slides, but yeah, let's go with that.
2935560	2939700	Put your hands up, ask questions, get stuck in.
2944420	2947640	What exactly is D-Energy?
2948940	2950660	Let's go back.
2957960	2962880	So a Q-Dit would look like...
2964120	2970440	Picture a Q-Dit which has values between 0 and 15.
2970440	2975480	So this would be 4 qubits, which are constructed.
2975520	2980360	And let's say that their eigenenergies are the extra value, right?
2980360	2984800	So 0 has eigenenergy 0, 1 has eigenenergy 1, etc.
2986380	3004100	Basically, that would be a problem Hamiltonian on a 4-qubit system, which would basically say 0, 0, 0, 0 gives this energy level, and 0, 1, 0, 0, 0, 1 gives this energy level, and so on and so forth.
3004100	3010060	So basically, it's just an ordering of energies based on the readout.
3010620	3019220	And there are physical systems which can be natively D-Energy level, right?
3019260	3020940	That's pretty interesting.
3020940	3028980	But for most of the quantum computing systems that we look at today, we construct them out of two-level systems.
3028980	3038800	So if you want to make your own Q-Dits, you've got to basically define some math in yourself.
3041120	3043340	I'll go to the gentleman at the back first.
3043340	3053680	Now that you're in that slide, you're talking about complexities, depends on the weight, the size of the weight that you have right there.
3053920	3058200	When you mentioned in the next slide, you said polynomial lower bound?
3058720	3060480	Or does that mean the next one?
3060480	3063500	Yeah, you said there's polynomials that you could have solved.
3063500	3064880	That's a complexity, right?
3064880	3065860	Lower bound.
3065860	3067800	What would be the upper bound of that?
3067800	3069040	Depends on the weight.
3069260	3070480	Okay, interesting.
3070480	3077280	So first of all, people doing the collabs.
3077720	3079920	Sorry, does that change the slides?
3079920	3083660	Does everybody who wants to take a look at the collabs have the links?
3084760	3086360	Okay, good stuff.
3099280	3099800	So...
3101440	3103880	Thank you for mentioning that.
3103880	3105740	Did everybody hear that?
3106000	3107160	Say it again.
3107300	3109580	I pointed out on the slide.
3109580	3110280	Yeah.
3110360	3118820	Lowercase L at the beginning and capital I at the end.
3118820	3120600	How did you not see that?
3121120	3123760	It's clearly obvious to everyone.
3123760	3125580	To everyone with computer vision.
3125740	3127380	The AI is way ahead.
3127380	3130880	Sorry, I was gatekeeping the collabs there.
3130880	3135040	For anyone with initiative to take part in this exercise.
3138660	3140980	Thank you for that.
3141100	3141740	So...
3143740	3146980	What I mean here is...
3146980	3156880	When I say polynomial equivalent, I mean you could take Shor's algorithm and you could map it into an adiabatic quantum computer.
3157180	3159840	I don't know why you would, but you could.
3160420	3169600	And what it means is that however long it's going to take you to factor that integer, it's only going to take you polynomially longer or shorter.
3169860	3173060	But basically roughly the same time to a mathematician.
3173280	3178020	Not to you or I, but to a mathematician, it's going to take roughly the same time.
3178240	3182840	And the reason it's going to take roughly the same time is because...
3182840	3191640	This gap is going to be roughly the same as whatever that would be in the game model.
3192820	3197000	It's polynomially longer or polynomially shorter.
3197560	3203180	But we only really care when stuff gets exponentially longer or shorter.
3205000	3206000	Yeah, you in the back.
3206000	3212700	Could you describe again the connection between the tunneling and the continuous time annealing?
3212700	3223300	Is the idea that with the annealing and continuous time, the bulb stays at that focus point and it evolves like that?
3223560	3224200	Yeah.
3224200	3232240	It stays lowest and then if you just look at it from the tunneling perspective, it's like it moves from one to the other through the higher energy state.
3233040	3239780	That's a very good question because now that I think about it, it's a little while ago that I did this work.
3239780	3241440	It's actually slightly fuzzy to me.
3241440	3246020	If anybody feels authoritatively that they have a better answer, then step in.
3246020	3252860	But the way that I would think about it is that in the AQC version, you start off with the marble on the flat table top.
3252860	3264380	And you don't really need to tunnel through anything because it always remains at the instantaneous lowest level.
3265140	3269500	That may be incorrect, but that's what I think the answer is.
3269500	3285940	However, for example, if you do the quantum approximate optimization algorithm where you localize the Hamiltonian a bit and then you relax it a bit and then you localize it a bit and then you relax it a bit, every time you apply the relaxation operator,
3285940	3290920	you're inducing some level of quantum tunneling between the states.
3290920	3298500	And every time you apply the localization operator, you're basically making the wave function go a little bit more smoothly.
3298500	3303800	And those are two different ways of viewing that transformation of that Hamiltonian.
3305300	3307140	I hope so.
3307260	3315260	This is something where somebody who is much better at the quantum mechanics side of things would come in very handy.
3315800	3317960	I do not claim to be that person.
3317960	3319360	Maybe I'm not as well.
3320800	3322920	We'll go to that gentleman at the back.
3324700	3325680	Sorry?
3327580	3330580	Oh, yes, we have an answer.
3354870	3361110	There is a low probability of being very poorly defined based on the Hamiltonian.
3361110	3361750	Why that would
3366480	3366920	be ?
3366940	3371580	You'll say, it would be that there would be a factor in the Hamiltonian.
3372700	3377970	So if we had given it a 20 factor, it would be like a 5.
3377970	3381050	It would be very easy to say, just look at the table first.
3381690	3388510	And then when you close the plane of the Hamiltonian by the way that that occurs, it's going to stay at that lowest point.
3389250	3396470	And then so then, once you move on from there, if you go too quickly, then it's like the ball doesn't stay at that lowest point.
3396470	3398850	It's like it might move off a little bit somewhere else.
3398930	3403710	And then when it evolves, when the Hamiltonian evolves, maybe it's not still at those points.
3403710	3405530	It's somewhere down there.
3418310	3424970	So, for the recording, the gentleman who claimed to be an expert in quantum mechanics said that I was close enough to write.
3427290	3432990	And then there was a small amount of discussion beyond that.
3435470	3437290	Any other questions?
3440590	3442630	How do you do the relaxation?
3442630	3444530	Oh, good question.
3445010	3448950	So, let's go back to these Charlie operations.
3453950	3459890	So, basically, if you go to Qubit and you apply...
3459890	3463370	So, what we do is...
3463370	3476550	The problem Hamiltonian, we generally, in the transverse Ising network, the transverse is what we mean by like we have a transverse field, is the problem Hamiltonian is induced by basically a load of Zs.
3476550	3479870	And anybody who's going through the Colabs right now will notice that.
3479870	3483990	The Hamiltonian is all implemented in terms of Zs.
3484930	3489950	When Ryder showed us how we constructed the Qubits, we constructed them out of Z-gates.
3490650	3494890	And that basically gives us a nice one minus one reading off.
3495910	3500010	This BitLip operator is basically like saying...
3500530	3503330	I guess one way to think of it is, yeah, it's BitLip.
3503330	3507390	It's kind of saying like, OK, wherever you think you are, we're just going to mix things up.
3507390	3509010	We'll explore a little bit more.
3509030	3510590	We'll relax.
3510590	3512510	We might not have the right answer yet.
3513410	3517170	And the way you can think of this is, you've got your...
3517170	3521550	Well, the way I think of it is that you've got your problem Hamiltonian do its thing.
3521550	3526690	And then you have this relaxing field, which kind of comes perpendicular.
3529010	3531470	And I don't know why that wouldn't make sense.
3531470	3533090	I always found that helped me.
3534190	3541470	Something's happening in this plane, and then you just kind of have some relaxing field coming from up above.
3541470	3546330	It kind of smooths everything else a little bit, and then it carries on like that.
3548810	3558350	You look perplexed, but I mean, we all find coping strategies for getting through long periods of work in problem-solving or coping mechanics.
3558350	3562450	And yeah, it's a notoriously counterintuitive subject.
3562450	3564530	Don't worry too much about that.
3564530	3569530	Just follow the collab, and yeah, I promise it.
3569670	3570750	It works.
3572690	3583250	Did you, in the slide that you had that was describing the mapping onto the...
3583250	3585310	The binary one?
3585310	3588530	Yeah, when you showed the matrix of the Bs.
3588530	3590430	The matrix of the Bs.
3590430	3592090	And you said that...
3592090	3592990	Same way.
3592990	3596990	I'm going the wrong way.
3596990	3597910	I think you're right.
3602310	3603550	Oh, no, sorry.
3603550	3605630	Are you talking about the one with the diagram of qubits?
3606230	3608090	Oh, the diagram of qubits, okay.
3608090	3609170	Yeah, qubits, yeah.
3609170	3614670	When you said the right form for the Xs is...
3616050	3616530	Yes.
3616530	3619890	The output of the qubit function over the Bs.
3619890	3621910	Got it.
3621970	3623610	Or the next slide.
3628750	3631510	Why is that the right form for the Xs?
3632470	3635150	Why is this the right form for the Xs?
3635270	3640010	Yeah, you mentioned it's either one of two different encodings.
3640110	3645770	Right, okay, so why would you choose the Hamming version or the binary version?
3645770	3648910	Yeah, why is either one the right form for the Xs?
3648910	3652910	Okay, so you can basically...
3652910	3657650	This is like a bring-your-own-qubit-mapping kind of thing.
3660290	3665130	There's the one-hot encoding, which is super inefficient.
3665750	3672590	There is this binary thing, which is where each individual configuration corresponds to a different energy level.
3672590	3675150	So it corresponds to a different eigenstate.
3675750	3682210	And the reason that you might like this is because people talk about us not having very many qubits.
3682210	3685870	So maybe you think, oh, well, we want to be super efficient with the qubits that we've got.
3685870	3695910	We want one configuration to correspond to one eigenstate.
3696930	3709170	The reason that when I initially did this work, I submitted this to the 2000 queue, which was much worse than the 5000 queue, and what I got back was essentially garbage.
3709330	3712910	And I was on the verge of giving up on this work.
3713150	3721830	And then my collaborator says, hey, man, why don't we just try adding them all up?
3721830	3730030	Or just do this really dumb thing where we just add up all the qubits and we pull out a qubit.
3730030	3734230	And I did that, and all of a sudden, the result was much better.
3734530	3737290	Now, this is why.
3737290	3741490	So it requires many more qubits, but it's more robust.
3741490	3746150	And the reason why is because when you have this...
3754980	3766920	So when you've got this 2 to the plus 1 term, basically you're saying that the most significant qubit in your qubit is going to have a much stronger interaction with every other qubit, right?
3767420	3773560	And the least significant qubit, when we tackle it, is going to have a much lower interaction.
3774640	3780560	Now, the way the D-Wave Complementator works is that you have to squeeze all of your...
3781120	3784940	you give a certain energy budget for how strongly everything can interact.
3784940	3788700	So basically they say, scale everything down to between 0 and 1, right?
3788700	3796020	So you can have your qubit 1 interact with qubit 2 with strings, qubit 1 with 5, whatever.
3796560	3808840	But if you've got a D-level energy system, then basically you've got to scale down from 0 to 15, down to between 0 and 1, so you've got 16 things.
3809380	3812740	But at the bottom, everything is like...
3812740	3820200	the bottom half of that spectrum is occupied by putting up stuff like all but the top row of qubits.
3822620	3826500	So any 0 just massively screws everything up.
3826500	3831200	Whereas with the Hamming encoded ones, everything has the same strength.
3831200	3832340	It's very egalitarian.
3832340	3836000	Every qubit interacts with every other qubit with the same strength.
3836000	3841680	And then it's kind of moderated by the gram coefficients.
3842640	3853280	But basically what it means is that the lowest energy qubits, the least significant qubits, get subsumed by noise.
3853280	3864320	And the reason this is a big problem with SDP is because when I showed you that equation, which is like b squared equals x of b, it's super unstable.
3864320	3879840	And what that means is that if x changes by a single bit, so a single one of those coefficients changes, then basically you're adding on another really long basis vector onto your combination, which will sort.
3879840	3894540	So any perturbation to the solution that gives you the correct, you know, the lowest energy vector, the shortest vector, any perturbational bit there is going to give you a really long vector.
3894540	3897140	So it's super sensitive to noise.
3897760	3901580	And it's probably easier to see this.
3902580	3908040	But basically this is a lot less efficient because it uses more qubits.
3908040	3911240	And at least in V-Wave, you kind of have loads of qubits.
3911240	3915000	Not very good, but, you know, it's a form of error correction, I guess.
3915120	3921620	So nothing makes it the right qubit, qubit mapping to try.
3921620	3923960	But basically, yeah, try it yourself.
3923960	3928840	And then obviously with the gate model, you have, you know, error correcting codes.
3928840	3945840	I think Google recently demonstrated, if I'm not wrong, recently demonstrated that an error-corrected qubit did better in practice than the qubits that weren't error-corrected.
3948290	3961150	Going back to your question, if you go back to the encoding part, what you depict with that matrix, in that matrix, there were just states of energy that you just captured at one point.
3963050	3971550	If you go back to the encoding part, because the order in which you need to represent the state, that vector, can be huge if it's a series of ones.
3971550	3971890	Yeah.
3971890	3976410	But all you depict is that particular capture that you captured, right?
3976410	3977250	Yeah.
3977250	3980550	Once you've read off what the...
3980550	3985210	So once you've measured the states at the end, the wave function has collapsed.
3985290	3987070	You just get a configuration.
3987330	3990850	And that configuration just corresponds to a single vector.
3990850	3995850	Once you have extracted, like, OK, you take all zeros and ones, you turn that into points.
3995850	4000690	X is the matrix multiplied to get the vector.
4000830	4004310	And then you take the Euclidean length squared.
4004310	4008590	That just corresponds, after you've read it off, to a single vector.
4008750	4015250	But up until that point, it's a superposition over a couple of different ones, and it's up with different probabilities.
4020220	4021700	OK, I will go to this gentleman.
4021700	4026760	But first, I want to ask, is anybody going through, with the CoLab, having any major issues?
4026760	4028300	Or is anybody finding it OK?
4032720	4034960	Yep, you can get the link to the answers one again.
4042670	4043470	DDox5.
4044890	4047090	And that's less ambiguous, isn't it?
4048210	4052630	The initial Hamiltonian construction is slightly more difficult.
4052630	4055610	The post-processing, so feel free to just copy that across.
4055670	4059610	The post-processing bit is a little bit more broken down and a little bit more intuitive.
4062890	4063610	Thank you, Brian.
4063610	4070270	If you want to go around and tell me what you're finding, like, on the CoLab, just give me a hint.
4071110	4071890	Oh, great.
4074190	4077450	Sorry, I was going to this gentleman first, and then I'll come across to you.
4077530	4078950	I have a question.
4087510	4088110	Right.
4098110	4099590	Sorry, I'm not catching your question.
4099590	4101610	There appears to be a bit of commotion over here.
4107010	4109110	OK, the yelling has died down.
4109110	4110350	Can you also speak up a little bit?
4144700	4144800	Yeah, sorry.
4144800	4145880	I'm still not...
4160660	4175920	OK, so in general, so if you take Shor's algorithm, that breaks, creates electric curve stuff, RSA, you can do that.
4175920	4177280	Let's take RSA.
4177280	4183840	So if you're asking about man-in-the-middle attacks, you would do key exchange with RSA, right?
4183880	4188260	But how do you know that you've exchanged your keys with the right person?
4188440	4189560	Right.
4189740	4198680	So then, in public key cryptography, you'd always pair that with authentication, so a digital signature.
4198680	4205760	So, for example, every time you log on to... every time you use the Internet, you'll do a TLS handshake.
4205760	4213240	And during that handshake, you will, one, exchange your session keys, and you will, two, authenticate the server.
4213600	4217300	And you can also do that via RSA signatures, right?
4217300	4219400	So it's the same mechanism.
4221400	4234140	And some families in cryptography have good signatures, but not key exchange, you should always do both to make sure that you're exchanging with who somebody says they are.
4234140	4235720	I'm getting man-in-the-middle attacks.
4238140	4245600	At the moment, we rely on RSA-like algorithms for signatures and key exchanges.
4245600	4246700	So both will eventually...
4246700	4254220	However, the interesting thing is, it's interesting if you can break the key exchange in the future, because you can read.
4255200	4264460	But to forge somebody's personality, to forge somebody's identity, you need to have your quantum computer forging signatures in real time.
4264500	4266540	So that's another really interesting direction.
4266540	4268800	Correct, yeah, my question was...
4268800	4276600	I believe, unless you're...
4276600	4282560	I think 2048, you basically break it in 8 hours, something like that.
4282560	4291760	So what do you know from the experiments that have been tried with non-RSA-ing to...
4294840	4304340	Yeah, so generally, anything based on period-finding will just be vulnerable.
4304780	4307840	And anything not based on period-finding...
4307840	4309860	No, I'm not going to say that.
4309860	4312100	Anything not based on period-finding.
4312100	4325500	Anything based on, for example, these type of problems, for example, we don't yet have any decomputing quantum attacks, and we don't think we will.
4326120	4326680	Right .
4327400	4329960	So that's about the size of it.
4329960	4337340	We don't know for sure that computers won't be able to break this stuff, but we think they might.
4337940	4339700	Question.
4340280	4341800	Oh, yes.
4341800	4342920	I have a question.
4342920	4345760	I have a question.
4358780	4360980	How do you go away from...
4360980	4362280	Now, it might be that the...
4363440	4366340	Still, it's zero.
4366820	4371680	So what the data director has said is that it's used
4382070	4383350	for...
4383350	4386770	that it's lower than the transition time to find 5.
4386770	4390650	And basically, you'll end up with...
4391410	4397130	you'll end up with almost completely the same results from the state that you started from.
4397130	4400730	You can define that state and apply it to the energy state.
4402270	4413530	What happens is you apply your compute to it, and that means that both energy states that you started with will start mutating into another energy state.
4413530	4417650	So you're going to end up needing a more complex provision to make that work.
4417650	4420430	Now, if I can have a person...
4428110	4430890	And the actual...
4430890	4433550	that we talked about...
4433550	4435570	has to go into...
4435570	4444470	So when you have a large, finite amount of time, we're just quite very confident that they wind up being the correct...
4444470	4447310	And we're confident that...
4447950	4450470	So when we run it in time...
4451570	4453490	So the underlying quantum sort of time...
4453990	4456050	and what we see is like mediated...
4456890	4459390	you're in the right state in the right time.
4459830	4463170	And as your time builds towards the order of more and more...
4463170	4465830	you're going to disrupt the alternative computation...
4465830	4467510	and it will be more perfect.
4468970	4471370	So that's why you have the...
4472630	4474770	And we're going to pause now.
4478450	4479490	Because otherwise...
4479490	4482890	There's only going to be the question of how much...
4483530	4484790	We're recording.
4484790	4487110	More subject matter experts contribution.
4487470	4490230	And Mark Carney, sign this gentleman up for next year.
4493010	4493530	And...
4493530	4500010	What I will do now, unless there are any more super impressive questions, is I've got just a couple more slides on...
4500010	4502110	directions that you can take.
4502610	4506190	And then, you know, after that...
4506190	4508390	I'll put the mic down and then just come around and...
4510450	4512530	chat about how that's going.
4512530	4515010	Has anybody had any success in running the...
4515790	4518590	answers one full time through or got to results?
4519710	4520510	No?
4520510	4520950	OK.
4520950	4522430	We'll talk about that.
4524130	4527010	So, alternative approaches...
4527010	4528770	You have this...
4528770	4533010	If this is the adiabatic pathway, then you have this quantum approximate...
4534570	4536070	optimization algorithm.
4536070	4540330	Which is actually a way of implementing the adiabatic...
4540330	4541590	quantum algorithm.
4541810	4545010	But we can actually run this...
4546090	4548990	in the game model, which is really interesting.
4549030	4551010	Because basically, it discretizes...
4552010	4553710	the continuous pathway.
4553710	4556910	So if the adiabatic step is smooth, then the QAOA...
4557910	4561050	is done in, you know, leaps and bounds.
4562350	4562870	And...
4562870	4566570	there's an interesting theory which says, basically, if you do this...
4566570	4569110	in infinite number of steps...
4569110	4573410	and an infinite number of approximations, it will exactly be the adiabatic algorithm.
4575130	4576350	QAOA is of interest...
4576350	4579150	because we can actually run it at super low depth.
4579470	4582730	And some people, like Enify, have showed that for some problems...
4582730	4586330	there can actually be some really interesting, you know, some potential quantum advantage.
4586470	4588510	A super low depth QAOA, right?
4588510	4591830	So literally just doing one problem Hamiltonian...
4591830	4595430	one relaxation Hamiltonian, and then measure it.
4595430	4598510	And that would be really interesting, because that's pretty low depth.
4599370	4601150	So this is quite promising.
4603670	4605610	So yeah, that's QAOA.
4606490	4608530	And then another thing is that you can...
4608530	4610750	if you know what your search space is...
4610750	4615490	so for example, previously I showed you a grid of, you know, like 4 by 3 cubits, for example.
4615690	4619210	If you know that your solution is somewhere in that...
4619210	4622070	2 to the 12 space...
4622070	4624230	then you can just quickly search over that space.
4624230	4626110	And we do have time bounds for that.
4626230	4630950	It's essentially more drastically faster than...
4630950	4633750	groupable searching over the 2 to the 12...
4634330	4635690	search space.
4636110	4638850	And so what you can do is...
4638850	4641850	in that work, where we were looking for the shortest vectors...
4643070	4650470	what we did is we wanted to know, well, how many cubits do we need to ensure that at least the shortest vector couldn't be the exact shortest vector?
4650730	4657830	How many cubits do we need to ensure that at least the shortest vector is in the search space somewhere?
4658450	4666690	Now we managed to prove that and find a bound based on Minkowski's theorem, which again is like some super cool geometrical stuff.
4668570	4676850	And based on that bound, which tells us how many cubits we need to implement the algorithm I've just described, you could just Grover's search over it, right?
4677010	4680770	And then you get a quadratic speedup on the search space.
4680770	4687330	So again, that's just kind of slap-on Grover's to the search space, but easily some kind of time complexity.
4688090	4702550	What you'll find is that implementing the Hamiltonian that I described as a Grover algorithm, we've been trying this, and we end up with a lot of gates, so it's not the most practical algorithm.
4702550	4736410	And it actually leads me to believe that maybe these annealers, the way that you can implement the algorithm and don't have to construct enormous circuits full of adders and multipliers to basically do all of these operations, you might actually get a little bit of quantum advantage for certain types of problems on annealers or continuous subversions faster than the gate models just because of the amount of actual engineering and gates that you need to reach the results that you want to.
4738490	4741710	And so yeah, I just mentioned the proof technique.
4742610	4746090	You can lower bound, you can upper bound how many qubits you want.
4746170	4747350	But this is the thing, right?
4747350	4757950	With continuous time problem computing, you can bound the search space, but unless you know that minimum energy gap, you're not going to know exactly how long it's going to take.
4757950	4762970	The best thing you can do is bound the size of the search space and then roverize it.
4763290	4770210	So the time complexity is really a real sticking point for this class of algorithms.
4770570	4796530	If anybody can solve it and find a generalized way to take an initial Hamiltonian, the distance between the lowest energy eigenstate and the upper, and the first eigenstate at any point, please come and tell me before you publish it yourself.
4796530	4802170	And we'll go forward with that together.
4806110	4808750	Yeah, that's it.
4809030	4811290	I'll be around, Brian will be around.
4812170	4814630	So yeah, come up and ask us questions.
4814990	4819630	But I think we're now at content time, so we're all released.
4819630	4823650	Thank you.
