 So again, on behalf of the president of the Einstein Society, Professor Ott, I would like to welcome you to the last of our 2023 Einstein lectures. Now before I start my introduction, let me ask, is there anyone in the audience who hasn't been here yesterday or the day before? Oh, interesting. So in this case, I will still briefly introduce Marina to those. It's a larger portion than I had thought. So this is the 14th edition of the Einstein lectures. We will complete the cycle of five times with philosophy next year. So this is the fifth Einstein series of mathematics. My name is Christiane Treta. I'm professor of mathematics here at the University in Bern. And it has been a pleasure to have Marina already for two evenings, Professor Marina Vyazowska, chair in number theory at EPFL. So her travel wasn't too far. And so Marina sticks out in various respects, not just because of her young age, but also with her life. And we had the pleasure to listen to her already two days. And I think her enthusiasm for mathematics and for basic research in particular has been really transpiring to the whole audience. So I met Marina for the first time actually in the moment of the high point of her career so far, namely when she was awarded the Fields Medal in 2021 in Helsinki. And before this prize, a whole series of other prizes poured upon her after she had published on Archive the free math preprint server her solution of the sphere packing problem in dimension eight alone and then with co-authors the one in dimension 24. So we are very happy to have you here and look forward to your third talk on the sphere packing problem. Please. Thank you very much for the introduction. So this is the third talk. And so today I will speak about the sphere packing problem in high dimensions and the connection to error correcting codes. And so because there are people who have not been to the first two lectures, so maybe I'll start by repeating a little bit. So before we spoke about the sphere packings. And so this is somehow a symbolic depiction of what the sphere packing problem is. So we have a very big box and we have an infinite supply of equally sized hard balls. And we are putting the balls into this box as many balls as we can. And our goal is to produce this densest possible configuration. And because the game we are playing is that the box is much bigger than the balls. And so what happens in the boundary of the box becomes unimportant to us. And they are only focusing on what happens in the bulk and only interested not in an exact number of balls because that might be dependent on some very complicated way on the size or exact parameters of the box. But we are really only interested in the density. And so now an interesting twist to the story. So we are going to consider this in Euclidean space of different dimensions. And so something what I already spoke about last time. So this is how dimensions 1, 2, and 3 look like. And now what we would like to do, we would like to go to higher dimensions. And so how do we do it? So we do it by introducing more coordinates for points in our Euclidean space. So here is the picture we can see here. This is the three-dimensional Euclidean space. And in Euclidean space, each point has three coordinates. And so the thing which we are going to do now, we will simply add more coordinates to our list. And instead of three, we can consider four or eight or 24 or D for any natural number D. And so here we do so. And so this would be our points in the space. And also in our D-dimensional space, what we want to do, we want still being able to compute distance between points. And so we will do it by applying the Pythagoras rules. So just the distance between two points is the square root of the sum of squares of differences of respective coordinates. And so this works, of course, in dimension one, in dimension two, in dimension three. And we can just, by analogy, continue this to D dimensions. And so once we have defined what is a point and what is the distance in our space, we can also say about what is the ball. And as usual, so the ball of a centered point x and radius r, it will be the set of all points in our Euclidean space, which are the distance at most r from the center. And so another thing is we want to speak about sphere packing and density of sphere packing. It's important for us to have the notion of volume. And so here they have this natural one which comes from computing determinants. And it works in dimension one, two, three, and also can be generalized to higher dimensions. And probably I will not go into technical details here. And so what I would like to speak about today is to speak about how this, or how thinking about the dimensional spaces where dimension D is big, how this can be useful in real life. And so here one, maybe there are more than one way how we could use this, but one beautiful example of how the sphere packing, or in some sense also maybe not the exact sphere packing, but also the idea of sphere packing can be used in a very applied field of engineering so-called error correction. And so I'm sure that somehow it's possible that all this, somehow the engineering devices, they would even work without the mathematical abstraction behind it. But what mathematics was good for is actually for explaining this and making this very intuitive and organizing thoughts around this. So the history of error correcting codes starts during and right after the Second World War. And so the ideas I'm going to talk about now they originated in one particular laboratory, the Bell Labs in the United States. So probably you have heard about Bell Labs already because a lot of amazing technology come from that place. And so it happened that the error correcting was introduced not once, but somehow invented twice in that laboratory by Claude Shen and Richard Heming. And the legend is that they worked in the same institution and they had their offices next to each other. And they were both thinking about error correction into different contexts. And they never spoke to each other about it. And so they discovered that they work on the same question only after their papers were published. And so, and actually, so Marcel Gallet, it's another, it's a Swiss engineer who was also working, worked at the Bell Labs. And so his contribution to the field so that he invented one of the very effective early codes that will also play important role in our story. I'm telling you in the story of sphere packing. And so let me start with Richard Heming. So Richard Heming was using one of the early computers and at the middle of the last century, so this is how the modern computer looks like. And this is how a computer looked like back then. So he was not working with a computer. He rather would have to work inside of the computer. And computer programs, they were written on such a medium, which were punctured paper tapes. And I think people stopped using them maybe even before I was born, so it's really ancient history now. And an important feature of this technology was that it was very unreliable. And computer often made a lot of mistakes. And so during the weekdays, assistants worked in this building. And if mistake was made, then the computer could detect a mistake. So there was already a mechanism how to detect a mistake. But if mistake occurred, then the computer would stop. And the assistant would have to somehow restart the process. And Heming often worked on weekends. And on weekends, there would be no assistants here. So then the program would stop, and then he would lose time. And this made him very upset. And so this is how he decided to introduce this error correction and introduce some more codes which could not only detect, but also correct errors. And at the same time, Claude Shannon, he was also thinking about error correction, but in a slightly other settings. So here is his important paper, which actually sets out, as I say, it starts a new field of study, which is information theory. So here he described what he writes about as another situation is when we transmit channel, for example, by radio or by other means. So when we emit signal in one place and then somehow capture it into another, and some noise might be introduced. And so here, he has some important ideas. So this is how the, somehow, this is a very, I would say, vulgarized version of his. So he wrote this, he wrote down the scheme for communication channel, for signal transmission. And this is a much simplified and vulgarized scheme. So you could think of this as signal being sent here, and then it is transmitted by some means. And so while it is transmitted, there might be some noise, for example, some noise coming from bed, whether if it's these are radio waves. And so my signal here, I will depict it as a point inside of the square, because somehow point inside of the square it is some meaningful information that people might send to each other. And so then, when I transmitted it, what people would receive. So they should have received the signal right here. But then because of the noise, it could happen that an error occurred and the signal actually shifted somewhere far away. And so now, the question is how to, yes, if I received this message, first, how do I know that the message is wrong? And also, if I know that it's wrong, is it still possible for me to understand that this was the initial message? So how is this possible? And so here somehow in this paper, actually, Kloschen and he suggests he explains how this can be done. And so what he writes, I think the important thing is here, the first he writes that we like we don't, we will forget about meaning of our signal. So signal, this might be some words or some sentences, some commands. And they are supposed to have some meaning, but let's forget about this. So what we are sending, we are just sending each other numbers. So we encode our signal in numbers and meaning is not relevant for us anymore. And now, another important thing is that whatever signal we are sending, we will just, before we actually start communicating, we will pre-select the certain set of messages that we can send to each other. So we will not send anything what code word goes through the channel. We will only have some pre-selected set of messages, code words that we are going, that's why it's called code. So some code words that we are allowed to send to each other. And then somehow this already helps us with error detection, because if I know that somehow only the final number of code words exist and I received something which does not coincide with any code word, then I will understand, aha, there was a mistake here. And another thing, if I know that there is a mistake, how can I correct it? And so this is where the sphere packing, or at least the philosophy of sphere packing, becomes useful. So what Shannon suggested is to choose these code words to be far away from each other in some sense. So this is where the notion of distance becomes important and useful. So we'll choose them far away from each other. And so then if the signal is corrupted a little bit, I could still think of my distance and could think which of my code words is the closest to the signal. And this is how I could decode the signal. So if you think, for example, I don't know, maybe it's not sure if it's a safe joke to make here, but if you can think of a French language, then maybe this is an example of a bad code because you make a slight mistake, and the meaning of your word is just changed completely. At the same time, the German language is a very effective, at least good in a sense of a distance because somehow words are long. So even if you make a mistake, your vis-a-vis would be able to probably guess what you wanted to say. At the same time, the result of a price to pay is that words usually normally become very long. And actually, the same problem is with codes. So if you want codes to be very safe, then our code words become longer. And this is somehow the whole game of coding theory, how to make code effective as German language. So it's safe as German and effective as French, where you need to say something, you just say a few sounds, and it's already a sentence and it could be the whole story. So how to somehow make true the best of two worlds and mix them together. And so this is where the sphere packing is actually, the idea of sphere packing becomes very useful. So now this is this gray box, this is our channel. These are all the signals in this somehow. In my story, of course, it would not be a very practical channel. But in this story, somehow, every signal it would be two real numbers, probably between 0 and 1. And it's not a great message, but it is a message. So suppose that this message consists of two real numbers. And then what I decided that I will not send any pair of these numbers, but I will send only these code words. So the coordinates of these red points, these are the signals I agreed with the receiver that I will send to him as a transmitter. And so now I know the physical characteristics of my system, and I know that it's likely that somehow some error will occur. At the same time, it's also a reasonable assumption that the error will not be too big, or at least with a big probability the error will not be too big, otherwise my channel is just completely useless. So I assume that, OK, so within this green round of each of my red code words, there is this error bolt. So the cloud of expected errors. And so it means that, for example, I sent this word here, and then because of the, my channel wasn't perfect, so the signal could be somewhere in here. And since it's still inside of this green ball, then I will know that this was actually the original message. And so first I will be able to detect an error because what I sent does not coincide with what I'm pointing to, if this is the signal received, then I will know that somehow, first the error did occur because it doesn't coincide with any of the code words, but I will also know that this is the closest code word, so this is the way to decode. And so now you see that somehow the game, we are playing, of course, we want to have many, many code words to be able to send more different messages and more meaningful information. We also, we want this code words to be far enough from each other, so we do not want our error clouds to intersect, we don't want them to have interior points. And this is where the pecking problem is coming. So this is exactly the pecking problem inside of my channel. And so now the game somehow becomes to park as many error balls into the channel. And so I've also told you that the work of a Claude Shannon was similar to the work of Richard Heming, even though, as you've seen, that what Richard Heming was dealing with was this punctured tapes, and somehow each bit of information on this punctured tape, it's either 0 or 1. And so it does not look a lot like my continuous channel that I show to you here. So what is the trick here? And the trick here is that this time Euclidean space is not that useful for us. So we have to think bigger. And we have to, oh, OK, I will stay away from that. So what we should do, we should go farther into mathematical abstraction and lower ourselves, think of other metric spaces. And what is a metric space? I will not go into somehow definitions as if we were in a lecture for mathematical students. But essentially it means that we have some set of points which we have decided to find. And we also introduced some meaningful notion of distance between these points. And this doesn't have to be Euclidean distance anymore. It could be a different metric. And usually the convention is it has to satisfy some properties that Euclidean metric still has and one property that turns out to be very important and useful is the triangle inequality. So in Euclidean space, we know that triangle inequality holds. So if we have a triangle, then the distance, the each side is shorter than the sum of two other sides. Or that the short. And so if you have another in our metric space, we have another distance. But the triangle inequality is something we want to keep because it's very useful and convenient. And so this is the space actually Heming introduced and he was working with. Because his messages, they were not real numbers. They were all sequences of zeros and ones. So something what computers like and can understand. And so what he have done, he also realized that this set of sequences can also have a geometric structure to it. And here somehow it's a magic of number two that this time Euclidean geometry is still not as useful. If you have alphabet with more letters, then it's true it's a totally different space. And it's not easy to find connection between this space and Euclidean space. But with zeros and ones, actually so we can see that. So the Heming space, it consists of all sequences of zeros and ones that have given lengths. And for example, if you write, we can write down all sequences of lengths two of zeros and ones. And there are exactly four of them. And so now what I'm doing here, I will just draw on the plane. I will draw points with these coordinates. And what I will get, this would be just a square. So if you think of a Cartesian plane, and this would be a point with coordinates zero, zero. These points with coordinates one, zero. This point with coordinates zero, one. And the point with coordinates one, one. And so here we do have actually somehow we see that the Euclidean distance between points, it still tells us something useful. For example, if we think how to define a distance between two different sequences, one natural way which Heming introduced was if you have two sequences, let's look at how many different symbols they have. So we compare these two strings, write them one by another. And we look at each place whether the symbols coincide or not. And if they do not coincide, we count number of all places where they do not coincide. For example, if you have this string zero, zero. And the string one, zero. Then here the distance, Heming distance between them would be one because somehow the first position is different and the second position is in fact the same. So here the distance is one and Euclidean distance is also one. And so here the distance between this point and this point. So if we compute the Heming distance of the number of coordinates which are different, we see that the first place in our sequence, now the digits do not match. And at the second, they also do not match. And so there are two, the distance is two. And the Euclidean distance between them is square root of two. So they are different, but somehow still there is a nice relation between them. And we can do the same for sequences of length three. And then we will get a three-dimensional cube. And here again we can check that Heming distance, it will be equal to the Euclidean distance between points only squared. So for example, the two points that are farther away, the big diagonal in the cube. So we see that the Heming distance here is three and the Euclidean distance between these two points is the square root of three. And so geometry is still useful. And so what I draw here, this is the four-dimensional Heming ball. And so this is also somehow one way one could think about this higher dimensions and higher dimensional objects. And so for the, and so now what Heming introduced was exactly the same. So he realized that when we are sending a code, we just, we have to pre-define our number of code words. And then, but in his case, the points, the centers of the balls, they cannot be located anywhere in the Euclidean space, but they have to coincide with one of the vertices of this hypercube of the length of the code he's working with. And then he will choose this vertices so that he could choose many of them, lots of them. And at the same time, that they are quite far away from each other so that the cloud of errors would not intersect and that he could not only detect errors, but also correct them. And so there was actually another important difference between the work of Heming and Claude Shannon. So what another important thing that Claude Shannon realized is that, for example, when we are sending this type of signal, then many things are outside of our control anyways. And so it means that if we have, if our balls do intersect a little bit or few of our balls intersect, it's not all that terrible because we have these conditions that are outside of our control anyways. So it means that now if we, if we allow our, some of our balls to intersect a little bit, then it means that our error could occur not only because of some outside factors, but also because of the design of our code. But if the probability is small, it's still not all that terrible for any practical application. And so what he actually introduced, he suggested to search not for exact peckings, but for this averaged versions of peckings, peckings where balls do not intersect with big probability. And for this type of problem, it is a much more fruitful approach, which also opens way to many good codes. On the other hand, what Heming was studied, he really studied the case where he does not allow his error clouds to intersect at all when we, when by our design, we do not introduce any errors ourselves. And so actually his problem is more, is more is closer to the sphere pecking problem I was talking about. And so actually another, and so now an interesting, maybe after what you have told you, there will be no surprise that for example, E8 lattice, which is a, as I already told you, it's a solution of the sphere pecking problem in dimension eight. It's also closely connected to the coding theory. And for example, one of the, there is a code, eight dimensional code, which is called Heming code. It is in fact closely related to the E8 lattice. So E8 lattice can be easily constructed from eight dimensional Heming code. And the eight dimensional Heming code can be easily constructed from the E8 lattice. And so there is another marvelous mathematical object, the leach lattice. And the story of leach lattice is very interesting. So the E8 lattice, it was actually known to mathematicians for a very long time. It was discovered at the second part of 19th century and then it played a lot of role in classification of league groups in many, many areas of mathematics. And leach lattice, it was something that mathematicians did not know about yet at the 1950s. And so before, and before it was discovered, so the Marcel Legalle, he has, he all worked at the Bell Labs. He thought about creating these codes after Heming introduced error correcting codes. So there was of course a question of how to find, it's okay, we have this general theory, general philosophy, but then how to find concrete good codes. And so people were working on proposing those codes at that time. And so one code proposed by Gale was a code of lens 24 and it turns out it was an extremely interesting mathematical object, so it had many symmetries and it was somehow what is called the perfect code. So from the coding theory, it was clear that Gale code could not be possibly improved. It was in a sense, if you think of it as a pecking of these balls in the Heming, so Heming balls in Heming space, then it's somehow a perfect pecking where all this, actually it's not only pecking, but essentially all the space is covered by those balls. So it was an extraordinary object in coding theory and in 1960s a Canadian mathematician John Leitch, he used Gale code to construct an Euclidean lattice. So the Gale code, it was a sequence of zeros and ones, which we saw the big number of words which would have a big distance, big Heming distance between them. And so John Leitch was able to take this binary code and to turn it into a lattice in Euclidean space and here what he did was a bit similar to what we have done before with the cube. So we took these elements of Heming space and embedded them into Euclidean space. And so what John Leitch did was a bit more complicated. He had to play with it. He had to first find a nice way to embed Gale code into Euclidean space. Then he would have to span the whole lattice with this embedding. And then what he discovered that this was not a really great sphere packing, but he could take another copy of the same lattice and shift it and then maybe not too, maybe not too, maybe it was actually more copies of that. And so he could take several copies of the lattice and then this created actually a great packing in dimension 24. So this happened in 1960s and then in 1980s. So John Conway started studying the works of John Leitch and what he discovered is that the lattice constructed by John Leitch has a really great group of symmetries. So it's not only a very good packing, but it's also an extremely symmetrical mathematical object. And so this is how he discovered a famous monster group. And so till now this is the biggest simple finite group that we know. And at that point people were very interested in classifying all simple finite groups. And some of those, so for a long time people know of whole families of groups. They were known classically. And then at some point people discovered the, so to say exotic groups or pariah groups. So they were also finite groups. They were simple, but also they did not fit into any of the previously known families. And since they did not have a family they were called pariah groups. And somehow there was a feeling, there was of course this question. So we have found these objects, but have we found all of them or there will be more? Maybe they all fit into some infinite family. And so John Conway, so you were studying the group of automorphisms of Leitch lattice. John Conway have found this monster group. And this is the biggest finite simple group. And now we also have a complete classification of finite simple groups. So we do know that the list is complete and there will be no bigger simple finite group. So at least we think that we know it. It's a very, very long proof, which, but I think people do have a lot of confidence in it. But now many of my petitions who have written, worked on this was called an Atlas project. So and many people, some of the people who worked on it now already died. So maybe this is also one of the good candidates for formalization and mathematics would be the classification of simple finite groups. Probably this would be an insanely difficult project, but it seems because first it's so important and the proof is the classification is so long and I believe that there is no living person who understands all of it. It would be really nice to have it somehow formalized for the future generations. And so then the study of the Leitch lattice leads to a lot of other beautiful mathematics and theoretical physics. So here's a portray of Richard Borschertz who received Fields Medal for studying Quertex or introducing Quertex operator algebras and resolving what was called the moonshine conjecture about the monster group. So there is a lot of somehow very beautiful mathematics that came from solving difficult engineering problem. And so the Gali code was used in many things practically. So for example, it was used in some of the space missions. I think this mission was launched in 1970s and it was somehow that time it wasn't important to because sending signal from the Voyager was not easy and also there was no ability to pack many things on it. So having somehow a nice small code which helps to decode was extremely important. So also the, for example, Gali code was used in CD disks. Maybe you still remember the shiny things, the CD disks. They also used Gali code in there to somehow so that you can scratch your disk once and it still would work somehow. Then you scratch it second, third time and it's over. And so maybe the last thing I wanted to talk about is one important question in sphere packing and in coding theory is to know what happens with the sphere packing density as dimension goes to infinity. And so as for me for pure mathematicians this is just such an interesting theoretical question but there is also a practical angle to it. So for example, one of the fundamental discoveries of Claude Shannon was that the error correction is most efficient when we send not short chunks of signals but the long one. For example, if you have sequences of zeros and ones so error correcting short chunks of them is somehow, if you do it like that we will not succeed, we will be limited. So it's most efficient if we send long signals and if we send long signals in our geometric picture it means working with big dimensions and the best case if the dimension is somehow infinite, unbounded. So knowing what is the best packing density in very big dimensions it has this practical angle as well. And so what we know here, so it's, so we do know on one hand that the things are not too bad and that if we have dimension D we could achieve density which is at least two to the minus D. And so here is a very simple geometric argument which tells us that if a saturated sphere packing in the dimensional Euclidean space has always density at least two to the minus D. So what is a saturated packing? A saturated packing means that we have a packing of balls so such that we cannot add any single ball to this packing so that it will not intersect with one of the already existing in our packing. So for example, if we think of this balls disks so that is a two dimensional picture because it's easier for visualization. So if you think of the balls inside of this blue box it seems like it's difficult to squeeze one more ball in here without intersecting one of the already existing balls in our packing and so it is a saturated packing. But now how we see that it has density at least two to the minus D so what we are going to do we are going to make our picture like this. So first because of here for the purpose of visualization of course in my slides I cannot allow for infinite packing so I have a boundary here but we agreed with you that boundary is not important and somehow we think of a boundary as being somewhere very far away but here I colored in this pale red the area where somehow I cannot put centers of a new ball if I wanted to still be inside of the box and don't intersect the existing one so I painted this area around the boundary and if my box is very big then some of this area that I took away it would be very small comparing to the total volume inside of the box. And now I don't want my new ball to intersect with the old ones and what that means it means that I take any of the previous black balls and I draw this red cloud around it and the radius of this would be also cloud in the shape of a ball with the same center and the radius twice bigger than the radius of a black ball and so now if I have a ball with a center inside of the red cloud then the distance from this point to the center of this ball would be smaller than two and it means that if I put another ball with a radius one then there will be an intersection and if I put another ball with center which is outside of this red cloud for example here then there will be no intersection with this ball and so my packing it will be saturated if and only if all the red clouds cover my box completely and if there would be some uncovered spot left inside of the box I could just put a center of a new ball in there and may make my packing even denser but at the same time if all these balls which are twice bigger if they cover my box and again here we forget about the boundary boundary is unimportant so if they all cover my box it means that the sum of the volumes of this big red balls has to be at least as big as the volume of the box and now an important fact is that if I have the d-dimensional ball and I increase its radius twice then its volume will increase to the power two to the power d. So in one dimension if I take an interval which is twice longer than the length will also become twice bigger and for the area of a disc if I have a disc here so the area of this disc is four times bigger than the area of this disc and for a ball for a three-dimensional ball it will be eight time increase and in dimension d the increase is d times and so this is where this two to the minus d is coming from so we know that the volume of all red balls is at least the same as the volume of the box and it means that the volume of all black balls inside is at least to the minus d times the volume of the box and somehow here there is a very many counterintuitive and paradoxical things happen. So first of all it seems that we have got this saturated packings almost for free and maybe if we apply some smart design we could do better and we can do better in small dimensions. However if we think of a very big dimension the situation is opposite that all explicit constructions at least in Euclidean space that we have they actually have dimension less than this one and it's like much like what else. So the best explicit constructions that we know they are exponentially worse than this one. And another question is what's about upper bounds? So in the previous lectures we spoke about upper bounds so maybe this two to the minus d how close is it to what is theoretically possible? So this is also something we don't know. The only thing we do know, we do know that the density of the densest packing in dimension did decays exponentially with the dimension. However the exponent is not like the logarithm of two it's another exponent which is a weaker one. So the difference between the best we can guarantee that exists and the things that we definitely know cannot exist is exponentially big. And so this is all I wanted to tell you about very big dimensions for today. So yeah, so I would like to congratulate you with Christmas, with upcoming Christmas and upcoming new year and also I'm ready to answer your questions about everything what you've heard about during these three lectures.