Wolfram Quantum Framework: A Guide for Educators

Wolfram staff demonstrate the Quantum Framework packlet for teaching quantum mechanics and computing. It includes QuantumState, QuantumOperator, and QuantumCircuit objects, with examples like the Mach-Zehnder interferometer and quantum eraser, plus visualization tools and integration with Wolfram Language features.
Chapters
And there'll be information in the chat when we're live, I take it. All right. Hello, everyone. Welcome to another Wolfram live stream. Today we're going to be focusing on what Wolfram language, and specifically the Wolfram Quantum Framework, a new tool that we're going to be showcasing can do in quantum education, introductory sort of contexts. Thank you for bearing with us. By the way, we're sorry to be starting late. There's some inclement weather in Champaign where most of us are broadcasting from. But we've got failsafe set up, shouldn't be causing further problems. I'm Noah Chartoff. I work in academic outreach. My master's degrees in the science of teaching mathematics. So a lot of this quantum material is relatively new to me. I'll be filling in in the role of a student's perspective on these educational materials.
And I'm John McNally. My original background was in physics before getting into education. And so I've definitely studied the mathematics of quantum mechanics a fair bit. But quantum algorithms is a new topic for me in a lot of contexts. And so we're joined today by two people who are very knowledgeable about this topic. And so we'll let them introduce themselves real quick and then we'll get right into it.
Hello everyone. My name is Mads Baromi. I'm the director of Educational programs at Wolfram Research and also leading our quantum initiative. Our main product is our quantum computation packlet that Nick help as the main developer of that packlet. I think somebody can put the link to our packlet in the chat for our users. Nick handing over to you.
Oh, well, Nick Merzin, I am the lead developer of the school from Quantum Framework, as Matt said, and also a physics fellow at the Wolfram Institute that opened just a couple of months ago and I'm doing some theory, physics theory there. So maybe that link also can be added to this.
Wonderful. Yeah. So the first thing that we were going to show are just a couple of demonstrations that existed that you can do in Wolfram language that were created before the new Quantum Framework Packlet came out. And so the Quantum Framework Packlet extends functionality into the realm of quantum computing and has some very nice ways of representing things like the basis that you're working in. You can represent things using a functional programming language so that you don't necessarily have to get into all the nitty gritty of the under the hood details that let you think about and design these kinds of circuits. So no, I know that you wanted to talk about the demonstration Here with the two slit experiment.
Absolutely, because it's just a wonderful experiment on the face of it, and is also a great example of the sort of visualizations that the Wolfram language can do even without this new packlet tool. So those of you familiar with quantum mechanics will recognize this. But just in case, there are some introductory students in the live stream today, the two slit experiment is, I think, just amazing. It's an experiment that shows when particles, often light, but in this particular example, electrons are projected through a tiny slit in the in material. It forms a pretty reasonable pattern of where those particles then go afterwards. Most of them, which you can see by the height of the pink dotted line, show up in a straight line between that slit and the source of the particle. And some of them, through little random changes, vary from that. Fewer and fewer the further away we get out from that right underneath sort of point. And anyone who's operating under standard common sense would think, okay, if there were two slits in this system, then you'd expect to see two curves like that. Right? Something where there's mostly the light in one spot, the brightest light right underneath, and then dimmer as it goes further away and nothing else interesting going on. But as experimentation has shown, when there are actually two slits, not only are is there strong likelihood of those particles ending up in two places, but there is gaps between the likely places. In the case of light, this means that you'll see darkness, little periods of darkness that appear when there are two options for where the particle could randomly go through that weren't there. If you just blocked one of them. Somehow more options for where the light could go has ended up with fewer places it actually goes.
And if you're, I was just gonna say if you're familiar with, you know, quantum mechanics, you already know this is going toward this idea of interference. Sorry to jump in there, but yeah, continue.
But yeah, I, if you're familiar with that, it's a great example of it. And if you're not, or if you're showing it to students who are not, it's going to raise a lot of questions. As an introductory example, why the heck is this happening? Can we predict how this is going to happen? Can we model this happening? Can we prevent it from happening? All of these sorts of questions that a more in depth look at the mathematics, the science, the theory behind quantum mechanics could help to explain. And so that's something we're going to be looking at in a little bit more detail coming up. But we have some other examples of what the wolfram language can do by default. That we think are pretty neat, too. John, you want to one last comment.
About this one is that when you're explaining something like this to students, you know, if you're just jumping in and showing a picture, it's important always to remember that your students are going to have some kind of preconceived notion about what's going to happen. So you might want to prime them in this context about. Well, think about what would happen if you were sending baseballs through these slits, right? So if you're sending baseballs through these slits, they're mostly going to go in the direction that you would expect them to go. But these interference patterns that you get when you're dealing with the size and energy regimes where this experiment takes place are not the same pattern that you would see with baseballs. And so when we get into talking about circuits, there's some interesting subtleties there. But anyway, so that's one example. Another really cool demonstration which exists on the Wolfram Demonstrations project. Let me just bring it up here.
Is.
Something with the Mach is under interferometer. So there's many different types of interferometers. And so this is an interesting demonstration that you can find the hyperlink here, and we'll make sure to link this content here after the stream. But you take a beam splitter. So this is something that will take a beam of incoming light and, you know, there's some probability that the photons that go in there will go one way compared to the other way. In other words, the beam splitting beam going one direction has some probability of getting split in various ways. You set this up with some mirrors and some other equipment that introduces a difference in the two paths. And when you're doing that, you get an interesting probability distribution that this demonstration does a nice job of sort of trying to visually show as you adjust the differences between the paths and what's called the phase of the object going through their changes. This demonstration shows sort of graphically how the probabilities for each detector change. Now, what I want to get into here is with our two experts on quantum circuit, you can also, instead of doing this using whatever methods were used when this demonstration was created before the packlet exists, you can also abstract a lot of this into, into the notation and diagram of a quantum circuit so you can take some incoming state. So rather than thinking of it as how it's going to be in your laboratory setting, one of the ways I like to think about the formalism of quantum mechanics, which is the same formalism of quantum computing is that it sort of abstracts a lot of those details away into the essence of the patterns that you're going to be seeing. And so you can take a diagram that looks like this and has a little bit more correspondence to what you're seeing in your laboratory and come up with a diagram that looks a little bit more like this, right? You're sending in a beam of light, it's being split, there's some phase shifting going on, and then you go to recombine the beam and then you do your measurement and you can, as you're adjusting the phase differences that you're introducing along each path, you get a different probability for each of these detectors to click. So to emphasize this original demonstration was done using Wolfram language functionality. This thrown together alternative is done by combining quantum framework functionality with other built in Wolfram language functionality so that you can get these nice diagrams, you can get very nice representations of the probabilities for each of the various things to happen. And jumping ahead a little bit, you can also, of course, make very nice plots where if I peek under the hood for a little bit and see, how did I make this plot? I'm evaluating these circuits that are defined on quantum states. And our two experts here have some nice tips and tricks about how to very easily represent some of these objects. And I'll just show you the way that when I was throwing it together, if you want to make a circuit, you just define your circuit with a bunch of things that you want to do. So you define what a beam splitter is, what a phase shift is. You can put in any sequence of operations that you want and create quantum circuits. Now, as it turns out, even though in the lab with these two paths, this looks like a fairly complicated experimental setup in terms of the abstract modeling of it in terms of a circuit, you're basically just talking about one quantum wire with a few operations happening on it. Our experts here will show us some examples of much fancier and more interesting things that you can do. And then we'll talk about how does this apply to if you're wanting to teach quantum computing and quantum mechanics to new students? Since we're wanting to increase the amount of quantum ready people that we have in our workforce to interface with these exciting new technologies. Oh, Mads and Nick, where do you want to go from here?
So, like this, you know, Nick, what do you think? You share a screen and together, you know, we are going to have a discussion about like, you know, things that one can do in our quantum Framework. And we are going to show, you know, a couple of examples. So I'm gonna start by a quick comment about quantum theory. Remember, like, you know, this is the most powerful theory ever developed, we can say, in the history of, like, you know, humans and like, you know, this is the most successful confirmed whenever we tested that. In the meantime, like, you know, there are lots of, you know, open questions on what is the proper narrative, what is the proper way of, you know, understanding, you know, quantum theory at the mathematical level. Like, you know, everything works beautifully, but like, you know, when it comes to, like, you know, our intuition, which are mostly classical, there are some strange things like, you know, and like, you know, those two examples that you showed those, you know, interferometry, like, you know, these are basically the, the classical examples showing that, you know, some quantum systems, they behave in a strange way. Strange in a sense that, like, you know, if you come to, to this world using your classical intuition, you're gonna have lots of difficulties. But whenever we talk about like, you know, quantum board, there are some bunch of fundamental objects that we need in order to do any computation. And the main purpose behind, like, you know, our quantum framework was developing a unified system, a few objects helping anyone to do any sort of, you know, quantum computation. So let's start with like, you know, Nick, do you mind sharing your screen? And then. Yeah, so let's just start with like, you know, talking about, you know, fundamental objects that we have in our framework. By the way, when we talk about framework, technically is a packlet, meaning, like, you know, it's bunch of functions that you can install. You can add it on the top of building functionalities that we have in Wolfram Mathematica. And by the way, if you're hearing any background noises, two of my kids who are home because they are sick. So sorry about that. They are also learning quantum. As I'm live streaming from home, I.
Think it's never too early to learn quantum.
Yeah, exactly. So one fundamental object that we have in our framework is quantum state. So basically, quantum state is how you describe, like, you know, a quantum system. This is the mathematical entity that we use to describe a quantum system. And the, the code to basically explain that, to describe that is, as you see, is a quantum state. Like any other theory, there are a bunch of common names for quantum states, like 0, 1 +, -, left, right. As you can see, all of them are building and you can include any of them. For example, like, you know, this is a left state. And as you can see, the result is a Quantum object. And then the traditional form is what you see here. Like, you know, Nick is showing. So this is the object and the summary box. And that's a traditional form which is more common in the literature. Now let me briefly comment on the notation that we have there. That's exactly the case that you guys showed in Mach Interferometer. So basically, we have a system with two possibilities. One trajectory, you can call it one. The other trajectory, you can call it zero. And then there is a relative phase between the two. So this is, for example, one possibility for a quantum state. And of course, that relative, like, you know, phase between the two. You can, you can play with that. For example, we have another quantum state which is plus. And there, like, you know, when we look at like, you know, the, the, the. The. Those relative phases, it's just, you see here, like, you know, we don't have that. So it's just a different relative phase. Now, one interesting question would be like, you know, okay, how I can go from one quantum state to another quantum state? What type of, for example, you know, transformation I can do going from one to another one? By the way, let me just comment one technical term because that's very important in quantum. For example, let's put an imaginary factor in front of quantum state left and let's look at like, you know, it's, it's again, you know, traditional form. You know, the, the one at the bottom with an overall phase, a global phase in front of that. Experimentally, it's the same as the one that you see on the top. You know, in quantum, we would say, like, you know, we cannot distinguish, like, you know, that overall phase between two states. And in our framework, you can test it like this. You can test if these two states are the same, although there is an overall phase between the two. Experimentally, since that overall phase is not observable, you don't see it. That's why, like, you know, these two are the same. So that, that's one thing. Like, you know, whenever, you know, people are working with that. Like, you know, if you are shifting both of these two arms of interferometer in the same way, you don't see any effect. The effect appears when you change only one of them. So how we can do that? So you are interested to transform your quantum state and add an overall phase. This is, this sort of transformation is done by quantum operations. Okay? So like, you know, we have a class of different transformation that you can do on the top of your quantum states. And the classical example in quantum theory is what we call as quantum operator. So quantum operator is basically. It's like the way that people can see it is like it takes a quantum state. And it transform it into another quantum state in a very particular way. And as always, there is a collection of, you know, common quantum operators. One example is Hadamard. Why Hadamard is interesting because this Hadamard as an operator, it acts almost the same like 50, 50 beam splitter. Let's look at that. For example, let us start with a quantum state zero. And we are going to apply Hadamard on that. And let's look at the final result. You see, for that quantum state was zero. And when we look at the act of that quantum operator on the top of that, you see now we have a combination of different options in quantum. We call it superposition, linear combination. And that's exactly the very beginning of lots of fundamental question in quantum. Because simply speaking, if this linear superposition is possible for the quantum state for a quantum system, that quantum system can be an electron, it can be a proton, it can be an atom, it can be a big molecule. Can it be also a classical system? For example, is it possible to have that superposition for a classical system? That. That's an open question. Is there any basically transition from classical to quantum that we don't see that superposition? This is one of the open questions at the foundation of quantum. But anyhow.
Let'S. Let's say that, you know, let's just say actually, please. So a lot of introductory students are going to wonder. And this also ties in with what you were mentioning about not being able to measure global phases experimentally. They're going to see, okay, that split. I understand where the twos come from. But why is it square root of two rather than just one half? Because a lot of introductory students, if you're not used to the difference between an amplitude versus a probability, they might. They might get a little confused by that. So do we want to go into just a brief comment on.
That? Very.
Good.
Yeah. So basically you are asking like, you know, you're asking about like, you know, the true meaning of like, you know, this quantum state. What is the quantum state? Basically, quantum state, the way that we construct it is simply the addition. It's basically a vector in the simplest case. Okay, I don't want to be, you know, very technical. There are other possibilities. But in the simplest case, you have a vector. And each element of that vector, it represents an amplitude. What are those amplitudes? Those amplitudes in a mathematical machinery, you can translate them into probabilities. For example, look at the quantum state plus the amplitudes for basically 0 and 1. Each of them is one square root one over a square root of two. Now if we ask for the corresponding probabilities, the probability is basically absolute square of those amplitudes. So basically we go from a level which is abstract, mathematic, which is those amplitudes. And when we go to the probability, this is the level that we can test experimentally. And that was exactly the case that you guys were showing, like, you remember, in your demonstration. No, John and Noah, like, you know, as you were explaining, you were showing the probabilities. Those are the things that we can test experimentally in quantum. And this is basically the correspondence between the theory level, which is very abstract, and the experimental level, which is something that you can test experimentally. So the very last line of code that you see there, those two probabilities, one half, this is what we can test experimentally, okay? And we get them from those amplitudes. And if we play around, you know, those amplitudes, okay, so we might be able to get something different. For example, let's do something fancy. We can apply a rotation around y axis on x plus so and that rotation we can. I don't know any angle, like, you know, I don't know any whatever angle, Nick, you would like. You can add it there. Let's go with the symbolic one. And this is one of the beauties of, you know, our framework. Okay, don't be scared. Like, you know what you see here. I know, like, you know, you may think, oh, that's too complicated, but that's exactly what's happening when we deal with symbolic computation. What is the symbolic computation? The idea of symbolic computation is that in your computation you are literally treating that theta as a symbol, meaning that like, you know, it is literally a symbol. It's exactly the same way that you write it on a paper. It has no numerical value. You can assign a numerical value, for example, like, you know, I don't know. Let's go a bit. I don't know, give it a numerical value and show like, you know, the result that do PI over four, PI over four. And like, you know, we can ask for the numerical result and we can see the numerical.
Result. Thank.
You. So this is basically the numerical result. So this is one of the, I would say, strongest upper hand for those people who work in general war from language, in particular our quantum framework, mostly because we are maybe the only framework that you can do symbolic plus computation at the same time. Like, you know, if you work with the other quantum framework, you always need to like, you know, deal with everything numeric. And you can do lots of numeric here. You can do things also symbolically. But anyhow, like, what is happening there is that, you see, we are changing the amplitudes and now if we ask for the probabilities, the results will be different from one half. And those probabilities, they depends on like, you know, what type of basically amplitudes you are creating.
There. So if I'm understanding you correctly, the framework is going to come at a problem and let you find numerical answers like a lot of other tools out there will. But also it's going to get at the underlying why of why those answers are correct by showing the process it's using to find it. Like showing the complex unit circle sort of reality that's going on behind the.
Scenes. Yeah, that's exactly like, you know, what's happening here. Very cool. Like, you know, Nick, if you, if you say, yeah, you see here, like, you know, this is the simplification for this very particular case. And if we say like, you know, maybe with the assumption of, you know, theta is only real, maybe we can even simplify it further. Remember, when you are. This is one of the beauties, like, you know, it is going to be a headache for some users. But for example, this is one of those untold assumptions. Whenever you are dealing with symbolic new calculation. For example, in almost all the textbooks, when they write down the symbols theta, their implicit assumption is that it's real. But when you're recording that it's not, it's not implicit at all. Because that theta, it can be complex, it can be literally anything. And when you plug it into Wolfram Mathematica. Wolfram Mathematica, it gives you all the possibilities. And if you want to narrow it down into something simpler, that's exactly like, you know, for example, what Nick did. So you would add, you know, some assumptions and you would get like, you know, those, you know, typical answers that you would find in the literature, which is based on practically, like, you know, what you would do, you know, in a textbook, pen and paper. So now as you see here, so let's, if you scroll up, we had somewhere Hadamard on quantum state zero, for example. Let's, you know, go with that one. Yep. And you realize like, you know, we created, you know, quantum state plus. So what you see here, literally, if you want to understand it, is like this. We are applying a beam splitter on a beam of particles that are going through our, you know, Interferometer. So that Hadamard is literally the representation of our beam splitter splitter. So that's how we can basically, you know, see it. So that's literally the, the, the effect of like, you know, your beam splitter. And then now this is basically the interpretation that we have. So, for example, you can say like, you know, the top has the zero. The lower pass is basically like, you know, one. So it's go up reflected or like, you know, transmitted. Now what we can do, we can go one step further and we can say, okay, now I would like to add a relative phase. Okay, so how we should do that? You know, remember, whenever we are working with our framework, almost always the answer is the same as what you think. And this is by construct, the beauty of, you know, Wolfram language and also our framework. Like, look, look at here. Like, you know, it's a quantum operator, it's a phase. And guess what, what's going to be the second argument, of course, the angle that you would like to introduce for your relative phase. And let's call it, you know, alpha or, you know, whatever, it can be, you know, symbolic or it can be numeric. And when we look at that, like, you know, this is the operator form. As you can see, it says, if it's zero, do nothing. If it's one, add that overall phase. And now if we add this quantum operator after our Hadamar. So what we are doing here is quantum. And then we have our beam splitter. Remember, beam splitter was Hadamard. And then top pass. You see, we have a phase in front of only the one state. So this is basically, as you can see here, we have a composition of like, you know, actions on a quantum state. So we say that, you know, okay, I started with like, you know, a beam splitter. And then I added like, you know, a quantum operator. Now let's say that, you know, you would say, I want to do a measurement. Okay, it's interesting how we can do a measurement. Measurement is simply quantum measurement operator. One interesting question would be why you guys decided to have a different object for quantum measurements. For a very simple reason, because quantum measurement is a completely different animal in quantum theory. So a simple answer is, and this is one of the open questions at the foundation of quantum like, you know, if no measurement, we have one dynamic. If a measurement is a completely different dynamic, you know, the common narrative is without measurement, you have a unitary transformation. When measurement happens, you have the collapse of the wave function. And when you do that, the result is, of course, Is a measurement. How we can, you know, think about measurement. So when the quantum measurement happens, now you have your measurement results and the most important thing is the corresponding probabilities. Remember the phase that you added there. Okay, so that phase is a symbolic. Now look at, you know, some people initially, they may, you know, say, that doesn't look nice. Why it is so complicated. Guess what? For a very simple reason, just look at. Try to read it. In that calculation, it's taking the conjugate of alpha because the way that we define it here, we are not telling, you know, this software that that alpha as a symbol is a real symbol. Okay, we are not doing that because like, you know, look, you know, we are not doing any assumption there. If you want to see a result that is similar to the results that you would see in the literature. So you need to add more assumptions. What are those assumptions? You would say, now alpha is real, which is typically between that range that Nick specified. You would say, oh, the measurement results, they are exactly the same as before. Although I added, you know, a relative phase between the two. That's again like, you know, one of the direct results of Renault quantum. Why it is happening because the connection between the amplitudes and quantum probabilities is basically absolute squared. So if I take the absolute of that exponential I theta, I won't be able to see that off. Sorry, I Alpha, I won't be able to see that. Okay, so like if you just take absolute and then squared of.
That. Oh, you have to.
Assume.
Yeah. Oh, sorry. I was just also connecting back to our motivating example for this interferometer. This particular measurement that we're showing would be if you sent in the beam, you split it, you adjusted one of the relative phases and then you just didn't recombine. You.
Just. That's exactly the case. Good guess. So like, you know, this is the case that is happening and I'm going to explain later why it is an interesting example. So this case we don't have the second beam splitter. So what was the second. So why that second beam splitter is interesting. The answer is very simple. If you are interested to see the effect of that phase that you added, you need a second beam splitter splitter. So what's the second beam splitter? The second beam splitter is another basically Hadamard. So what we should do is we should add another beam. So beam splitter acts on the output that we get. And now you see, we see the, like, you know, that alpha appears in front of both of them. What's happening literally here in, you know, narrative of quantum, we would say an interference happened. So basically you kind of combine your amplitude in a way that, you know, now you can see the effect of that overall phase. Now if we do the measurement as usual and then in order to see the probabilities, we have to do some simplifications and look at that. Voila. That's exactly the result that you showed on that initial demonstration. So now the effect depends on basically like, you know, that overall phase. So one more time, let's recap like, you know, what we did now this time, you know, without using previous notations that we have, we started from quantum state zero. So Nick, let's go with the quantum state zero. Then we apply a hot amount on the top of.
That. Can I interrupt you for a second and ask a question here, please? There's a feature that's come up a few times in this demonstration I'm curious about, which is the red and pink box that you could see in output 52 right now I was wondering what does that tell us about this system and, and how does it come up in the packlet in.
General? Nick, go.
Ahead. Well, this is a summary box of all the. Well, for all the objects that you have in the framework, we have a summary box that contains some information about each of those. In this case, it's a quantum state. And all what summary box contains for quantum state is what it actually is, whether it's pure or that it's mixed. You can also have something like sometimes degenerate. You also can have not just a metric vector form, it also can be represented by density matrix. When you have actually mixed mixing stakes. We also have a picture which is not very important, but in principle you can have a Heisenberg picture and have a like interaction.
Picture. So like, you know, basically like, you know, the different pictures, the usual thing. And remember, like, you know, basically like, you know, short answer is that summary box. It tells you lots of information about that state. But like, you know, most people look at that like, you know, phonoum and entropy, the dimension, etc. Etc. But in the literature what you see is usually what we call as a traditional form, which is that, you know, Dirac broadcast, you know, notation. So that that is basically the notation that you see in the literature. But when you come to the computational level, that animal, that object, it contains lots of information. And that's basically the main motivation behind that design. Because behind the scene we are treating that state much more complicated. It's for us like, you know, it's basically like, you know, we at the very behind the scene, like, you know, we have some tensor manipulation because this is the way that you would be able to deal with everything. And of course you can extend that. For example, look at here, we have a quantum state telling us the first Quantum state is 0, the second one is 1, the third one is 0, and the last one is again 1. So this is the main reason that like, you know, we have that is just going to more complicated situations. And those summary boxes, they are always very helpful because they contain some interesting information. For example, you see, it's a pure state. You know, we haven't discussed about that. But remember, like, you know, all the examples that we are showing here so far, they are pure states. But, you know, that's because it is an introductory level. So let's, let's stay at the entry level.
So. Oh yeah, absolutely. But what I was referring to is something that hasn't actually been touched on yet, which is the colored boxes.
Inside of all of that. That's sort of a graphical representation of the matrix representation of.
That. And is this an industry standard or is it something that's specific to.
Our program, Nick, you know, create that manually for any estate like, you know, we can.
See. So this is basically a signature of a density matrix, because density matrix of state is a square matrix of complex values. And then in the Wolfram language, you have a nice. How's it maybe this one, right? This is, it's a complex array port of a square matrix, in this case a density.
Matrix. And if we want to see that just written as a matrix, we can use matrix form.
Right?
Sure. So that, that graphic is sort of a nice visual way of parsing all of that information. Right? So.
This. Very.
Nice. Yeah, yeah. This particular state, you know, isn't too crazy. But if you have a crazier state after doing some interesting circuit, then having a visual representation of that is going to be much more helpful than, you know, staring at numbers like.
This. And is the graphical representation and industry standards something that people who work with quantum all the time will recognize, or is it a bonus that we've introduced into.
This? I would say mostly a bonus because like, you know, again, like, you know, as John mentioned, like, you know, typically what you would see in the literature is that density metrics, but like, you know, that density metric, especially when you are doing, you know, some comparisons, like, you know, for example, like, you know, even eyeballing, if you look at those, you know, colors for those densities it tells you that, oh, those assets are different, they are not the same. Okay? So it's, it's just, you know, a way of like, you know, for example, instead of a matrix, you have a picture. That picture, like, you know, is like, you know, a representation of like, you know, that.
Matrix. Another.
Point.
Yeah. Another point I want to bring up related to this is that I would say most of what people learn when they're learning quantum mechanics is all of the implicit assumptions that go into, when you just write that little zero in a funny looking bracket. Right. Because as you were saying, there's a ton of implicit assumptions that if you're going to actually do computations, you have to make those implicit assumptions explicit as they're summarized here in the sort of summary box. And so in many students, they are looking at these zeros and ones in Dirac notation. And after you learn what it means, it's like, oh, okay, I sort of get it. But you, that's what a lot of the introduction courses are for, is learning what those implicit assumptions are that here are nicely summarized for you in this quantum state summary.
Box. Yeah, and like, you know, remember, like, you know, there are many different way of, like, you know, looking at them. For example, like, you know, what you see here, the association that tells you that, you know, look, you know, each of those guys that you see here, 0 and 1, they are practically behind the scene. Like, you know, they are vectors or, and if you go to a higher dimension, like, you know, they are like, you know, that eventually, like, you know, we are gonna have a tensor behind the scene doing everything. So this is very generic, basically, like, you know, whatever comes to your mind in terms of like, you know, whatever quantum state that you can have, like, you know, we, you can simply implement it here. Now let's go back to our, you know, let's. One more time. Quantum state zero. That was our initial quantum state. The first beam splitter was a Hadamard. So we added like, you know, Hadamard. And then an overall phase was a phase like, you know, the angle. We call it alpha or whatever, you know, people, they can call it like, you know, whatever way they want. And then we had the second BMS splitter, which was a Hadamard. And that's basically the final state. Now, as you can see here, we have a composition of, you know, operators acting on a quantum state. And that quantum state is initially at zero, which is what we usually call like, you know. Now I'm switching to the language of like, you know, quantum computing that Basically is quantum zero is basically, we usually call it, you know, register state. So what you see here for us in Wolfram language, we can have a composition. So composition is literally like, you know, when you have like, you know, a bunch of functions, one apply on the top of another. For example, let's have fgh on, for example, x, you see here, first H and then G and then F. So this is the idea of like.
You know, composition F of G of.
H of X. Yeah, exactly, exactly. There are fancy way of doing composition. We have right compositions, etc, but, you know, we don't go to those details. Now, this composition in quantum computing, this is basically the fundamental idea behind a quantum circuit. So that series of operation that you see, that composition is literally the way that we deal with a quantum circuit. So instead of like, you know, that animal, a collection of like, you know, one after the other, you can have what we call as a quantum circuit operator, which has also a diagram representing each of those operations. Remember, by convention, a quantum circuit operator, you should read it from left to right, meaning when you start with, you know, the Hadamard, it means the one on the left, it acts first, then next one. So basically the time goes from left to right. So the Hadamard on the right side, it acts at the very end. And each basically horizontal wire, it represents basically a, you can say a quantum system. So, and that quantum system, because here we only have one. So that's, you know, basically, you know, we call it, for example, quantum system number one. Why? You know, this is interesting because now all the manipulation, all this composition, you can do it much easier. Okay, first of all, you see, like, you know, the repetition of the same thing. Quantum operator. Quantum operator. So when it comes to the, you know, circuit design, you can kill that. Okay, so like, you know, now you see, it helps with the readability. Like, you know, you would say, oh, I have Hadamard, then I have phase, and they. And I have another.
Hadamard. Okay, So I want to, I want to emphasize this point for new students. So let's say that we want to build a circuit that is just one qubit going in, one qubit going out. Let's say that we want to do a Hadamard Z gate, an X gate, and then another Hadamard gate. What's the nice easy way we can do that? Just, just so that the new students see? And let's say that we want to throw, let's decide that we want to throw in an X gate after that, Z gate. So as you can see, yeah, the notation is very nice and compact.
And it's exactly, literally like, you know, again, like, you know, you know, remember, like, you know, this is one of the reasons, you know, one of the design behind, you know, Wolfram language readability of the code. Like, it's literally what you said. You said Hadamard, ZX Hadamard. And that's exactly what we have here at look at like, you know, the object that wraps all of them. It says quantum circuit operator. So if you show it to somebody who, who knows nothing about coding or who knows nothing about, you know, quantum, they can still read that. And of course, the summary box of, you know, quantum operator, it has lots of information. For example, like, you know, you see, you know, that one, it tells you it has three gates. Now like, you know the, the common terminology in quantum computing for circuits. Each of those guys, now we call them a gate. A gate is basically like, you know, that unitary transformation acts on your quantum system and then like, you know, what order and etc. So I'm gonna, you know, we are going to show you one other example that that is more complicated that. But anyhow, this circuit that you see Hadamard and then phase and then Hadamard, that's basically our interferometer. And then at the very end, of course, we do a measurement. So let's also add a measurement at the end which is basically like, you know, just, you know, measuring the last one. So now if we look at the diagram this time because like, you know, in addition to your quantum wire, you also have a classical wire. You're communicating like, you know, classical bits. So if you look at the diagram, you would see another, you know, double wire on the top. Now Nick, if you show like, you see, that's basically, that's how we represent. So this is the classical, you know, bit for your measurement results. So this is basically what you see here is the representation of Mach Zehnder, you know, interferometer. And of course this is the case that the beam splitter is 50%. 50%, if you want to have a generic case instead of Hadamard, you can have, you know, rotation around. Yeah. With any angle that you like. And you know, that angle determines like, you know, what percent will be reflection, what percent, you know, will be. For example, I don't know, theta. So this is the case that like, you know, now you have a beam splitter which is not 50, 50. So it's like, you know, sinus squared, tie, you know, cosine squared, theta. Like, you know, that's basically the Reflection and, you know, transmission probability. Anyhow, so this is basically the quantum circuit representing your mark center interferometer. And then you can do whatever you want. You can say that, you know, now let's go with the one with Hadamard. That quantum circuit, we would say, now let's apply that on a quantum state. And now there are lots of simplification in our framework. For example, you see here, Nick gave no input. So behind the scene we understand that like, you know, look, this circuit is acting on a register state, meaning whatever is the initial state, set all of them at zero and then feed it to this basically machinery do all the grinding and return, like, you know, results. So this is what literally is what you see here. Like, you know, those two are exactly the same if you give the quantum state or if you don't give the quantum state. So, so so far is basically like, you know, the, the, the, the, the result of like, you know, that, that case. Now let's talk about like, you know, we, I know we are also running out of time, but very quickly, let's do, you know, this, this fan thing that, you know, people do it a lot in the.
Literature. And since we started 15 minutes delayed, I think it's perfectly reasonable for us to keep going for a little.
Bit. Okay, so one step further. Like, you know, this is what, like, you know, you would see that a lot in the literature, people talking about, for example, okay, I would like to know where is that, like, you know, that, that particle. Because in this way, it's like, you know, the way that we would say, you know, I'm going to use the terminology, you know, Niels Bohr terminology, he would say, like, you know, we have quantum phenomenon. And by phenomenon, it means like, each quantum phenomenon is a box that you cannot go inside the box and see what's going on. Meaning that in this case, you cannot go inside the box and say, okay, which trajectory is the particle is going? Is it going from the top arm, Is it going from the lower arm? What's happening? You know, quantum theory does not provide you that information. You can, if you are interested in that information, it's going to be a different quantum phenomenon, completely different from this phenomenon. So let's design that this time you would say that, okay, so we have the same interferometer. Now after the Hadamard, the first Hadamard, we would say, okay, now I want to do something, you know, fancy. I'm going to say that, you know, if it was the top arm, I'm going to basically do nothing. If it was the lower arm, I'm going to save that information somewhere else. Okay, so basically what we are doing, we are adding another system. That system, we are saving the path information. Okay. I'm saying that, you know, okay, so if you are, it's like, you know, like, like I'm sitting somewhere like, you know, those, you know, the, the officers at the border and they are like checking the password. That's what I'm doing. I'm saying, okay, are you going through the top one? Okay, fine. Are you going through the lower one? I'm going to add a tag. So this is the idea of basically what we call as control operations. So literally what we want to do is saying a control operation. And that control operation is simply if it's something, do it something else, do something different. Let's go with the simplest case, which is usually called C, not control gate. So C naught is simply like you know, saying if it was zero, do nothing. If it was one act not. So let's just look at the diagram and then we are going to explain it more like, you.
Know, so should it be unclear what act not means for now. And we'll.
We'Ll. So let's, you know, we are so basically like, you know, the order, like, you know, it doesn't matter, Nick, you can go with the usual order like, you know, just, just to avoid the conf, you know, we, if we had Tommy, we will explain that. So, so basically what's happening here is literally like this. So let's do it one by one. Okay, so let's have, you know, again as before. So what we are, let's try to read this circuit first. A Hadamard acts on basically a first qubit. You see, the second qubit, nothing happens. By the way, qubit is a terminology that we use for two level quantum systems. And then we would say now look at the, the, the, the orange part, C. Not we say if that's one, add, do something on the second one. If not, forget about it. You don't need to do anything. So what's the overall effect? So for example, let's have Hadamard and cnot acting on 00. So Nick, let's do that for example. Yep, only that part. And let's add it on 00. And let's you know, show the traditional for now looks what's happening. So Hadamard, So the. Initially maybe it's better if we just show hadamard1 on hadamard and identity instead of C, not just add identity on the Second one identity as second one just to have. Yeah. And then just. So you see here, like, you know what's, look at that instead it says the first system is zero plus one. The second system is still zero. You see that like, you know, look at that state. So like, you know, this is after the first beam splitter. Now this C naught. Now look at the line 82c naught is saying if it, the first one is 1, flip the second qubit. That's literally what we are doing. Look at that like you know, now the second qubit instead of zero, now it's one. So this is a control operation that we do in this way. I'm saving the information, okay? I'm saying that, you know, look, the information about the trajectory is saved somewhere. Where is that information? In another quantum system. And C nut is like, you know, if you want to see like that's literally like, you know, the, the mathematical representation of like, you know, C not operation. So long story short, in this simple way I managed to save the information about the path, which trajectory the particle is going. What is the price that I have to pay for that? The price is very simple. I'm going to lose all the information, I'm going to lose the interference pattern. Meaning that like, you know, the price that you're paying for knowing which trajectory the system is going is no interference.
Anymore. So in that two slit experiment that we diagrammed in the first place, knowing would cause no more little black spaces in between the.
Lights. It's going to be a classical just two hump, very simple, nothing fancy. So what we can just to show one spatial case, for example, Nick that circuit with C not. Let's also do the measurement on the second system and also Hadamard and phase. Let's do everything like basically let's have that one and Hadamard and then let's do the measurement on the first and the second one. And just for numerical, let's assign a value for alpha. I don't know, let's put it PI over 4, for example and let's act it in the system and let's look at the probabilities. So as you can see like, you know, what we see is here let's look at the probability plot. So what's happening here is like, it's like you lost all the information. Remember like, you know, whenever we have like, you know, a sort of like, you know, flat distribution, no up and down, it means the interference is gone. Everything is classical. It's like, you know, look, think about playing Dice. Okay, if you are playing dice, it's a classical example, you throw the dice two times. Okay? So what's the probability of getting, for example, or flipping a coin? What's the probability of, you know, two heads? You know, in a sequence you would say, so it's one force. What's the probability of, you know, one head, one tail? What's the probability of, like, one tail, one head and two tails? You see, all of them, they have the same probability. This is pure classical example. It's like, you know, throwing coin. Okay? So the price for knowing which trajectory the particle is going is losing interference pattern. So what I can do now, quantum gives you like, you know, other options. You know, you can do something fancy. What is that fan fixing? So let's again, you know, look at our circuit diagram. Now, you see here what we are doing, we are basically measuring the second qubit and the first qubit. And the second qubit has the path information. How we save the path information. As you can see, if it's zero, we know it's going from the up arm. If it's one, we know it's going from this lower arm. Now what we can do is we can erase that information. So this is the, the, the very nice, you know, experiment. It is usually called, you know, quantum eraser. So how I can erase that information, basically by mixing them, it's like, you know, you know, you know, you are 100% sure. Zero means up, one means down. Now, if I mix them together, I lose that information. I cannot say which way the particle is going to. So in order to erase that, it means adding another beam splitter for the second one. So it means adding a Hadamard acting on the second qubit. Now, again, you know, this is the beauty of, like, you know, our framework. So what you can do, you can easily say, let's read that, you know, look at that. You know, it says Hadamard goes on the second qubit. So that's exactly, you know, what we are doing here. And of course, another way of, like, you know, if somebody wants to, you know, look at that in a nicer way. There are two ways just for the visual representation. You could have like, you know, a sort of bunch of dots between your phase and Hadamard. Just add a barrier. Yeah, just, you know, it's a visual representation, you see. Now, like, you know, it shows you the sequence. That's one way of, you know, you know, changing that. Or you can say, instead of barrier, you can say, you see, here we are writing two separated Hadamars, you can say, okay, it's Hadamard. Hadamard is Hadamard. So instead of that, I would say Hadamard on the first and the second one. And you see here, now you have both of them together. And this time, if you even remove the barrier, you can seal basically the sequence. But remember, it's just a visualization. Basically, the operators behind the scene, the sequence and how they commute. It's not important. But in case, for the sake of visualizations, you can have all those, you know, fancy things that you can do in, in quantum. Now, this time, this circuit, let's look at the. Let's do the measurement and let's look at the results. And let's look at the probability plot. And now you see, like, you know, what, what happened here is by erasing the information, you manage to basically recover your interference pattern. This is not throwing, you know, two coins anymore. There is no classical counterpart for that. Like, you know, you may think, look, this is literally like, you know, throwing like, you know, two coins in a sequence. And if everything was classical, you would expect it to see the same probability, one force for all of them. That's not the case now. It's quantum because you let the possibility of, like, you know, interference between them. And you may say, okay, let's just play around. For example, let's change that phase. Instead of PI over four, let's make it PI over, I don't know, whatever number niche you like, you see, like, you know, changing probabilities. And now you see the effect of that overall phase. Like, you know, it can be even, like, you know, any random number between, you know, 2 and PI. And you see, depending on that random, you see completely different interference patterns. Like, you know, so if you erase the path information, you would recover the interference pattern. And this one has no classical counterpart. So this is what, you know, it is usually called as, you know, quantum eraser. So long story short, back to that, you know, simple double slit experiment. Whenever you have different possibilities in quantum. If you want to know, if you want to understand which way you are going to lose that interesting quantum features, which is this, you know, interference pattern. If you want to keep them, then quantum theory does not give you any information, any classical picture that you may like. I should again tell our readers that these examples are very interesting because exposing students from the very beginning to these things, it helps them to develop a better narrative about quantum. It doesn't mean quantum world has lots of mysteries. That's not how we deal with situations in science. In science you would say open questions. Remember, the main goal of science is to demystifying everything. So do not say quantum world is mysterious, like, you know, lots of strange things. No, it's not a strange, but there are some open questions and of course, like, you know, how we can provide an alternative explanation for that. Lots of researchers are working on that. And of remember these simple examples, they have some important experimental consequences. For example, one of the interesting result of like, you know, these things is what people in the literature, they call it interaction free measurement. So exactly the same setup, you can confirm the presence of an object without interacting with that. It's very odd. It's like now I'm doing, for example, imaging without interacting directly. So it's like you are bypassing all those side effects of any imaging process. But anyhow, they are fundamentally interesting. And that's one of the great things that's happened this year with the physics Nobel Prize they gave it to three quantum physicists. It was a fundamental, you know, research started by John Swartville in, you know, the 50s, 60s and it took 40 years. But now we see the consequences. Quantum computing, entanglement, everything, all those conceptions that they were like, yeah, maybe yes, maybe no. It's a mystery. Now they have technical applications and of course with our quantum framework, you can explore all of them. So it was, I know it was a very basic introduction, but like, you know, Nick as a developer and me as somebody who tries to explain things, we have added lots of functionalities. So it's very powerful. I don't know if there is anything in a finite dimensional hyperspace that you cannot do with our framework. But again, we are very open to collaboration. Any question, anything that people, they would like to know more, any training, we are open, we would like to help and basically we are very interested to help with training the working force, making sure everyone is ready for quantum revolution. That will happen hopefully.
Soonish. Indeed. It's also good to point out that the probability plots and things that we were looking at before, since those are objects in Wolfram language, you can put a manipulator or something around that random reel and give it a name so that you can have students adjust what phase they're wanting to do. Yep, just like that. So manipulate and then we'll give that some name phase. And then you can adjust it in real time. Right. So I mean, having the ability to combine these things is just great and as easy as wrapping the interesting thing that you already had in some other function and you get an output which is what you would expect. Oh, yep. And then you can make animations, you know, all kinds of great.
Stuff. I love that. I mean I love. Yeah, in, in a lot of software you see new tools coming along. Especially in my personal experience in the open source sort of scene where people create a tool that does a new thing extremely well but breaks everything that the system it's in used to do or doesn't play well at all with other people's stuff. I love how much you can use all the built in functionality of the Wolfram language here, like manipulate, like random real, like all of this and it all works together. I did want to ask and I know we're now at the one hour mark, so if either of you need to get going, totally understand. But if you do have time, I wanted to ask. I love seeing how this tool can simplify all of the underlying complex imaginary numbers and give us an actual answer. Is there a way to also expose the math that was done to find these answers in this system? Like if a student was curious about how did this get calculated, for.
Example, matrix representation or the element association of eigenvalues and things like this would be another way of asking about those mathematical.
Details. Yeah, basically like, you know, we can say like, you know, it's every. All the magic that Nick has developed, like, you know, all those details, they are available. Like, you know, they can see like, you know, how we do the calculation and they can you know, even like, you know, do that sequence manually. You know, they can say that, you know, okay, let's see if I can reproduce that. Like, you know, I would like to write down, you know, my own, you know, metrics. And then like, you know, I would like to have like, you know, for example, like you know, let's hadamard, you know, 1 and 2. Like, you know, let's, you know, that the thing that we have a how to mart. Yeah, you see here like that that's exactly quantum state. And then for that quantum state you would say like, you know, the density matrix or a state vector is pure. Yeah. So you see that's literally like, you know, so that, that's how you can, you know, that's basically the textbook. So it's like a Hadamard metrics. And then you have, you know, a matrix acting on a vector. So it's like, you know, that usual, you know, the dot multiplication, that's, that's literally like, you know, what's happening behind the scene here. So and then whatever state that you would like to have there, like you know, that that's the case.
Wonderful. So it's, it's probably like those doing derivatives as a limit thing, something that you do for a brief while to showcase how difficult it is and then show the much easier ways to do it.
Which. And of course, like, you know, for these simple cases, like, you know, the end. This is maybe one of the. I understand for the learning purposes we always start with simple cases, but believe me, any real application is going to be so complicated that this simple visualization and metrics and et cetera, like, I don't know, like, you know, the Nick show Hadamard metrics acting on, I don't know, four qubits. You know, it's a very simple case, but like, you know, Hadamard on four qubits and just show the metrics. I want people just to see that. Like, you know. Yeah, not always. Like, you know, you can. And then metrics. And let's just, You see here, like, you know, the dimension is 16 by 16. So like, you know, if you want to look at that matrix, like, you know, you are dealing with a 16 by 16 matrix and then manipulating all those elements, you know, it won't be like, you know, trivial. And remember, this is only, you know, four qubits. In reality it's much more than that. And in reality it's not always Hadamard. It's much more common. You want to do something fancy. So when you learn the initial step, which is this metrics or vector or fancy term, tensor manipulations, then for an actual computation we always limit to, you know, good softwares, like, you know, we say, okay, you know, I understand the first principle. Now I design something based on those first principle and leave it to the software to do the.
Computation. Another thing which is really great to have software to check you on is changing bases because that can definitely be something which when you're thinking about how to do, if you forget a detail, that can throw your whole thing off. So how can I take an operator express in one basis and check what it would be in a different.
Basis basically for all of our objects. The very last the argument, it can be a quantum basis. Like, you know, you see here, you know, Nick is saying that, you know now Hadamard on quantum basis, which is poly X, if you don't give any basis, like, you know, no basis is given. The main, you know, what, what's happening there is basically going from computational into basically into the new basis. So you see here the first. Look at the first example and then look at the Second example, some people would say, oh, maybe they are not the same. Maybe they are different. Yeah, because it's a representation in the. The top one with 0 and 1. This is what we usually call as computational basis. Then we went to Poly X and then again, like, you know, we can easily test them that, you know, look, you know, it's just a different representation. They are exactly the same. And by the way, as usual, we have some, let's say, full code with everything or simplified version that Nick is showing you. So any quantum object that we have, remember, at the very end you can give an argument, and that argument is the basis in which you are doing all those, you know, calculations. And then behind the scene, you know, we would take care of all of that. Like, you know, we deal with them. And by the way, like, you know, one reason is that the level that we do the computation, like, you know, even, you know, the metadata, like, you know, or the semantic of the way that we do everything is very different from the semantic or the metadata of the way that we usually teach, you know, these things. And that's one thing like, you know, our students, researchers who want to be very serious with, you know, these sort of, you know, computations, they should keep that in mind that, you know, almost always, whatever you learn when it comes to do, like, you know, an actual computation, almost always there is a serious departure with the semantics that you learn in the literature. Like, the way that things are developed in the literature is not always the best way of doing that. Computational, it's just different. So you need to be ready when you see something different. Don't say, oh, it's different from the textbook. Why it is done in this way? It's mostly because computation represented in a textbook is not the best way of doing that. Of course it's the best, usually the best way to learn that. But when it comes to, you know, computational world, it's a completely different.
Beast. So. So this is an educational tool that uses practical industry language in how it does it. Am I understanding.
You? So basically, like, you know, Nick can also comment on that. So my tech is like this. If you want to be at the. It's almost the same like in a Wolfram language. If you want to be 100 at the level of everything that you learn in a textbook, that's everything that you see in the textbook, nothing different. If you want to do something fancy beyond that, you can also do that. So we support both of them. Like, you know, look at, like, you know, the, the language that we have here like quantum operator, we are not doing that. Like other frameworks that have fancy notations that are always abbreviated, we have full name quantum operators because we want our code to be readable. In the meantime, if you want to do something fancy, you can also do something fancy. So the answer to your question, Noah, is we support both of them. It's great for educational purposes, like, you know, but if you want to do something fancy, you can also do something fancy. We support all of.
Them. A great example of that is, you know, the difference between showing the traditional form of this operator, which is in direct notation, which is what you might see for learning purposes, and there's a nice symbolic way of representing it. But then if you look at how that's being done computationally, there's sparse arrays and so there's all sorts of fancy things being done under the hood for.
Optimization. And yeah, for example, like, you know, Nick, like, you know, take that circuit that we had on the top, like you know, with Hadamards, and then show the actual graph that like, you know, behind the scene the way, like, you know, the network graph, Tensor graph. Yeah, you see, like, you know, behind the scene the way that, you know, we are dealing with them. The semantic that we are using. This is, for example, a fancy way of, you know.
Looking. It's, it's super helpful to me, by the way, who, who is learning what all of these terminologies mean? That's very.
Neat. So it's literally like, you know, you see it completely different. Like, you know, you see, for example, like, you know, that tensor network. Like, you know, now we have a, you know, the dimension 4, 2, 2 and the sequence, how it's happening. Not only that, like, you know, even, you know, just for the sake of representation. Another fancy feature, Nick, look at, show the process diagram of that, for example, that circuit. It's quantum diagram, if I remember correctly. Diagram, process. So like those of you who are familiar with the, you know, process diagrams, it's, let's see, grinding, grinding. And then just look at the diagram. So those of you who are like, you know, into, you know, the process diagram, you know, zx, you know, formology, look, you know, this is basically the process diagram for that, you know, simple gate. So if you want to stay at the level of education, for example, undergrad, high school, quantum, you can do it in our framework, if you want to be very fancy doing high end, you know, quantum computing type of things, you can also do.
That. Yeah, I think this is the, the challenge perpetually for educators, right, is that you want to take. You want to find an approach where your students are going to have that quantum process diagram in their head when they see the simple representation, right? And so that, that basically is the process of education. So it's nice to have a tool that has access to both right, where you can see the sort of simplified diagram representation. You can also, if you want to get down into the weeds, you.
Can. You get the why and the how, but you also get the what is the answer. And you could skip to whichever one of those steps you'd like. That's very cool. I thank you guys for giving us some extra time now, an extra 10 minutes. I want to double check if there are any viewer questions we haven't.
Addressed. Nick, there is a question that we discuss about that, like variational optimization using our framework. Do you want to answer that? The answer is yes. But how to do.
That? This would require. We can't do it like at the this moment because of the limitations of the Wolfram language and their framework for doing this kind of things and neural networks. Because we can, we want to do it correctly. And in order to do it, we have to integrate with all the full form language capabilities that we already have. And it means, and that essentially means we have to integrate with all the neural network functionalities in order to do all the aftergraduates and variational things and gradient descent and all these kind of things. Right? We're not going to do it as a separate.
Project. So, so basically the answer, simple answer is like this Wolfram language, it has lots of functionalities for variational approaches, you know, neuralness and etc. We also have our quantum framework. The best way is just feeding our objects into other functionalities that we have in Wolfram language. That's the most efficient way of doing that. We are not there yet. Okay, so like, you know, that that would be our ultimate goal. But if you want to have your own variational algorithms, which is, I would call it dirty way of doing that, yes, you can do it, but you are not using strong functionalities that we have for neural nets and optimization and et cetera that we have in Wolfram language, by the way, like, you know, this is one thing that, you know, very soon we are gonna. It's already like everyone can see all our codes if they install the packlet. Very soon it's gonna be also on. On GitHub. So like, we are open to collaboration and like, you know, take it, you know, from there and like, you know, do much more like, you know, development like you know, we are actively looking forward like you know, to those sort of, you know, collaborations and our users, our community, expanding the work that we have done. It's the framework, remember, you have every building blocks that you need and then on the top of that you can build whatever you.
Want. Right. Just like we were able to wrap the measurement, actually the probability plot that came from measurement inside a manipulate, which is a built in function. You can take these outputs, they're just objects in Wolfram language, so they follow all the, if you're very familiar with Wolfram language, they follow all of the same things that you would expect. And so you can take those outputs and feed them into places that they can do other.
Things. Yeah. For the rational case, I would say when we will have a capability of returning not just a sparse array, but something with a gradient in it, we'll have a variational optimizations in.
This. So at this level, since it's all in a sparse array, like you will have a hard time like, you know, feeding that into variational functionalities that we have.
Yeah. Other questions, Let's see. So I did have one quick one while we're waiting to see if there's any other your questions. So you mentioned that we were just showing, for purposes of having some very basic examples, pure states, but let's say that I wanted to get a maximally mixed state. Can we just show how easy that is to do in various.
Cases? Well, maximally mixed, you mean, was it uniform.
Mixture? Yes.
Yes.
Yep. So if you want a mixture and let's say we want to do that for qubits. Yeah. So if we're, we can also define our own sort of names for these things. Let's say I wanted to have maybe an Alice bit and a Bob bit. Is there an easy way to do.
That? You mean like a new.
Basis? Yeah, so if you have read about a lot of these, you know, phenomena you'll be used to, whenever there's entanglement or anything that has some possibility of being entangled frequently, you'll give these to your two experimenters, Alice and Bob. Right. And so these names show up almost ubiquitously in literature about this. Yeah. So we can redefine names. And if you want to get down into the weeds, which also can be nice for teaching examples. And in that example that I was playing around with before, we can name the state's top path and bottom path if we want to. Right. So we have the freedom to specify all these things if that's something that we're interested in.
Doing. So there's a lot of built in terminology and we can make our.
Own. And by the way, as we have a few minutes, Nick just published this notebook and we are going to put it in the chat for our users so they can take it, they can play around.
It.
Wonderful. Awesome. So let's see. Any other questions from the chat? I'm not seeing any at the.
Moment. Well then, barring any coming up before we're finished what we're saying now, I want to say thank you to Madsen Nick for joining us today and for showing us this amazing thing. A lot of it is opening my eyes to the possibilities of this tool even as someone who is a quantum novice and that, that seems meaningful to.
Me. Yes, thank you very much for joining us. This, this has been great. Another thing that occurs to me is that you can specify very large circuit. There's also things like oracles and all sorts of other various built in circuits. If you're someone who is really looking to get into the fancier applications, you can find all that. I have pulled up one of the web pages that has some examples of this, Nick, if you'd like to either pull it up or I can show it real quick before we, we sign.
Off. And these pages are also extremely useful for just figuring out how to use all of this code it's.
Got. So one, one thing I want to draw attention to is that, you know, make sure you keep an eye out for cool stuff happening on Wolfram. You. So there were recently, you know, study group that had to do with quantum computation. So if you're looking to pick up new skills, it's always a good place to go if you want to get into more advanced things. So here if we go to the Wolfram Quantum framework, we have some nice links for tutorials, guides, tech notes. This diagram is one so if you're interested in using this for purposes of making diagrams so that you're designing a circuit or something you saw from the notebook, there's some very easy, you just say, give me a diagram and it gives you a diagram. But if you want to go and customize your diagrams, you can add styles, you can change graphics, you can do all the stuff that you would expect that you can do with Wolfram language functionality. So any of these more advanced notes are out there again if you want to find them. If you just look for Wolfram.
Quantum Framework, if you just Google that, you will come pretty cool to this.
Page and then there'll be all sorts of nice things. And so one of the ones that has some other good examples. So exploring fundamentals of quantum theory. First example is the quantum eraser that we were just talking about. There's some other very interesting ones that have to do with being able to have interactions that you wouldn't necessarily expect from your classical intuition. And then there's also, you know, more detailed guide here about how to do some things that are relevant for quantum computing. So all that information for people who are looking, where can I go next? If I didn't necessarily ask a question today or. You're seeing this later, these are some great places where you can read.
Further. So thank you to all of our viewers, everyone joining us today, and looking forward to seeing you.
Again. Thank you, John. Thank you. Thank.
You. Thank you. Thank you very much for joining us.
More from Guy

Cheryl Strauss Einhorn | The Human Edge: Smarter Decisions in the Age of AI | Talks at Google

Rachel Glennerster | Innovation and the Center for Global Development | Talks at Google

Rebecca Winthrop | Rethinking the Purpose of Education in the Age of AI | Talks at Google

Dr. Robert Wachter | A Giant Leap: How AI Is Transforming Healthcare... | Talks at Google






