 So, we will take a look at Laplace's equation, last class we ended just short of my assigning a problem on Laplace's equation, right. So, we will get back to that maybe along the way. We will take a look at Laplace's equation and see what we are trying to do, okay. Laplace's equation, we have written it in terms of phi nabla squared phi equals 0, right. So, in 2D maybe I will write 2D Laplace's equation, we will restrict ourselves to 2D right now, 3D will follow in a similar fashion. So, in two dimensions Cartesian coordinates, this turns out to be dou squared phi dou x squared dou squared phi dou y squared equals 0 and we wrote for an equally spaced mesh and I am writing only for one set right now, we wrote for an equally spaced mesh at the point i, j in terms of i plus 1j i minus 1j ij minus 1 ij plus 1, we wrote this differential equation representation that we could use on the computer as phi i plus 1j plus phi i j plus 1 either way plus phi ij plus phi i 4 times phi ij phi i minus 1j plus phi ij minus 1 equals 0. So, this equation representation at this point ij right, we have written in this fashion and we got a truncation error, there is a representation error, we got the truncation error for that representation, for this representation, okay. Now, right in the beginning minus 4, minus 4 very important, minus 4, right in the beginning I had mentioned that this equation actually gives us, allows us when you are given a differential equation, in the sense you are given a question, find phi and if you find the phi, if somebody gives you a candidate phi, somebody says I have a solution, you would verify it by substituting into this equation and checking whether they have the solution or not, right. And if they give you something that is the solution, the right hand side will turn out to be 0, left hand side will be 0, it will equal the right hand side. On the other hand, if they give you something that is not the solution, it will leave what is called a residue, okay. So, if I give you a phi which is not a solution, if I give you a function which is not a solution, you substitute it into this equation, it will not give you 0, it will leave a residue, okay, that I am repeating again, this is something I said earlier in the semester, it will leave a residue, the residue is what you get if you substitute a candidate function, right, into our differential operator here and it should be 0 but it is not 0, what you end up with is the residue, fine, we write our equation in this fashion, something equals 0, left hand side should be 0, it is not 0, what is left is called the residue. Well, clearly if on a mesh, I give you discrete points on a mesh, like I had mentioned in the last class, you cannot substitute back into the original equation but you can substitute back into this, right. So, if I were to give you various values of phi ij at the various grid points, you could actually substitute that into this equation and find out whether this algebraic equation is satisfied. If the left hand side is not 0, that is it leaves a residue, that means it does not satisfy, am I making sense? So, if you end up, if you substitute, you have a candidate solution, you give me a candidate solution saying here is a solution. So, the way I verify it is I substitute it and I find out, I try to find out what I get and if I get a residue which I will call rij because it is the residue at the point ij and that residue is non-zero. So, now I change it a little, every time you give me a candidate solution, I will substitute it into this equation and see evaluate the residue and I will ask the question, is the residue 0? If the residue is 0, you have given me a solution at that point. If the residue is not 0, you have not given me a solution at that point. What you have given me is not a solution at that point. So, we have these 5 values, the algorithm that I proposed in the last class which was the phi at ij is phi at i plus 1j plus phi at ij plus 1 plus phi at ij minus 1 plus phi at i minus 1j times, I am going to say divided by, but times 0.25, 1 fourth. So, what we could do is, if you give me something so that the residue is not 0, what I could do is, I could reset the value at ij. I can evaluate a value at ij as the average of these 4 values. And obviously, if I substitute back in it will be 0, you understand. So, in a sense I have adjusted the value at ij so that it satisfies Laplace's equation, the discrete form at that point. This is called relaxing. It is called relaxing, the process is called relaxation. I have relaxed the value of ij, I have relaxed the value, it is as though it is in tension and I have relieved that tension, you understand. I have relaxed the value of ij, I have relaxed the value of phi ij by taking the average and substituting the average value there, it is satisfied. Equation, it is obvious because I got it from the same equation, it should be satisfied. So, what is the algorithm that we are talking about now? So yesterday, this is the problem that I started off with at the unit square, the unit square at the origin. So, I have the unit square at the origin. We can divide it up into, if I remember right, I divide it up into 9, divide it up so that there are 9 interior grid points. We could of course choose more. And what you do is, so at any of the interior grid points, we do not have the values. The problem is defined so that boundary conditions are given on all 4 sides. So, the boundary condition is prescribed on all 4 sides. So, in theory right now you do not have, I have not assigned the problem so you could just assume any boundary condition. You can just make assumptions on values of phi. When I say any boundary condition, values of phi on the 4 sides of this unit square. You can make an assumption on the values of phi at the 4 sides of this unit square. So, that sets your problem. So, you can take phi equals 100 here, maybe phi equals 100 here, phi equals 200 there, phi equals 200. You can pick values either constant or you can pick something varying as a quadratic curve. You can pick values. You can pick values along on the boundary, only on the boundary. And the way Laplace's equation, the problem is specified now that I have given you the boundary conditions. The question is to determine the values at the interior. And we propose to use the averaging process that we just talked about right now. So the first candidate solution that I propose. The first candidate solution that I propose. So I will give it a superscript 0 to indicate that right. It is the first guess that we have got at ij and ij are interior points. I will say that it equals 0 i,j interior points. This is the first candidate solution that I propose. So if you were to substitute it into the equation, you would be left with the residue. At every point if you check the residue, you will find that in fact because these values are not necessarily 0, you may not have guessed them to be 0. Whereas these are 0, you will find that a 0 here is not the average value. So this has to be relaxed. So you set this value to the average of the 4 neighboring values. Am I making sense? So we come up with the algorithm. I repeat that again but this time with the superscript. So you say phi ij1 is 1 fourth of phi i plus 1 j 0 plus phi i j plus 1 0 plus phi i j minus 1 0 plus phi i j i minus 1 j 0. Is that fine? And of course wherever it is on the boundary, so wherever it is on the boundary, you take the boundary values. Wherever it is on the boundary, you will take boundary values. So for the very first one, j minus 1 will be on the boundary, i minus 1 will be on the boundary for the very first one. Everybody is with me? So in general, what we could write is, in general we can write phi ijn or n plus 1 is, this is the relaxation scheme that we are talking about at the nth one. So we get n plus 1 from the nth one plus phi i plus 1j ij plus 1n plus phi ij minus 1n plus phi i minus 1jn. Is that fine? So I have a mechanism, I have an automate on. I have a way by which I can now automate it. I have something given the value, I have an equation, given the values at n, I can find the values at n plus 1. So the mechanism that I have presumably, which we hope, the mechanism that I have is a mechanism that if you give me a guess, I hope I can get a better guess. And given a guess, if I can always get you a better guess, eventually I will converge to a solution. That is the hope. So what am I generating? What am I proposing to generate here? I am saying you give me phi ij, so I will drop the i because it is for all the interior ij's, phi 0. And then you are going to generate phi 1, phi 2, phi 3, phi n. You understand what I am saying? You are going to generate these values, you are going to generate a sequence of solutions. How do you check whether a sequence converges or not? There are various tests that you are familiar with. You could do, we could use the equivalent of a Cauchy test, equivalent of a Cauchy test. Cauchy test basically says, you remember Cauchy test? Cauchy test basically says phi n minus phi n minus phi m will be less than epsilon. Epsilon will depend on some capital N for little n, little m greater than, for any little m and greater than n. Once you have passed this capital N, there is an epsilon, so that this will only be that close, will be close enough. Well, we cannot actually do this. So what we will do is we will do an engineering approximation. So we will basically ask ourselves the question what happens to phi n plus 1 minus phi n. I will write it as a norm because given these nodal points you can actually come up with functions. And we want this to be less than some prescribed epsilon prescribed. So you will prescribe this epsilon. So now it is clear, we are generating a sequence of fees and all we have to do is check whether the fees converge. Is that fine? The other way to do it, the other way to do it since we are on convergence and then I will get back to the other way to do it is to look at Rij at each of the points. You will have similarly a sequence of Rs. You have a sequence of Rijs. In fact, I will drop the ij just like I did here. So you have a sequence of Rs, which are the residues and what do you want to happen to the residue? It should go to 0. So we want the norm of the residue to go to 0. So the other possibility is from here, we can say we want the norm of this to be less than epsilon prescribed. Is that fine? So you can test whether this actually tells you whether it satisfies the equation or not. So you can either say I am generating a sequence of fees. Does the fees converge? I am generating a sequence of Rs to the Rs converge. This will do for a first order. For now, for you to start writing some code or whatever it is, this is enough. We have to actually make this a little more precise. And right now this test will work for you. You can test to see whether your code works or not. Are there any questions? So if there are no questions, we will just get back here. So what we have is you will notice that the iteration, each pass through this is called an iteration. The fee that you get out of it, this is the jargon. You have to learn this. The fee that you get out of it is called an iterate. And the process that you are going through is called an iteration. Through each iteration, through each relaxation, it is called a relaxation also. So it is a relaxation sweep. So you will hear people use the term relaxation sweep. So it could be, you could call it a relaxation sweep. So each relaxation sweep or each iteration will give you a new improved fee at n plus 1, from the nth iterate. Because this is the n plus 1st iterate from the nth iterate, I will go back there to the, because it is the n plus 1st iterate from the nth iterate, it is called simultaneous relaxation. You are basically saying that fee at n plus 1 comes from fee at n. So in fact, someone had pointed out last time, we look at this in greater detail. It is actually a linear combination. So it is some p times, some matrix times fee at n. In fact, that is what it is. Now there is another possibility. So if I have fee i, j, n plus 1, what I have done is, I have done, if you look at, if you come here, if you come here and you look at this, when I do, when I relax this point, I take the average of these 4 points and I get a value here. So what I can do is, I can replace the value here, I can replace the value at that point by what I have just calculated. Because it satisfies Laplace's equation at that point now, my approximation to the Laplace's equation. So when I come here, I can use the latest value that I have got. I do not have to use the old value. I can use the latest value as and when I get it. Do you understand what I am saying? So then we are not relaxing. They are not at the same level. It is not simultaneous relaxation. It is called successive relaxation. So when I come to this point, I can use the latest value there and consequently get the latest value at that point. And repeat that, get the latest value at that point. So as I progress through taking the averages, you will see that I am using the latest value at any given point. So when I come here, what happens? The i-1 value is the latest value in general and the j-1 value is the latest value in general. So I can in fact write this as p i plus 1 j p i j plus 1 at n plus p i j minus 1 n plus 1 plus p i minus 1 j n plus 1. Is that fine? And this is called successive relaxation. This is called successive relaxation. It is just a name. But when people talk about successive relaxation, you should understand that they are talking about using the latest value. Fine. The first one simultaneous relaxation is also called Jacobi. See the depending on which direction you are coming from, they have different names and they are attributed to the people that have brought up the thought of the algorithm, Jacobi iteration. Simultaneous relaxation is also called Jacobi iteration. Is that fine? Okay. Now, how do we figure out whether the code is working or not? How do you find out whether the code works or not? How do you test to see whether the code works or not? You know how to check convergence. If it converges, does that mean that if it converges, does that mean we have a solution? See we have the following questions. How do we know our code is working? How do you know if it is converging that you are getting the right answer? So we need to answer these questions. How do you know if two of you get two different answers, if two of you get two different answers, you run the program and the two of you get two different answers. Which answer is the right answer? Is there a way for us to decide, right? Is it possible that two people get two different answers? Am I making sense? These are natural questions that you have to ask yourself because if you go out and you start solving this problem, right? And two different people are solving the same problem. Is it possible that somehow they end up with two different answers, right? Why would you say it is not possible? But how do we know that? Is there a way we can show that? So you are saying Laplace, the solution to Laplace's equation is unique, okay. Solutions, but what about the discretization? To our approximation, is the solution to our approximation unique? You understand? So in your partial differential equations course, you may have learned that the solution to Laplace's equation is unique, okay. That the solution exists and that it is unique. But how about for our discretization, right? You understand? Because we are doing, we are only approximating it. So is it possible that we have already seen when we talked about machine epsilon that there are a bunch of numbers that are represented by one number. So we have to have a little anxiety saying that are we going to get the same answer? Are all of us going to get the same answer? Okay. So we have these set of questions that need to be answered. So first we look at is there a way for us when you are given an equation, when you are given an equation, nabla squared phi equals 0, phi equals 0 and we have a discrete representation for this equation. Is there a way for us to set up the problem so that we can check whether the program that we write is generating? So we need an answer, we need a solution to this. If you have a solution to this, we are set, okay. So Laplace equation fortunately is easy. That is why I have picked Laplace equation as the first problem that we look at, right? Any analytic function is a solution to Laplace's equation, right? So the simplest thing is to take z or z squared. z is not, z being a complex number is not that interesting. z squared, yes. So we can take either real or imaginary of z squared as a start. I want to keep it simple. So a solution is x squared-y squared and I invariably start with something like this because I want to keep it easy. So if I were to solve this problem, I will pick a simple, so is this a solution to Laplace's equation? You can substitute and see and it is indeed a solution to Laplace's equation. So on the boundaries here, we can pick the boundary condition as it comes from x squared-y squared. So on the bottom boundary you can set phi of x, 0 equals x squared. On the right boundary here, you can set phi of 1, y as 1-y squared. On the top boundary, we can prescribe the boundary phi of x, 1 is x squared-1, sorry, x squared-1. And on the left, phi of 0, y is-y squared. And then you would expect that these points would be samples from x squared-y squared. They would actually be sampling the function x squared-y squared. The solutions here should correspond to x squared-y squared. So this is something that you can try out, okay. And now this is something that you can try out. You have an answer to the problem and therefore you can test to see whether your code actually converges to that answer. Is that fine? Okay. And you can see how well it, how well does it, if it converges, how well does it converge? Does it actually go to the answer? What does it go to? You can find that out. Second question, is everybody going to get x squared-y squared? Is it possible that the numerics goes somewhere else? Okay. So we will do something that mirrors, we will do something that mirrors the typical, the continuous function, the derivation that you would have seen in continuous function. I will just draw this here. So if you have, if you have these 4 points, what are we doing here? What is at the point ij, at any given point ij at the interior? What is phi ij? Phi ij is the average of its neighbors. So what is an average? The average is not larger than the largest neighbor nor is it smaller than the smallest neighbor. So any given point here, any given point that we take the average for, actually I guess I could have done it just here, any given point that you take the average for, any given point for which you take the average is not larger than its largest neighbor nor smaller than its smallest neighbor. So this point is not larger than its larger neighbor smaller and this is true of all the interior points okay and therefore can I conclude that the maximum and minimum will actually occur on the boundary the only values that I do not touch that I do not change are on the boundary every other point I ensure every other interior of every a point on the interior I ensure is larger than the smallest neighbor and smaller than the largest neighbor you understand. And all of these satisfy that condition they are all larger than the smallest neighbor and smaller than the largest neighbor consequently the maximum and minimum to the solution must occur on the boundary fine okay. So if the maximum and minimum solution occur on the boundary what can we say the maximum and minimum occur on the boundary, what can we say? We will use this argument now, this is called the maximum principle. I am just saying this just for okay, I will just say maximum principle okay fine. So what we are saying is if I instead of writing the system of equation, so if I have, I will still write it as nabla square phi equals 0. So I have replaced this by some, what shall I call it? L of h phi equals 0 right, so this is some system of equations, that is what we called it right, h is the grid size okay. And the discussion that we are having now is, is it possible for two people, is it possible for two different students to get two different answers and it is important that L is a linear okay that we get a system of equations, this is possible now for two people to get two different answers. So let us say two people, two different students get two different answers okay. So the two answers, two different students get two different answers, one gets the answer capital phi 1, so I am making it capital phi so that we do not confuse it with our iterates okay and the other gets the answer capital phi 2 okay. So we do the usual mathematical trick because we know we have a linear equation, what are we going to do? We are going to look at what is the difference between the two answers phi 1-phi 2 because the equation is linear, because the equation is linear, this is also a solution to Laplace equation right, because the equation is linear, this is also a solution. So if this is some phi, this is the difference Lh phi is Lh phi 1-Lh phi 2, you understand because it is linear, because it is linear the L actually distributes across it, because it is linear, this is just a system of equation, linear system of equations in this case and therefore this satisfies Laplace's equation right. What are the boundary conditions that it satisfies? Remember both phi 1 and phi 2 satisfy my x squared minus y squared boundary condition, therefore phi 1-phi 2 the boundary condition is 0. Now we use the maximum principle, the maximum and minimum occur on the boundary and that is 0 right, so the only function for maximum and minimum occur on the boundary and that is 0, this phi is identically 0, is that clear? So as I said this sort of mirrors the proof that you would have seen possibly for the differential equation itself, so yes it will turn out that if you do, if you solve this problem if two different students get two different answers the possibilities are both of you have the wrong answer right, that is one obvious possibility or one of you has the right answer right and one of you has the wrong answer okay right. After you have been programming enough you start with the feeling that you do not start with the confidence my answer is right, your feeling always is that likely that your answer is wrong, you have to start with the assumption, the presumption is my answer is wrong and you have to work to show to yourself, convince yourself that the answer is right, is that okay, fine right, so here we have what should I say, we have shown that the solution the answer is unique, we need to show now whether the scheme always converges you look at that right, but before we go there I have just quietly written this as Lh, let us figure out what is this L, what is the nature of this L, what is the nature of this operator L okay fine. So back here, so there are two possible numbering schemes that you can, the different ways by which you can number these okay, intuitively if you look at the way I have written this, if you look at the way I have made these pink colored dots, the assumption is that I have numbered this, this possibly is 11 or 00 or whatever it is and you know I have numbered them in increasing fashion of Y and an increasing fashion of J right, in fact I do not even have tell you, instinctively a lot of you will assume that that is what I am doing okay, so we number this in this sequential fashion right, that is what we have done, but is it possible for me having gone through this process, I now understand that it is only the interior points that are unknown that need to be determined, so possibly I can number the interior points in a sequential fashion and then number the boundary points okay fine, so one way to do it is you say you use two subscripts, you use two subscripts, the other way to do it is that you basically number the boundary points after this, so that is 9, so and this becomes 10, 11, 12, 13, 14 and so on, you could also number them in a random fashion, would that make a difference you think, so this is something for you to think about, if I would, should I do this sequentially, would it matter if I started my iterations from the top, would it matter if I iterated, I relax this point, this point, this point and did it in the reverse fashion okay or can I just do it in random, can I just do it at random, we should always get the answer, the question that still there, we should always, we would expect that we will get the answer, we will look at, we will see whether we can throw some light on that idea, right now intuitively I am getting a lot of head shakes saying that you do not expect, I do not expect it either, you do not expect from what we have seen, we do not expect that the answer will change, we are taking averages, we do not expect that the answer will change, so there are different ways by which you can sweep through, sweep through the domain, not necessarily from left to right, bottom to top, not necessarily in that direction, that you can sweep in any direction and instinctively the way we number it is the way we tend to sweep it, therefore the way we number it becomes important, okay. So we will definitely get to the answer, then the second question is how fast we get to the answer, right, okay, so we will look at those issues, right now let us stick to this, so I have numbered it in this fashion 1, 2, 3, 4, 5, 6 and we can write for each one of these we can write an equation and as a consequence we will get a linear system of equations, so for each one of those we write an equation, for the first one I get phi at 2 plus phi at 4 or phi at 4 plus phi at 2 it does not matter, minus phi at 1, if you want minus 4 I keep forgetting, I will start the other way around, I will do it in a sequential fashion, minus 4 phi 1 plus phi 2 plus phi 4 plus phi 25 plus phi 11 equals 0, is that fine, what is the next one turn out to be, phi 1 minus 4 phi 2 plus phi 3 plus phi 6 or phi 5 minus phi 12 plus phi 12 equals 0, am I making sense, we will write one more, so there is no phi 1, phi 2 minus 4 phi 3 plus phi 6 and then you get two boundary points plus phi 15 plus phi 13 equals 0, of course the boundary points we are going to take over to the right hand side, okay. In general if I write for a general point in between as I go down to an interior point which is only surrounded by interior points, I will get phi, if I am at the point I remember I have only one subscript now, okay, phi i minus 1 plus phi i minus 4 phi i plus phi i plus 1, that is the easy one, so you can see the second derivative i plus 1 i minus 1, then what do you get, plus phi i plus n where n is the number of points in that row in a given row, so phi 1, there were 3 in the row, 1 plus 3 gives me 4, 2 plus 3 gives me 5, 3 plus 3 gives me 6, okay, there are 3 in that row and subsequently I will get a phi i minus n now and this should equals 0, this is the general situation, okay. Coming back here if you look at it, if I have a general point, if there are n of them in this row, this is minus 1, this is plus 1, this is minus n, there will be, you will have to go back n, this is minus n, that is plus n, okay, so with a single subscript we can actually go i minus 1, i plus 1, i minus n, i plus n, is that fine, so we can really write this as a system of equations, you can really write this as a system of equations, maybe I will write it in a bigger fashion in a system of equations, I will write it there in that first, you can really write it as a system of equations, which will be minus 4, 1 and what, whole bunch of zeros, so this is the first one, then you have to go to i plus 1, i plus n, so when you get to i plus n, there will be a 1 there, lots of zeros, this is the structure of the matrix that you get, what is the next one, 1 minus 4, 1, lots of zeros, till you get to 1 on the diagonal there, lots of zeros, is that fine, you get 0, 1 minus 4, 1, lots of zeros, 1 on the diagonal, so the equation keeps on shifting to the right, lots of zeros after that and this will keep on shifting to the right till you get to a point where a 1 will appear, till you get to a point where you have gone to the second row, now from the first row something is contributing, while you are in the first row, 1 below goes to the right hand side, so you get lots of zeros, 1 minus 4, 1, lots of zeros, 1, lots of zeros, in case this does not make sense, I am going to erase this, I will write it as a, I will just draw lines, so you get a minus 4 on the diagonal and we are all agreed that that minus 4 is there for all the points, right, so you get a minus 4 on the diagonal, there is nothing to the left of this but you will get a plus 1 on the super diagonal, on the first diagonal above the diagonal, fine and you will get a plus 1, so there is a minus 4 here, you will get a 1 here on the sub diagonal, fine, so that takes care of the second derivative in the x direction, in our primary coordinate direction, then what happens, then you have n away from this, you have a 1, all of these in between are zeros, they are all zeros, okay and you are going to have a bunch of ones, you are going to have a bunch of ones till you come to the right boundary, when you get to the right boundary or the top boundary, right, when you get to the top boundary or the right boundary, at each of the boundaries you have to be a bit careful, so here n away you will get a 1 there, am I making sense, okay, there is 1 at the bottom and you will get 1's along this, 1's along this and 1's along this, this corresponds to the top boundary, this corresponds to the bottom boundary, there are zeros here which correspond to the bottom boundary, there are zeros here that correspond to the top boundary, here as you go along, just like you did not have any entry here, as you go along, as you come to a left entry or a right entry, you will get a 0, as you come to the left boundary or the right boundary you will get a 0. Does that make sense? I still see a few faces that are confused. When you have, when you have, when you are at the boundary, when you go, when you traverse along this, when you come to this, there is no, the entry here is known. It is not an unknown. So that goes to the right hand side. So you do not get a plus 1. That will be a 0. Just like that, with the very first one, there will be no i-1 entry. That will also be, right, there will be no i-1 entry. It will also be 0. When you go to the top, you go to the top, there is no i plus n entry. When you go to the bottom, there is no i minus n entry, okay. The points right next to the right boundary have no i plus 1 entry. The points right next to the left boundary have no i minus 1 entry. The ones at, at the bottom will have no i-n entry, no i-n entry, okay. So the no i-n entry, no i-n entry and then embedded in here there will be 0s with the frequency of n. Every time you go through, you come to the end, there will be a 0 because there is no right hand, there is no point to the right, it is a known. And all of those points will come to the right hand side. So this equation, this matrix A, what does it multiply? It multiplies phi 1, phi 2, phi 3, phi subscript 1, phi subscript 2, phi i, phi, I will make it capital M because I made n the number of values in the row, phi m, m interior grid points. And this equals, these will be the values from the boundary conditions. Known values from boundary, okay, these are prescribed, fine. So we actually get something that looks like A5 or Ax equals b, A5 equals b, you have a system of equations, okay. Some observations, the equations are symmetric about the diagonal, the equation that we get, the matrix that we get A is symmetric about the diagonal. The diagonal entries are negative, the off-diagonal entries are positive. So it has some nice structure to it, okay. You can just go look it up, I am not going to do this. It falls into a category of something that is known as an M matrix, we will just check that out. So the diagonal entries are negative, the off-diagonal entries are positive, it is symmetric, right. So there must be, maybe there is something neat that we can do with this, we can check to see whether, what kind of, right, what it is that we are, but we have a system of equations. We have a system of equations. Let us now see whether what it is that we are actually doing when we solve the system of equations, okay. What is it that we are actually doing when we solve the system of equations? So when we do Jacobi iteration, okay, what are we doing? The matrix A can be partitioned as the diagonal matrix D plus a lower triangular matrix plus an upper triangular matrix. Just to give you an example, the diagonal matrix D is minus 4 times i, right. The diagonal matrix D is minus 4 times i, fine. The remaining part lower and upper triangular you can extract out, I think that you can do. So when we do Jacobi iteration, what we are actually doing is, we are saying phi n plus 1 equals, you can check this out, D inverse phi n minus, well maybe we will work this out next time. I think we are coming close to. So what you can do is, you can just take the equation phi n 1 plus 1 equals, we are trying to find, just to give you an idea as to where we are going. We are trying to find out what is this P, okay. We are trying to find out what is this P so that we can say something about how this equation converges. So far what we have shown is that if you get a solution, it will be the solution and it is unique. You understand what I am saying? Now what we want to do is, we want to see whether does it actually converge, how fast does it converge, how fast does it get there. Now we are talking about the operational part. It is nice to know that if two people will get two different solutions, right? I mean we know that everything works, two people should not get two different solutions. The solution is unique. Now we want to know that we want to answer the question, how fast do I get it? I would like to get it today. I would like to get it in a few minutes. I do not want to take forever to get the answers. How fast? What can I do? The issue is if I can figure out, if I can answer the question, how fast will it, how fast does it, how long does it take to get it. Then I can, if there is a systematic way by which I can do it, then I can ask the question, why is it taking so much time? Is there something that I can do to make it faster? Remember always we always ask, how good is it and if you are able to determine to answer that question, right? The objective of asking how good is it is not just find out how good is it, but if we understand the question in the way we answered it, it may help us improve, right? Whatever it is that we are asking, how well does it converge and we can figure out, right, a way to improve the convergence if you are unhappy with the convergence, is that fine? Okay, so I will see you in tomorrow's class. We will look at this Jacobi iteration and see what is happening tomorrow's class. Thank you.