So what we have are special reports computing that are to be given by the very years a Ph D. candidate at University of Florida in their C.I.S. the department and specialised in US forests major exactly the methods of accuracy than today will be talking about what patients for a rejection is worth. That's really super. Thank you. I would like the time from somebody to first for giving me this opportunity to talk here. I'll be talking about some blocking whether it's the bit I would be talking about to whether it's one of the band reduction that there is a spa single value decomposition. The common theme between both of them less both of them benefit greatly by the locking that's the basic idea what I'm going to get it. But before we go into the actual method. Let me talk about. What this whole Prop problem A.T.M. What because I see people from different. Background here some from dead analytics and some from the high performance computing and so this is a diagram I borrowed from Bruce and it's from a conference in two thousand and three. So when you consider these two power A.V.O.'s computer science in terms of the algorithms of computer science and computer science it's out of. What is in the intersection and. That is coming to a real scientific computing a lot of people are familiar with this and then I want to give this talk and they want to put sparse static methods there. I was curious pared to place by static methods I see Jason smiling at me at night because there are just parts of sparse static methods that are actually. Not just that it doesn't fit exactly in the center and probably should just pull it a little bit into the combinational science a little bit more because there are some memory guys but. Viral which may be one of the conversation from the combination of science perspective. But at least in the sense of this stark we can put the whole thing the parts that matter it's into the intersection they're OK with us. We're going to just look at a product look at two problems in the time and our real sense. So that's the idea and inspire others can if US are being so inspired that that's one of the goals we generally work on that three main goals Oneness the performance. In terms of time we look at the flops as our great idea as a as our my trip and that can you do you are that candle can do other flops. So that's one of the Caribbean and how close to the system theoretical peak can you get and there are some problems later. You could just drop this too and then say can you go any faster. So that's in terms of time in terms of space. We always do symbolic analysis to reduce the feeling of power for people who don't come from sparse. I was first made its all good times. So it offered the feel is basically any zero that turns into non-zero as you do your factorizations whether the stroller ski L U R S sparseness really doesn't matter. So if you are a ZERO done seem to Nancy fall into while you're doing the factorization we call it as a fifth. So you read play the videos to fill your play to predict the full doing a symbolic analysis ahead of time and the symbolic analysis more like we try to do the exact replay to find the exact structure. Most of the time. If you can find the exact structure at least can you get by. And so so that you can allocate your data structure right out of your actual factorization. And the third thing is what I like about this field is you just don't write algorithms and say OK fine great you actually write software and then release it so that people can. So the software is available robust software they collect back scallop back and back and be all of them so. These are the three main goals in spots that are with us. So with that picture in mind what is the problem you're dealing with here. So imagine you are an investor and you have a lot of one markets decomposition. OK. So what will that be as media. So let it be is really. Because it's the Swiss Army knife as they call it of the decompositions. It's not my job I heard it somewhere so. So you give an air you try to find a single value decomposition. You say movie transports and that where works far in most cases and then you do it in most cases doesn't it. What's in most cases. Sometimes it's too costly for you to do it or you don't do. So how do you compute a sweetie. So I am going to talk about development of this darkness with spice that matters. OK So in that whether it's your computer Q.R. factorization. Then you take the are you do buy diagonally star which I'm going to talk about and then you have you go from a by diagonal to diagonal really developed. OK they do a bit better than us. So the second bullet is the one they start is concerned about going from a sparse upper playing lower our to a by diagram. But actually it's a complex proud. It's slightly canvas problem than the problem here. Lestrade follow a simple problem before that the problem the simpler problem is given a which is a bat I assume is a bad month next. You have to go from a bad amount of store by dialing a map it's using our target and nations that are an advanced nations the most commonly used given stations are planned protections as they have recently God I prefer I still use even for patients. Most of the time but yeah the talk. Here is in the current way it's it's called Plan for patients when relations. So you go from the band Maddux to abidingly Magic's using either give inspirations are cultural or transformations. These are two options. OK So what are the methods to do this then I actually did it with just one matter that had been done in one thousand nine hundred sixty. I think by these two guys who disorder. I think I pronounce his name correctly I don't know if there is any Germans in that room. And Saif it's wrong and swats So these are the two guys who developed it to nine hundred sixty and that got them pretty much still works fine. So it's basically take one entry I'll just show you a brief idea of the algorithm in the next life. So take one entry reduce it using a plain rotation just fill. Down the mattocks today to the end of the Maddox so that is the idea so they did it in nine hundred sixty and after that there has been only two different modifications to it. One by a lead back in a linear Kaufman did it and that's basically for better computers so she did it for better computers and it still works well for her in our machines so that isn't a look back you does. Something close to blocking but it's not exactly block a little and the next is we are told bots and they did for using last three so that they try to do as many of the operations. Possible when you bring it from memory to cash the one we disadvantage of this one is not this is not a Black Berry give them the L A back a little the other one is optimized for cash but that takes a lot lot of work space than it's actually quite So the goal for us is to get the board of the Worlds. OK. OK So apart from these two there is this all a matter of. Doing one memory at a time. OK so they're doing one entry at a time the fill you are going to get is one scale or. The really big one entry. If you fit and you get one skill to fill it just so that it's not what's required a thought you just need one skill in the back little more work space out of any one space. If we had to box a lot more space. The thing is what's the idea was what space doesn't matter. You're going no compensated with the flops. We may well be using Blaster use. OK So the our goal is can we do scale of a lot of the flops lower the workspace requirement and use cash in a better way and blocking that's it and not just blocking doing blocking with some sort of pipeline thing I'll just show you what it is so that is a goal. I have once lay on just the basics bear with me. OK So if this is what agreements rotation us. OK so you pick the two entries. You just want to reduce that entry the theory to C.D.O. So you find a mattress G. that he wants for patients and so that's basically the C.M.S. or the cause and saying if you are the angle and liberation. OK So that's the basic definition of introduction. So I think I want what happens when you operate this rotation to a sparse vector. OK. I feel like this going to be sparse it. Not parsing the ban case but if you have if your rep read that happens to be sparse. Nancy the bottom. After you apply this is going to be the union of the manual but not the previous thing to it. Look at the. If you operate between two actors the National Guard is going to be the unit. So it's going to be cut. It's costly in terms of Phil. So keep in mind that small note will come to that when we come to this process with the acting and this is the method I was talking about from one hundred sixty S.. This is there are two methods one as they consider this entry one here pointer sort of things. So and So this anyone here OK. We want to reduce that entry one. So we find a rotation. I call the column rotation because it's going to be within two columns and then apply the rotation to this column that reduces the entry one to zero but it causes a field in the bullet here down here in the sub diagram. Then consider these two entries find a new rotation and operate between these two rows. It reduces this will happen and creates a new good. OK so the choice is down the field down to the entire map and then go back to the next entry up here so this is a very simple algorithm one one for the time scale I feel no problems at all when the thing is it's a skeleton and the two methods. The first method will reduce the entries mob to three and four of eight reduces one draw at a time and before it goes to the next entries in the next row. The second method marks entries zero two three and four after it made zero it is going to reduce entries to three and four. So it's going to reduce the diagnosis there basically is what worked well but what would that mean medically stable so it doesn't cause problems and there. In terms of the amount of work they are kind of laid off by a so this is the most people and that the most costly one where the dumbest of the number of patients. This is going to the diagonal reduction. I'm going to call this dying of election and we'll call this voter. So the diagonal direction the number of rotations is almost it's probably going to do twice more so when you're going to are play the rotations and you want to accumulate all the patients in you when you want to you want V. not just the Sigma you're going to do much more work in the diagonal election than in that order. OK let's keep in mind. This point the basics and then we'll come back to later. OK So from there. How we're going to do blocking itself. OK so you can see that there isn't that so and so a small block R.B.C. BLOCK I want on our base to block which you want to reduce and one step. Instead of doing one entry or one step. So those entries are like zero zero plus if you have so that all plus entries are the ones I'm going to produce if you look at it. These are the one really possible entries you can do you can reduce as a block to get OK So because anything else you end up costing a full of all the day we want one so this is the structure you have to do you have produce a battleground sort of structure and so you pick the structure you pick R.B.C. entries of that structure then you once you pick the structure then we what we do is we try to find blocks in the matter. On the part of these corporations are going to pick. When we when you do the chase. OK you are going to sit. Be very dramatic scene two blocks so that it's easier for. I'll go behind what differentiates one block to the other one in just them but. Hold on for a moment. OK So the very dramatic the whole matter is in two different types of blocks and then do the choosing it looks like there are more than one field here but not all of them are percent at the same time it's still going to be one scalar field there. OK so it's going to be one scale at a time so divide the Vatican two blocks and consider the first one. OK I call it the yes block because it's the seat that's going to probably give you a little patience you want. So once you have the you have the C. block. Then there is a C. block. If you look at the c block what type of what Asians are going to be in the C. block one of the collaborations. We're going up play a bunch of givens relations on the columns and the R R Block here. There are going to be only voter patience. Even in this step and see that one step after reducing our we see entries and chasing down the field in this step. The C. block is going to have only collaborations the art rock is going to have only two auditions. This is another C. block here. OK so the Maddux is sort of divided into its. Chance. OK so now it's easier to look at the whole problem and say that was how I'm going to do the action in each block and still I haven't talked about how I'm going to restrict the film to one scale or because if you do all the six entries together you will end up with a tremble of feel OK it's usually like a household a sort of if you take these three entries and I played a houseful of acquisition. You'll get a triangle of them. That's the most common thing. So we're going to rest in the Philly instances of doing that sort of the angle of if you're going to restrict the skill of it that's by doing the pipeline that is in the next day so I assume you're going to do the blocking thing. Once you test this block. Go ahead and find the next block of it and this is some idea sort of leads to a band of action. First you reduce the entire band Mandrax to a band batiks as small a band mattress of band with one with is the number of bags in the back of the of band with art. If you can. If the number of rows in the block is our number of columns in the block is C.. OK so it's our way. C. block. If you started with the are like bandwidth key and you have an R.B.C. block at thirty two a thirty two block you reduce the math books to thirty two by ignorance first and then do wonder what the time. OK so you have a three hundred by a band what you start with thirty two bit thirty two blocks and then you bring from three hundred bandwidth to a plan with a thirty two and then do one better little box. OK So it's it's a two step process. The reason why we're doing that as because take a look at this innovation right. If we try to do another block here I'm going to get more than one thing here in the the videos which I just created are going to get filled. OK So that's the idea. So you divide this whole thing into blocks and now how are you going to do the operations in the blocks. OK So this is a C. block consider this one as the seed BLOCK OK so I have I have to reduce three entries. This is the only place that I am going to go now I'm straight on that's OK everywhere else. I'm going to go straight on axis as much as possible. So I want to take three entries and I'm going to reduce them. OK So do you want you to do the result. Three given for patients. I'm going to make create treatments for Asians and of course apply them and make them zeroes then take the next row up a play the three given three patients which are just created from the first row and create three new given circumference G forty five and six. OK That concludes my C. block. Once I'm done with my C. block. Now I have six given sufficient stored. If you think. What I have done this. Instead of creating a town Wrangler block of fill. I've increased the wall space by the size of the block. OK so I have to store the given situation somewhere. So I'm still I'm going to store these three six Givens for patients. Now I'm going to use them down the metrics in different lots of care. So how I'm going to do it in each block is going to give us the performance people. So think of this column block now I have six given three patients. I would operate on a big chunk of columns. I can take a column. I've played a little patient. So here I have just two entries in the column I can apply. That addition ten and eleven and the next thing I do is play pull in thirteen so this column is in memory for me. And I do fourteen and fifteen. So this column is in memory for me. So from the rotation in the first row ever played all of them to this. And the next six rotations I replace it with the column block again. So I have. From what I have seen this and they are block receipts in the memory. Mostly the blocks are small enough to reset the entire block is small enough to be saving my money. Most of it but at least the column they say it's in memory. So I'm not. I won't be very bad. OK. And think about drop actions. Previously I used to do non straight on ISIS. So in the terms of scalar I used to go between wrote one draw at a time but even that all operations I can take one column and the place say all the six were patients to the one column. We now might know me or operate sions have become column operations. I can take one column I play all the six operations for that column. So I think it's the one thing is if you look at the numbers I don't know that it's possible it is sixty four sixty four and sixty six. So I am going against the memory and there are certain compiler. But you don't like I think son was one of them which is not able to research got to me for this sixty four sixty five sixty six. So the compiler's like. They're able to figure that I'm going the other way around in memory because it is stored this entry stored below the center this is a column. It's a column. Storage. And the fill in the diagonal blocks are actually a little complex to shorten the figures it's in the paper but the basic idea is this you create a full you create one full and use it immediately with at all. Before your play any other quotation. OK if that there is a fill from column A culmination kid we immediately reduce it with that automation and then play the culmination K. plus one that's the basic idea. So you create it because this block I'm talking about. OK. Is this what I'm talking about this is a field log. This is the field of this is a diagram of so here I apply this what Asian create this fill immediately reduce it with it or a patient pipeline and here. OK I'll play this for Patient column a very use it without authorization immediately pipelining. OK but the way I'm explaining it. I'm showing it. The rotation. I'm going to do non straight on Access but I can do it without going on straight on axis OK I can do for. It's a slightly more difficult thing to explain. You can look at the picture but the ideas then use this fill. Before you apply the sort. Ation here before you clear distance so that if the meter fail to see a scalar instead of doing a plan. So be limited to fill a wider non-trade one axis and we did the blocking so it would help the performance so that is a performance for against any pack. This is a Against this is against. If we are this be our tool box. This is a blast three OK I'm competing against last three and this is the number flops I'm doing and Y. axis is basically a lot skate so it's the top is four if you can do it from the back if I'm biting one of them or four. So it's almost four times faster than hell about what would end faster than S.B. are we as we have used the last three and be used as much more memory. They say they're just giving the same amount of memory as the input by Maddox So what our number of Nancy doesn't improve by medics give me the same amount of force base. I give them that uses much more work space and I use thirty two way to work space in about uses out of the on work space. But yeah it's much slower. OK and that this is just requiring the buy diagonal. OK I'm not going to arbitrate I'm not accumulating the difference for patients yet. And this is that our performance for people who are interested in front of us. I am. This is run on a two point six to go. Hertz M.B. machine. So I'm able to get a bigger flop and it is quite stable and because. This basically there is a slight glob but it was like Hundred make of a drop or something. And this is how I perform for different block sizes up there. I think. Drawing a line will hear what I've been crazy. So I just left it as a scatter plot. So that the. The X. axis again here is flops the way axis is the blocking time for say a circle is a block I'm considering they enter your role as a block and the squire my blocks a is a sixty four by sixty four. OK. And the Y. axis is basically the blocks ace which is the default box I chose. OK so I choose the default block so it's based on if it just less than ten by ten I do so. Of blocks of eight eight by eight and the place is smaller than the issues of lots of people with every bill. I do a pretty good job of choosing the boxes here. OK there's only one case when I lay there is a middle point here like. The block in fact because of and even if you didn't use the blocks it's got a CLI OK unless you are going to do some really cool stand there was your block your only off by ten percent. So the blocking pretty much works like even if you choose a bad block so it will be only off by ten percent. But we're faster by like three or four times. So it's fine. OK So we have done this case. Now can we do the update. Can we accumulate all dissertations the events relations and identi matter. So that you find you want to be not just Sigma but you also find that you want to be OK So OK finding that the simpler it just takes that operation. Multiply it of five into matters and pretty soon it is going to become full you want. We're going to become full and OK so you feel you want to do instead of doing that you want to keep track of the structure of you want to be self. OK Can you explain the zero's you start with and I didn't imagine it's right. So the first two patients here is to eliminate that N.P.C. too so if you are play that entry all you have to do is do poop. Operations here instead of doing that entire zero of columns. OK And the second the number two here. If you are going to do three of them. Three operations here instead of doing the entire thing. OK So can you eat exploit the structure of you want to be that is a question of when you are playing that we once were patients to. And I didn't imagine a dunce are they what is the easiest algorithm you can think of is having an out of an array and the index of where the last non-zero was after. And you want to be OK so YOU YOU MORE THAN That's so there is to start with I like for what one two three four five six two and OK and then you keep increasing it. So if you have another N.R. it's a very simple problem. The thing is we want to do it at the scale that we don't want to come out of another. OK so if you are play the first two or patients this is going to be the structure in you. OK So what happens if you do one more that. If you don't use the third in three and four twenty. That is going to be the structure for the entry that is going to structure. OK This is from the chase. OK so once you will use this and they are wrong. The number zero one two five hundred here's all the entries. This is going to be the structure of the you and you can see that it's a block diagram structure of the every block. It's a hasn't been a structure. OK. Every Brothers has or has. So now you know the structure. Now if you start reducing this endless open less than a mob go plus the next row. The structure this going to be this. OK if you can not do that you got a huge fill in the lot Wrangler part of the upper time of the part. It just increased by one super diagonal. OK so it is going to part is going to increase by one super diagonal for every row. So you're going to get a lot of improvement there. And then the lot on your part is going to feel quite fast leap but still you'll get some improvement here. OK because to fill the entire lawyer to handle a part you have to do you know or care if you have to reduce you know or care who was here. OK as long as you reduce an order chaos you will gain something in terms of reducing the number of operations so that is to update you on be and this is a very simple case OK I took one draw at the time but out of luck in fact I can be anything. The ideal blocking I used was. Thirty two bit article. OK so if you do I think about a tree this is what my structure looks like after reducing this one two three four five six seven eight nine. This is my structure. And that is my structure after reducing this next chunk of three inches and we can still track it OK. It's just like it's a very simple over them but I CAN YOU JUST KEEP THIS is if you look at it it looks like a funny structure. But it's actually it's actually a lot lot hasn't work with a small plan bill or chunk of family that is zeroes here and these are actually it's a Care lot hasn't been the case from the number of columns. OK so the the number of columns here is three. So it's a clear lower hasn't been mavericks with a small plan will jump of the list so every block is going to be a lot has and will that language chunk of seals and you can. And once you know that one. Then how these two play Lord who hasn't worked. Magic seemed like this is what this brings you to destruction. So all you need this to keep track of the key. And then just for scale if you are able. You'll be able to track the entire structure of this so that you reduce the number of floating point operations required to a play that all patients to identity methods. OK so this reduces the floating mind operations and that is the performance improvement. Or a lead pipe and this is a leap. As we are beginning to bluster the biggest one that's an impact. OK. You look back you saw something similar to what they did. OK but not exactly similar they use they don't use blocking so they're stuck to this different but they have something similar. They explain to exploit the structure of you and me. So the performance improvement is slightly late. It's. Like at most. I'm two times faster than a lap and two times I came faster. And it's be are even with plastic. And this is the case. This is for for a short all of them or for. Symmetry cases this is for than similarities and symmetry get to be our toolbox it stands for symmetry band reduction. So they don't have an answer to the elevator constant and symmetry case and the number here is on the darkest night. OK So this is one tonight. So I am close to nine times eight of my and faster with the our data if you want to be this is just finding the buy back any US. OK. So our. I hope we convinced you that the blocking in the pipeline works for a block branded action case. OK Let's take a look at how it does for the sparse case next year the next is a sparse part of it. The thing about sparse problem is OK so this is think of this as sparse are OK This is like a fabricated one which I so that. I created so that I can show out that the items and procedures. OK And this is going to be a distraction I am going to use. I've already filled up quite a bit of that. OK So that is going to be May. I call that a scaling profile. Actually my advice and came up with a ton. OK So the idea is this you first and then the definition of scaling profile lists the biting of A list all ways that in the scale and perfectly OK because you're going to find the byte like that if an entry is there all the in piece below to build a diagram of it that's like a skyscraper. And you're looking at the scaling I'm a slope something of a so everything is a Consider each column as a skyscraper. You can have. What is a level three. We don't level two like. Level three percent Level two is person so and then please present all the entries below this person. So that's a scale in profile are OK so I'm this is going to be Main Street their structure to store the Mavericks operate on and that is a mounting structure welcome for the definition. So the mountain restructure is going. It's actually nice to prove things for just a temporary other ways it's basically useless because what I'm saying is you've been in please percent of all the entry below that feel the diagonal is present and all the entries to the left of it to the bag nice person. OK So think of it like like a lot. Your viewing a landscape of mountains OK these are like three mountains here. One two and three and then there's a bunch of rubble. So there are three mountains. OK So that's the mountain we provide this. This is useful to prove theorems. This is the one that us that we called it was on. So that's the scaling profile of the sparse mat metrics our scallion profile of are in the mountain we profile. OK. So once we have this this profile is defined I defined something called a conifer OK so there Connor is a column key the. This is the actual definition with just. OK let's look at I'll just describe to you in words what it is a con is a column value few What do you tip. You will get one fill in the sub and one of their OK you want to get Phil anywhere in the in the statement of I'm not but I'm not going to talk about the sparse matrix itself OK all the things that I'm going to say are on the scale and profile of our from here. OK so if I do want to patient of those two columns. I'm going to get one fill in this about of him so that is how I define the candidate and these are the three corners in this matter in this even matters. Ok this. Scan of this column is a corner because if I had predicted. And I always thought it column key with column Q. minus one. If you haven't seen it and never do that operation by the way and keep us. Always good clear and clean minus one because if you do it with care. Plus one you're the Phyllis sort of are OK. The film is about the day I always want to blow. OK. So I do care and came minus one and this one fill in the sabbatical and then Bush is exactly like the band is only thing is I have to I cannot do it for any column here. OK so you feel I'm going to do say this. Consider this X. here OK. The brown big X.. I'm going to do would add operation with the column next to consider column key and it would with column K. plus one island up to feels here and one down there so I end up with a difference but I always want to limit the field to one subject me and so I'm going to do what I have defined the corner in such a way that the fill column Q. Secondly if column K. and came in. If you wanted column Q. and K. minus one that is going to be one fill in the subtitle of payments one so that that is what the definition. Basically that's OK So you define the counter and the column Connor's definition. Also I make sure that we have this nice properties of F. the by dogmatics won't have any conscious of it. So the idea becomes you have a mattress with a bunch of Connor's you have to go to a mattress with no conscious of it. So you take a bunch of corners reduce the Congress from a lot of corners you have to go the more corners there. That is out of them. That is a problem at least. OK so you've got them there is a common. OK So the next property is we have defined it in such a way that if there is a con or there minus one is not a kind of a plus one is not on so that it's easy to rotate between us. OK So this is how we define the Congress. There are two more properties of Commerce water. Consider this next one in the second one. OK. This is a condo because I can prove it. I can find a human body from these between these two entries exactly like I did for the bandit from the court date between those two columns and find this about him. OK until the last one. OK I can't find the given situation but then people who left offices actually feel I don't need to find a new information what I like and do is against Rob these two columns are king and the swap is basically a special form of for patience basically I didn't read that either way. So I didn't give it a property. So you're going to basically swap it. So so that this column comes here this column comes in. It's basically if you want for patients but it's a swap. OK so I can do it. Actually I can do it in memory without any trouble and good ones the last words of the diagonal into the old offer to the what space. So you define the commerce in this way and then look at all three contests and say that which one do you want to reduce now. OK So there are a bunch of corners. The problem becomes what is the best going to do reduce OK things we don't know a lot of IF OK from here. We know this is the best going to reduce the thing is and you give me a lot of comments I really don't. So we have to find out with asking where come up with a scheme where we find the lake. We have to make some assumptions OK so. I'm going to assume that that I was kind of is the best part of why I am going to do this is that's what's true art. If you give me a bad Mattocks I'll be always reducing the but in the bad mind the the current definition works for the bad taste to. OK that's a nice thing you take about medics and you mean I believe these definitions and do work exactly the same way you do to reduce the same injuries the squad the shortest method to reduce. OK so I'm going to take the I'm going to find the rightmost on that in such a way that the law just gave out which case a condom is my right most on what I saw on the street and there is this is the one that's going to be when I was gone and I'm going to read you start. Why I'm going to produce it because I have some nice property stored. OK. You look hard when you looked at it in terms of the mountain you will see this was one moment and this was another moment on this was the last moment. And after that they said there was some rubble there is no mountain. OK So the basic idea. If this is the right mosque on them anything that late offered will not have any moments we can pull and I define a moment unless it's sort of like you can see from the pointing right. It's just a bunch of columns of the same top of us. OK so you're bunch of columns of the same top pros. So the idea. So this is what it says to the eight operate more scanner that won't be a bunch of corners with the same top was the top pros will be one automatically increasing in memory. You're increasing. OK you get the increasing in between. So OK So that is one nice property there is no mountain top off because if you have a moment to consider this entry. If you wanted this you have a mountain here you are going to feel you're going to Jaycee Dugard not because they're OK to have the M.P.'s are going for I don't want that I want. You for you provided this I get some Bagnall Philetus if I don't want them and they're planted here. I want you for there is a mountain that I'm going to get all of it. So one nice property. The other is basically a corollary of the what I said just saying because there are no mountains there. The skyline and mount and we were basically the same. OK To the right. So even if we operate on a scale in my tracks I can think of it like I'm open. It's OK so I have the nice property. And the third one and it is the actual proof. What I'm going to say is how much more. Stick the statement than before. If I do this I get one sub bag and feel I'm going to chase it. I will not get more than one thing I make a deal for but I won't get more than one for OK I've any point in the chase and we can prove it. OK I'm not going to prove here but it's it's not very easy. It's not it's not very tough. You can think of it late you can say that I'm going to get more than one file and prove that there is a moment there. OK. Just a contradiction. So once you do that then the algorithm becomes really simple you have a bunch of corners. Go From got both all the columns collect all the columns in a stack start on the right most corner where you stick on a just a full you managed to get only one full of it which is probably not useable even they're OK if you're not sure if it's not just about if it's a simple continue with your sublists else we're going to be all right. Most content. OK so you all you have to maintain a stack of entries and always reduce the rate most gonna keep producing OK so it's a very simple algorithm nice properties the what anything else. What are the problems. OK The process was very nice. I would give them a very simple one. The and the memory requirements are easy because every fill every entry will cost one fill. So we're making some progress or at least staying the same and we have a nice public property of the conses it's not blocked it's not by plane and you just going to do the diagonal direction with that which is doing a lot more information than we quickly. OK. Part of me. No I'm not using the last three at all. No I'm not used this algorithm at least doesn't he was rushed to get out and I am not using blustery anyone actually. No you can in the bank order I don't use last year at all and my you just may block chord but even within the blocks it's and very much like it will have been mama Secord it's not using the last three. So I mean it's able to be blast three because it's using the tash that it leads using the investing that it's not using blasting no. This algorithm is totally bad for blaster you OK this is just one. It's chasing one element about. OK so obvious. So. That is about right. Most elegant work or if we're not play the leftmost going out of there you can easily see that leftmost kind of is going to create two fields year and a chase. OK so I add a constraint to it. I say that the leftmost corner is not any corner but any valid counter and they say that a valid can other is the one that is going to create a one stop Bagnall feel and one feel when a chest of F.. So this them corner that is marked yellow is a valid kind of a because it is going to create a fill in this. If you may call it some sort of a crisis. So I think it's going to clear Phil what you think is going to create this funny. Fearless we are used to seeing feels at the end of the columns. OK A or end of the horse. The thing is it's going to get in the middle of the road in the middle of two columns of it. That's the problem. I'm not going to go into detail about this. The thing is it's back in the it is actually doing doesn't work very well because. We're not able to prove that the next great left more scanner is in about closed door so I'm not able to block it out so far blocking because the left there is one left most going to hear the next left what's going to be any one of the odd it can be actually that it was can we can prove the rightmost can't it's always alert valid. So once there is there are no valid going to here we always come to that it must be so that is a problem with this mother valve we try to do something there and then find that there is no valid can or gamble actually that I was gone so it's actually not working well OK I just wanted to put it there so that just give a brief idea. So can we do blocking on this. OK. Almost time to hear. Five or ten minutes. OK OK So we try to do blocking here. OK So this is the basic idea you have the scanner here. The rightmost corner we can prove that it isn't OK I'm going back to the Mountain View from the skyline. OK. This is a Mountain View Maddux OK. No that's short crazes any more. And I might exist for three moments I think in Mountain View we can prove that if there is the in the rightmost corner consider this kind of. OK I'm in the top row of the king consider the column top row. K. plus one. OK consider this column if top of peer is I.E. bro I. Consider the column I plus one. OK we can prove that any corner from I placed one to N. because you know I want. OK. The first proof was saying but it was counted because you are one for now I am saying this. If column Q Is the rate most current I can go up to Lee who I which is the top of here and go to the column I get this is the column one and any can have within this whole block because you are one field and again it's because it is always going to go to the rubble and the rubble is zero or one of it. So I'm going to say that any corner here is going to do it. And then. Now I can do block in here. OK so I said this whole thing is. Sibel But what I'm going to do is I'm going to reduce one mountain at a time. OK. Instead of producing one car at a time I'm going to consider this and they are mountain as one big chunk. Now I can do my blocking the one we think this might mean the size of the mountain is now where you will. OK it's basically depending on the mattress. So my block size has to be really dynamic. So I give a block sister to the way that we go. It finds that I was gonna try to expand the process with a little bit of you don't you just buy off able to find the right away. There you go and go to Asians it's fine if it's not what I would as it is able to find so it's going to be entirely different in the structure of the mattress. So that's the idea and the thing as if you look at the initial mountain This entry is not there. One two one three and these are from the mountain but the fourteenth is actually from the club. So it's not just reduced amount but also we have to improve the few entries in the room. So this works. The only thing is modern it was too high. OK. Can this be converted into coiling OK I just have two slates for the sky and I'll go to the performance. First the problem here is you if you do this thing that doesn't work for the sky line us the the proof way to give you the idea that any call column from this corner to the end we clearly don't want this will create probably two fields because there is this chunk right here. There will be a full to the left of that eight most economists and restructured OK So we really don't want to do that. So we're going to increase the constraint a little bit by saying that the top row of any kind of sick. This is our seed blog the word unity block which we talk about in the band adoption something to think of it a legacy blog from the battery action is that shot just going of the other top row of any column is going to be constrained point. Ok to find. A color here. OK so I cannot go beyond I cannot get enough sleep here. That is the basic idea of it so start on the right most on it go. The block in such a fashion that you have to have you cannot have a feel here. OK so you. And then you. You can use your blocking and by planning schemes for that's the basic idea. Now you can operate on a scale and OK so if you do that you'll actually get instead of four rotations in the previous on in your case we could read a difference here and in the sky in case that because of the scaling you can help people going to sit in the block. So you then you have the choice of Husing any candidate in this block in Mountain View there is always one con of once you find the mountain of it. And then the scale and if there are multiple corners. So you are used to the leftmost going on within the rightmost So you find the rightmost mountain go right most cannot go a block. They just to the left most quantum. Because it's sort of actually simpler and mice. OK but you can do any kind of within this block and you can do the blocking and pipelining them. OK Within this. And then go to the next moment and were brought in by playing with the next moment. Good luck. OK so it's really using one mountain at a time and another nice thing about us. You can see that I actually took the bad markets which are used and actually deleted a few entries. Well it's easy. OK So this has a nice band structure but there is this nice. So can you use. OK before going to that the performance numbers for this. OK. OK So this is the thing that happens when you come up with a performance numbers and then we'll tonight in the last day. OK So excuse me for but I'll try to explain to you. This is the flops. I'm sorry this is not the flubs label here is wrong. This is an art and this is basically. One and I'm comparing it against an eternity with sweetie. OK I'm able to find all the single about us. OK I'm going to compute compare it against a need to read it as we decode the one anything else might I'm going to say that if you look at all the similar values I'm fast. OK so I'm going to hold up. OK I'm not going to come patter comparable. OK. It was with the slope. You if you require one of two similar values your read of yesterday is fast. I'm not going to compare the case. OK so I'm going to leave that to you just the in-between that is interesting to us. OK So this is the in-between but. So you feel young is say three thousand and the axis are basically N over five hundred. If you asked Are you the very best really three thousand or five hundred or single. Yes OK And over five hundred single about us. I mean you ask me all the single events then I can by the time. OK So take the case of plus Right it's an hour hundred you ask you to reverse really thirty single ovens. OK And you ask me all the single of a little history thousands of lives. So you can see that a lot of exercise feels so and because the standard of my fondest and of hours ago I'm not doing very bad. OK When they in the time they do it's really compute thirty single values. I'm computing all assimilates So if you want to find their best but come and you want more than single value for it. It was me it was a matter of this is obvious. Yes OK. If you want. We'll make fifty single of our lives. Sure OK And over fifty and over twenty five. I know it's all here. OK And over five hundred hundred. It's all OK and over five hundred of them. So these those and by two thousand and five and so the that's the reason why this is here OK. So the kids obviously later somewhere around say for this fight. So this is an interesting problem. You want for in over a hundred three thousand the medics Ace I don't do it often seven hundred I guess. So forty thousand seven hundred. If you ask you mean you know or five hundred single while you're still I'm doing this. I'm able to find all three thousand seven hundred single values when the utility method is able to find you know if I had some of them so that's the idea. So that's what basically brought and this method is this is the most block left corner matter where I have graphs for each of them but this is the best so far. And the other problems which I haven't discussed. OK Is symbolic factorization for this. I didn't discuss symbolic AI positions on. But even look at this problem say you start with a column K. and you're going down a few columns OK and you're going to think of column clearly we can think of it as a graph problem and as a part of arson. OK And the graph is a special graph I can talk to you if you want if you're interested. We're able to show that if you can do a simple symbolic act with Asian with a graph that was and one thing is the graph. It's not a two graph it's a funny. It's basically a set of parts. It's not a graph. It's it's a like a bunch of sequence. OK so we're able to do that. I don't doubt I would agree there and the court actually uses that if they showed you the next this can lead to a cure factorization. And we do in our ng for that you have that this is the thing as the are doing is to reduce the number of non-zero is in our But are not all also equal for me I.E. later special are used to R. is closer to about my picks. I like it a lot you feel the are saying if the archives really young entries. OK. The top row is full. OK you can see the skyline. I'll tell you this like a fully operational about in terms of scale it so in terms of scale and it's really really bad. So not all are all our side equals what can you find in our Can we find in our living for the Q R factorisation that is helping us protection our drinks dust but not really well. So we're working on lotteries for. Can we integrate this whole thing with a band of them can we. If you just give me a band Mattocks while you do all this stuff just then you do that. Doing that I do that. OK I actually do the performance of a cell. So I showed you used to that idea. The one thing is I just look at the other end time I try to find an approximate bandwidth. So approximate band with this on three hundred then I just. It's call in economy three hundred Anything you need to call an old three hundred is a con of the thing below that it's not a condom. So I use the magic's two or three hundred bandwidth and then call the bank all of it which is much faster than doing all the simple stuff. So those are some of the issues I didn't talk about. So in conclusion. We talked about a bandolier them which is I don't go to name names Foster we dubbed a border sparser CD which has some nice whistles thing as you need to have big and it is quite comedy do with it. Of sparse is released when you think you need to if you want some decent number of think about it if you want to want to sing live as if it doesn't and I have the software online for the band the band called it is online only thing is it's for evaluation purposes for now because the university is working the licensing thing. But yeah you can use it for. All your purposes and the sky name cordis if you want to they can give it to you want it in this it's I didn't put it up in the website because it's not quite production for the I want this to be fully It's not a court order. It's not for me and work with Matt with have been Davis' if you sideways at the end and she got so. You know all of them has to thank you thank you. OK. Yes yes and no no. The thing is I I didn't like it but I did this whole problem we know very that it's sort of like a pilot to look at problems that are traditionally using Blaster yelled at them's but will be better too wide and then use something simpler. I think it's up something to spar score. So that's one thing the next is up from want to talk to people. OK it's not up it's not for production for daily use but the thing is when you actually develop an application. You want to find the key to stop. Rather you want to see the spectrum and say I have to stop here OK to find the cure yourself. You know to find all the single values. So even for that one. Piers you were not able to do it but if you do it. So if you do all the single values I don't even sure the numbers even even on the tests are honestly because the spiral. It really is really really really slow if you ask about singularities So what we will actually do is they're doing two hundred single values. OK two hundred is not working. Maybe to fifteen. So you're doing it so on this. I think this would be useful in that sense. Yeah I thought about it but actually it's in the future. What's actually it's not in the homes of you not in terms of if anywhere close to the. Production value or something like I say I have some implementation might more of a multi-core sort of or plan of battle work. Because if you look at the Elop. Cord. It's actually developed. It was actually developed out of a braced machine to create a place machines and. What they have done can even be done with can that can be enhanced with the algorithm they're from. I can take a look back at what they did there. And even use it on my blog court. The thing is up. I've thought a word for them in the multi-core sense not in dumps of battle sense but not a production very version they have must sort of like the Matlab sort of things and all thank you thank you. Thank you. Thank you.