 Okay, so today I'm pleased to introduce you, so to be Dr. Joe Briggs, he's going to go to Israel for his postdoc, so let's congratulate him for it. So today, Joe is going to talk about some company director, and Joe, I like how this sort of passes as something, something combinatoric, something, something. So yeah, I'm going to start with a definition that's not really relevant to the rest of the talk, but it was kind of the motivation for us doing a bunch of things. So a representable matrix is an actual true collection of vectors of the same length. Yeah, this seems like something you're very, very familiar with. This usually has another name. What is length here, like dimension or like actual magnitude? Dimension. So they're all... It's just a list of vectors in our ass. So it's a list of... So okay, my field, I'm going to let my field be varying a little bit over the course of this talk. Let me choose. The point is that we usually see these things called something else. They're usually called matrix. So why do I want to... Even though I can't be bothered to write all of this crap, and we'll always write down the word matrix, there's sort of a philosophical difference between how we think about these things and how we think about these things. A matrix isn't just some computer science-y list of numbers arranged in a nice tab. They're really a map between two vector spaces. And I'm not so interested in thinking of these as maps between two things. I'm actually wanting to think, set theoretically about the collection of vectors that this matrix represents. Sort of more like a computer scientist, I'm sorry, doing that mutation. But I realize that when I'm presenting talks, I'm not very good at proving things. So there will probably not actually be many proofs of any kind. It's probably not very good on mathematicians. They're very good at proving things. But that's sort of just how this is going to go. So what am I going to do with a matrix? Oh, yeah. So a perfect example of a matrix. You can encode a graph. It is a matroid over f2, in which it's a matrix. Every column has exactly two ones. Why is this the same thing as what we would normally talk about on the graph? Well, I'm really saying that on this axis, I have a vertical axis. Wait, no, it's the other way around. Damn it, why did I do four by four? That was risk. Edges and vertices. And having a one in the ijth entry really means that vertex i is part of edge j. So I have four vertices. One, two, three, four. And the first edge connects one to two. The second edge connects two to three. The fourth edge connects one to four. And the fourth edge connects three to four. Oh, that's nice. Very pretty. Sorry, do you need to say anything about polytechnic graph? Or are you taking them as a sex? Yeah, so I don't know why I picked the longer words to do this. Yeah. So, yeah, like this is a kind of stupid example if you've seen it, possibly illustrating if you haven't. But this sort of motivates quite a lot of what we would be doing because in general, computer scientists, and occasionally mathematicians when they want to pretend they can be computer scientists, like to be able to sample from a bunch of things randomly. And to sample from a bunch of things randomly, we need to kind of have some distribution that will allow us to do this random generation. And most of the time, people who care about metroids are mathematicians. They're computer scientists, operation researchers. So they don't really know how to do this in an abstract sense. By the way, I should say, since I've written word metroid on the board, there's a kind of non-representable metroid where you just abstract away the notion of independence, the things that aren't necessarily written in a matrix. And there is a way to randomly generate non-representable metroids. There's a really, really cool Markov chain algorithm that Alan showed in his class last semester. But these are much easier to draw. I draw the matrix and that describes my set structure. So I'm only going to write down these two. And in particular, there are sort of two ways of generating random representable metroids that people have cared about so far. The first one walks me in the 80s where they're just sort of like, randomize there are some problems about how you would pick a random entry in this field, a random choice of FQ for all of these entries if you couldn't ascribe a measure to this field so it doesn't work so well for things like the reals. Okay, you can do whatever distributions. But nice before distributions, this really has to be finite. You get some awkward things kicking around though because if you want to do this completely randomly you will occasionally get same columns appearing twice. And we don't like that very much because it's like saying that you don't necessarily know how many edges you'll go to get in the random graph here. So it's still a fun thing to do if people are playing with this and ask lots of questions about this and it's quite fun. But more recently, from my apartment, well, some guy who's been visiting Alan for the last, what seems like a month, and Alan himself and my advisor, Wes Pefton, they decided that they care about random graphs more. So they want a way for generating random metroids that encapsulates the structure of a random graph. How they go to do it? Fix a small number of vectors, all of which in the instance of vertices that I showed before and when k is equal to 2 where n is the number of vertices. Can I fix n at some point? I think this is the first time I've written n on the board. Yes. Okay, fix a small k, a large m, a number of rows, and pick column vectors, all of which are exactly k ones. So I'm saying I'm picking a graph uniformly at random among all the ones that have precisely four edges. So there's a bunch of different ones. Any one of them is going to appear with equal probability. It's going to be something like n choose to choose m, different possible things that could appear. I'm just going to uniformly do this at random. This is not so important because I don't, I can't say I don't like random graphs that much, but random graphs are difficult. They're mostly involved in lots and lots of computations. And in general, it's a train of thought which is what happens in the typical example. If you want to generate a random matroid of this kind, what happens to the typical matroid, 90% of the time? I prefer extremes because in extremal examples, you can get a little bit more algebraic structure. Question, what is the matroid that optimizes this particular parameter out of all possible things available? Sometimes you can get answers more easily this way, sometimes you can't. It's a different train of thinking when it comes to combinatorics. So when Wes was fiddling around with all of this stuff, proving nice results, he sort of piled up, these two spent all their lives in random graphs. And Wes hasn't, Wes sort of dabbles in pretty much anything he fancies. And so he thought, well, have there been any extremal questions asked in this kind of vein? And he did a quick Google search and he didn't find anything. So he turned to Boris, our sort of resident extremal combinatorics guy, and asked him, Boris, have you come across any stuff like this before? And he said, no, I don't know anything. So I was like, oh cool, fantastic, that means I can generate. And you said questions all by myself. What sort of question might you ask? Well, extremal combinatorics is I fix something and I optimize something else. What can I fix? I'm going to fix, make sure that I don't go off. Yeah, so what, okay, what can I fix? I definitely want to fix this K, because the K in the random graph setting was really important. The K being two was just the arity of the graph, the larger it would give you, hypergraphs of certain kinds. So I want to fix this K. If I fix the number of rows n, I probably won't get anything interesting because that's going to restrict my space of possible majorities too much. So the most natural thing to, the most natural parameter to consider for a matrix is its rank. Linear algebra is all about rank arguments. We want to know what the dimension of stuff is. So this is a really roundabout way that Wes came to asking the following question. It sounds innocuous enough. Let's have a think. So what happens when K is zero? I can't generate many columns if they're not allowed to have any ones in the tool. What if R is zero? Okay, so good point. I still want the matrix to be a set. So the columns are going to be distinct. Otherwise, I could just pick one column that would be good in any of these scenarios. Duplicate it infinitely often. So, okay, because zero, the column, which is all zeros, K is one. Yeah, I do E1. This looks remarkably like the identity. If I want this K to be something reasonably large, perhaps one might conjecture that we can get by just only hoping to have R rows in the first place and then just having all the possible vectors with K ones inside them. If I promise you in advance that I'm only going to have R rows in the first place, then obviously the resulting thing is going to have rank at most R. So, this is quite a lot. Example, you should only have six columns. I hopefully won't mess this up too much. One, zero. What is this? This is a matrix where every column has two ones and I've just got all the possible columns that have two ones. Four choose two is six. Okay, slight hitch with this. What's the rank of this guy? Three. It's now rank four. I have this really, really awkward thing going on where even though I have four rows and lots and lots of different columns, I accidentally made it rank one smaller than it should have been. If I make it one bigger, then we shouldn't have any problems. In fact, it's even. So, let's start to give some stuff some names. So, let's... What am I including even next to that? Why does this thing only have rank three? Do you get around to track things off? Okay, I'm going to be more stupid than that. Let's look at the columns. They all satisfy this relation. Why did they all satisfy this relation? Because exactly two of these are equal to one. So, it's this sort of really awkward hack. Like, somehow if we could possibly hope to do something with this, we actually need to take into account whether our smaller parameter is going to be odd or even. Maybe this is... This is always something that happens over finite fields. I'm not so sure. So, okay. Well, here's the starting point. So, okay. Spoiler alert, these are... Well, we could at least show that these are best some of the time. But the starting point was when... So, I think of mathematicians doing maths as kind of, you know, a bunch of toddlers sat in a sand pit and they're just sort of given random toys to play with. And, you know, some point you press the button on the toy in the right way and it does something. But to be honest, it's mostly just sort of picking it up and banging it against the surface and hoping that it does something. And sometimes that does do something. But this was an example of us just banging fire truck against floor. Let's give this as a question to Chris and my office mate, who's not here for some reason. Maybe he couldn't stand the thought of listening to my voice for an hour or so. But this is something I did together with him. I really shouldn't do this. This is really bad before. So, in the case K equals 2, we are back equals 2. We actually get that we're in this case. This is the correct answer. In the graph setting, this corresponds to just having a clique. We have, and in this instance, whenever you take some collection of r plus 1 of the edges, so in this case some 5 of the edges, 1, 2, 3, 4, 5, you're going to get a cycle appearing somewhere inside the graph. In this instance, I think it's this triangle. What does a cycle corresponds to in the matrix? Well, it's going to be something like a 1 and a 1, a 1 and a 1, and then a 1 back to a 1. So, over f2, I add this to this, to this, and 1 plus 1 is not because we're in f2. Being in f2 is very, very important. That's kind of the general setup of the graphic, which is why they like to do things over f2 most of the time. But doing this was pretty straightforward. This was purely graph theory, and we then did a whole bunch of other stuff that was all very graph theoretic, asking similar questions. It was very, very fun, but, like I said, I'm not going to talk about toy names in the box. So, what about higher things? Well, let's start getting names to all of these parameters. So, I'm going to call this ex, the maximum possible number of columns that we can get in a matrix whose rank is r, and all of the columns have k ones. So, in this instance, x, r2 is r plus 1 choose 2. Now, as soon as you define a parameter, you say, well, are there any instances where this is really, really stupid? How big could this thing possibly get? I'm looking at some potentially really, really huge space. Possibly? Well, no, because the vectors are only spanning some space of dimension r in total. So, even if I could do something really, really, really clever, there is no way that we could possibly get more than all of the vectors in that r-dimensional space in the first place. So, note, it's going to be at most 2 to the r, no matter what kind of crazy stuff is going on. Can I prove this at all? I've left a little bit of a gap here. Because the zero vector doesn't count. Because the zero vector doesn't count. The zero vector doesn't have any ones, and the zero vector is guaranteed to be in my vector space. Um, that's not the level. Um, but, um... Yeah, it's possible to actually get that. So, somehow, there's not a universal found that's any better than the trivial thing for this. And the construction for this is really nice if you haven't seen it before. You may well have seen this before, but just not in this setting. How do I get this? Well, this is by something called the dual handling. What am I looking for? I'm looking for a bunch of vectors that make up the entirety of a vector space. But somehow, magically, you all have the same weight apart from the zero guy. Well, that's basically just trying to make these different possible entries as evenly distributed as possible. And there's a ready-made way the algebraists already know how to do this. I'll illustrate with an example. What time... How big am I going to make the example? Did I find an advance? Yeah, okay. So, first of all, I'm going to list, as a row, all of the possible vectors of length 3. 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1. This has rank 3. Good start. Now, I'm going to look at the vector space spanned by these as column vectors. Well, these already have rank 3, so the resulting thing is going to have rank 3. You know, it's going to be very pretty. Well, you could imagine how the rest of this will work. If I had the first two together, we're going to get 0, 0, 1, 1, 1, 0, 0. That's it. We'll try the second two together. 0, 1, 1, 0, 0, 1, 1, 0. All of these different combinations are going to give me precisely four 1s and precisely four 0s. And this just amounts to the fact that any hyperplane that you can think of in these is going to cover exactly half of the possible vectors in their span. It's literally the same fact. So, yeah, I'm going to get a vector space which, apart from your 0 vector, every guy is going to have exactly four 1s. And this works for any half. It's a very well studied thing. I drew this for small examples and then went, huh, this has appeared somewhere before. So, I googled and, yeah, this is the thing. So, but this had sort of been noticed before. A couple of people who were interested in questions of this kind, but who weren't thinking about metroids. They were just thinking about coding theory. They were called something like Althrater, Aydinian, Chetrium. And they pointed out this thing. But they were much more interested in the realm where k was big. And for some reason didn't spend that much time looking at the region where k was small. So, we think about that. Actually, it's not really fair to say so. We uploaded all of this work onto the archive and then someone pointed out to me that these people had written on paper on something very similar. And in particular, they conjectured a bunch of stuff that we sort of managed to prove. So, that's the best kind of reference to find after you've submitted a paper. The worst kind of reference after you've submitted a paper is, hey, we proved your result already. That was what I was very, very scared of when I was told in the paper, hey, you might want to look at this thing that was relevant. So, okay. What are we going to do? We're going to look at this thing for... Okay. So, okay. What exactly did they conjecture? They conjectured that these two paradigms for odd and even k were the correct ones. And once r is... So, in this realm where k is smaller than r, we should hope to get these things to what we expect. Maybe we could construct, actually, some things that genuinely does better than these. And the paradigm breaks down. Once k is smaller than... bigger than half-half. Somehow, once more than half of your entries are going to be a one, you should just put a bunch of those ones to one side and make it so that the remaining zeroes and ones are roughly in half-half distribution. So, this is certainly the interesting realm. So, picture is true, I guess the order of magnitude. Four towers. Four towers. I'm probably really messing with that. It's not too rare, that's the sort of thing that happens in econotorics. Yeah. This is something. Yeah, it's very, very strange. What we can do is establish some kind of an induction. In fact, the induction is very, very easy. No, I'm not too short of time. Somehow, the main... the main ingredient in all of this is that somehow the rank is not the right thing to think about. So, here's a definition that might be familiar, and if not, you should see it at least once in your life. Vectors v1 through vk are giving us what we would otherwise expect for a linear dependence. This is the only extra condition, but it's a cute little extra condition because it means that the dimension or the rank actually does what you expect for a collection of points in space. So, in particular, here's two dimensions. Here... You do want those guys to be not zero. Okay, I forgot my basic linear. I'm going to write it really small. So, the point is that somehow if I put these two vectors down in the plane, I'm not entirely sure when I say that their span should be the entire plane. I want to say that their span is just this line. That's basically the corresponding definition of affinely independent that comes with this notion of affine dependence. So, in this instance, one, two, three, they're all on the same line these guys are affinely dependent, whereas in this instance, they're affinely... I mean, I guess I'm used to linear dependence when I've played with it for so many years, but pictorially affine dependence is actually very, very natural. Unfortunately, if we define then affine rank, the same thing would be for linear things. There exists no affine dependence. Then we sort of get dimensions of by one what we might have to expect. Here, the affine rank is true because these two points are affinely independent. Here, the sort of always one more than the polytope dimension. Okay, so the point is that instead of proving this theorem with the normal rank, if I ask exactly the same question but about affine rank, it simplifies ever so slightly. This automatically deals with somehow the difference in parity that we obtain because if I have... Here's another way to think about affine rank in terms of rank. The A rank of a matrix is the same as the rank of the same matrix but with a bunch of ones added underneath. Why is that? Well, having a bunch of ones underneath is adding a single constraint that looks precisely like the sum of the land rises equal to zero. So all of the properties that you would want to have in affine dependence theory are exactly the same. It's just that the result is now translation invariant. I can add ones to every single element of the matrix and the affine rank is going to stay the same. This is not true in the rank case. J doesn't have... All one's matrix does not have rank zero. It has rank one. This is very frustrating. I want things to be translation invariant. This sorts out everything. It's so, so, so much nice. How much do I want to say about this? Don't you share that? I would really, really put it up if that was exactly what the laptop responded to me doing. Okay. How am I going to vote for both of these elements? Now, okay, let's... I will probably not approve anything. So it's curious when you do this is that... You know, so you picked up your fire truck. It does exactly what you want in the center box. And you then sort of look underneath and the reason that it does exactly what you want is because it has these wheels. The affine nus is the wheels here. Wow, this is not wheels. What do you do when you're a toddler and you're holding something that's got wheels? Well... And every time that you see affine ranks and independence appearing, you see what happens when you translate stuff around and see if you can get anything else for free out of this scenario. And it turns out that you can because if you translate your entire matrix by adding one to every element, then you can answer a similar version of the original question but with K1s replaced by K0s. For obvious reasons. So corollary, the most vectors 0s are matrix. Again, you get the weird dependence but now it's Arch plus 1 choose K. Somehow you got this for free just by spinning the wheels of the fire truck as soon as you realized you had wheels. But this is sort of cheeky. This is very, very cheeky because you realize that actually whereas a lot of the stuff that we've talked about so far is about F2 admittedly but can kind of work in the setting of more general fields. Being able to say stuff like this is really, really specific to the fact that F2 has 0s and 1s and literally nothing else. So... Question, what happens with other fields? Number of possible questions suddenly explodes and we can do some of the things not all of the things. So let's write this instead as X bar so I call this co-weight. I don't think co-weight is really a word so far but since we're now going to talk about different fields we need to sort of generalize our notation a little bit. I'm going to stick a 2 here to say that these are over F2 that generalizes for other fields. So what we can do is that for an arbitrary finite field Fq we can get the exact generalization that one can hope for. If I only have K0s and the rest are allowed to be arbitrary elements that are non-zero in Fq then a rank R matrix of such vectors can only have this many vectors provided R is at least... 2 to the what, what, what, what, what? 2 to the, oh, Q to the K. 2 to the little, oh, Q to the K. So this is really surprising. You can cater the three halves. It was really, really strange to be able to obtain a bound that was much, much smaller for this problem than for the original problem. So what Qs... Is this for all our Qs? So, okay. Very good question. There's a Q here. There's a little bit of a nuisance. Okay, I'll be more honest. The honest truth is a little bit sadder, so it's something like we'll make some of those three Qs by A and Z. And this is for any Q greater than 2. But for Q equals to... The Q equals to... Yeah. So this is one thing that's strange. Is this Q... Are we going to find Q to be prime? No, or just any finite field. Any finite field? Any? So this we could get at by very, very, very different methods. But that's the dependence on Q and I don't think you can really make the dependence on Q go away just because you've got Q minus one different entries floating around. In fact, I think we can even get some explicit thing of here. But, okay. I've sort of hidden the fact that there are still other questions floating around here. Beyond the fact of pushing this down, pushing the two to the bigger K squared down, which of course I'm very interested in. There's more than just X and X bar. Question. How many over F4 with exactly K zeroes and ones? In this instance, I fixed the number of zeros as something small and I can have a whole string of ones and twos. In this instance, the number of zeros I can have is huge and everything else is fixed and small. The affine-ness means that the particular choice of which letters in the field I want to restrict and which ones are free to go and do whatever they like doesn't actually make a great deal of difference. But again, we only managed to really answer all of the questions over F3 because F3 only consisted of 0, 1 and 3 minus 1. F4 doesn't have this property. In fact, any field with at least four elements does not have this property. So we're in a weird scenario where we basically know the behavior for F2 and F3 and not F4. Anyone has any ideas? I would be most interested. I should mention this setup of our original argument generalizes massively. So not only can I talk about fixing the number of zeros, I guess I never wrote this down explicitly, but getting the answer that we want is in this instance most of the entries are 0 and we're only allowed k of them to be something non-zero. So I pick my k entries out of the r columns and each of them is allowed to be something that's not 0 element of Fq. I might have a similar question to what Andy asked earlier. We sort of have these queues floating around here. So if I was being completely honest but wanting to hide the actual details, I would write the big omega of q sub q of k to the 3 half because I think the k is the important thing. Here this is independent of q and that's really strange. The proof works regardless of the size of the field. So in particular, if I fix a list of permissible non-zero entries it's not all of the non-zero things in this field. I kept finding this. Everything seems to keep working. So now I generalize the notation even further to tell me about which lists I'm allowed to have. I get exactly the same thing. But with size of L to the k instead of q minus 1 to the k what's really funky about this? The field can be infinite. I'm confused about what L is enumerating. Are these the rows or the list of vectors? L is the list of entries I'm allowed. So let me do an example. Here's a list of two things in the reels. Then, when k is equal to 2 and r is equal to 3 k is equal to 1 and r is equal to 3 then 1, 0, 0, root 2, 0, 0 0, 1, 0, 0, root 2, 0 0, 0, 1, 0, 0, root 2. This generalizes like crazy. And you can even do more funky shit. I can have k1 things from this list k2 things from that list or k3 things from this list and k4 things from that list. Any conjunctions of ands or ors that you could think of in this setting it all works. And totally independently of the field in which you're wanting to do things. So when a k I didn't even catch a tree did this stuff originally they looked only at the reels and the list consisting of the number one. So they were asking how many points that have k1s can get in a hyperplane. But they did it for everyone. So technically there is a epsilon intersection between what they do and what we do since we sort of do much more general than this much more general than this but sort of something, something, something. Different push, different direction. So it's very, very nice to hear that. To come across them asking questions about this kind of thing. We were certainly very happy. Yeah, I have managed to not prove anything. We were very happy about that. Okay, are there any questions? Okay, can I ask something ambiguous? You can ask something very ambiguous. Okay, so can you say something about the difficulty when r is more like why it works only at the tail? Okay, okay, well all right. I'll explain roughly where this appeared. So it was an induction and in fact the induction was really, really trivial. You say something like x of r space of rk is at most x of r minus 1 k minus 1. Does this look familiar? So like, I mean this is literally just using basic stuff about some affine dependence. You have this nice little lemma that allows you to expand along different rows. You partition a matrix into two parts where the entries are 0 and the entries are 1. This is really easy. So you go, hey, I've got the adaptive relation. I'm done. Where would we drop the kids in our concepts classes if they wrote that down? They didn't do a base case. We can't find a good base case for this induction. It's really, really sad. If you could tell me y x of 2k k is equal to I choose k. I don't have to write two cases. If you could prove this particular case to me then we actually have the result for all the things at the same time. And we've actually proved the aak conjecture straight away. But we can't do it. We can only say, hey, this is true for some ridiculously large instance. And in fact, it's not even an explicit thing. We go about it by saying, well, this thing might not be exactly this thing. So let's keep track of how much bigger this thing is than this thing. Apply induction. That means that the differences are some decreasing sequence in the naturals. At some point this decreasing sequence in the naturals terminates. At that point we know that we get what we want. So it's this sort of awkward situation where you actually have to use a weaker bound on this to prove a stronger bound on, which is always concerning. But it's only we can do it. Yeah. Give me an example to prove this and I'll be really happy. So just overall for the for the cubans I guess for the cubans in general fields, is the proof a linear algebra flavor or can it be translated into a linear algebra proof? Or is it very combinatoric in it? And you're just using and like if I think similar to maybe actually. For this one or this one? Let's say the other one. I think the other one has to Sorry. X bar. X bar. That one has to nicer. So this one we can generalize much further. I mean like you have this I would say linear algebraic lemma which is this thing about affine independence something like if I have a matrix a bunch of any not equal to y then the affine rank of this thing is at least more than just the affine rank of this sub matrix that's two lines of undergraduate linear algebra. I think that is the full extent of linear algebra that we need for this one. I think we go so far as using the row rank equals column rank. Quite funny actually I think at some points there was even a lemma and I showed it to Boris and I was like have you seen something like this before and he's like yeah you just managed to transcribe the words row rank equals column rank so that's the same thing about column page or something. Yeah I mean I can't really claim it's either linear algebra or combinatoric because there's so little full stop that goes in really so likely. So just back to this base case we know for free that it is greater than or equal to 2k choose k by the same example just a clique. So we need that for any n any 2k choose k plus one distinct vectors then you get high rank. Yeah I mean this conjecture has been floating around for like 30 odd years if you could show me something like this I'd be very happy. And I don't think it's hard I really don't think it is hard someone someone wrote for half of his PhD thesis I think the particular instance of the original conjecture where the number of rows was r plus one but everyone at the time was talking about the number of rows of the matrix and the whole point of this is apart from the very start where I talked about n being the number of vertices I never once mentioned the number of rows I think that's a difference in thinking that's powered all of this so I don't I think people haven't thought about this properly so I think that's my question that's my joke