# Lecture 13: Kirchhoff's Current Law

Flash and JavaScript are required for this feature.

Instructor: Prof. Gilbert Strang

The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high-quality educational resources for free. To make a donation, or to view additional materials from hundreds of MIT courses, visit MIT OpenCourseWare at ocw.mit.edu.

PROFESSOR STRANG: This is my second lecture on the example, the model of graphs and networks. Really perfect, beautiful model for the whole framework. And important in itself. So, I guess a major thing that I still have to do is discuss A transpose. See how A transpose just naturally appears in the balance law. Kirchhoff's current law, KCL, is just like a model for balance equations. By balance I mean, in equals out, essentially. Flow in equals flow out because we're talking about steady state. So in each node, at node three, for example, I have three edges. So the law, Kirchhoff's current law at that point is going to tell me that the flow w_2 plus w_3 minus w_5 would be zero if there's no current source, or if I'm feeding current into there, some current f_3, then it would match f_3. So maybe having just said those words, let me just say, w_2, I'll say it again, w_2 plus w_3 minus w_5, and I'm hoping that I'll find that in the third column here. And I do. Because I'm thinking, and we'll write it down, I'm thinking to take a transpose, so it'll be the third row, and here I see the w_2, w_3 and minus w_5 that will show up in the third equation there, the in equals out at node three.

Well I'll write that down, because it's-- So, two or three jobs for today. And then Monday I plan to spend a part of the lecture and all of the review session in review, it's a great chance to go back to the things we've done and collect them, assemble them, organize them and see them again. So that's my goal for both sessions on Monday. And questions, then, about every aspect. So, before I get to A transpose, this part I had written down last time, but there's a little more to say. And what I was saying and want to continue with is the source terms. I put in this b but I didn't draw anything on the network. So let me draw what these b's represent. So this second, lower, row is about edge equations, edge variables. So those batteries b are on the edges. And there will be, b has length five. There are five edges. This is a vector of length five, this matrix, A, you remember was five by four. It produced from four inputs, from four potentials at the four nodes, A produces Au, five potential differences.

So those are the differences in potentials. But then also there can be source terms from batteries in the edges, and the minus sign is there because I'm talking about voltage drops. So when I say differences I'm really speaking about voltage drops. Because that's the way current flows. OK, this is the moment that I hate. Putting the batteries in. I think you draw a battery with a long and a short? Is that right? And then you put a plus and a minus? Well, can I just say, life is too short to get those, to get this sign right. You may say when my car battery stalls how do I, because it's important at that moment, right? When you start it up you're supposed to put the right battery, the right lead on the positive and the right on the negative, or your blow yourself up. OK. So what's my solution? Because I literally refuse to deal with these signs. So my solution is call AAA. OK, they're paid to blow themselves up. They can do it. But so this is serious now, I don't want to be asked about these signs. And I forgive you for messing up the signs. So possibly that's plus, possibly minus, I don't know.

But there's a battery in there of length b_1, of voltage-- A nine-volt battery, b_1 would be nine. And depending how it was placed in there, the b here would be a plus nine or a minus nine in the first component. And then if I had another battery here, a b that's on edge four, there would be a battery b_4, and that would show up there in Ohm's law. Because Ohm's law will look at the difference in these potentials, but then it'll also account for the battery, right? The voltage that comes from the battery, and somehow combining the Au, which is the difference in these guys, with the b_4, I'll know what is the voltage drop across the resistor. And that's what Ohm's law applies to. Ohm's law says the voltage drop across the resistor times the conductance, so this is Ohm's law, that on that edge the voltage drop across the resistor times the conductance gives the current. So that's the physical law. Is that OK? For batteries.

Now a comment on current sources. So what's with current sources? How would I draw those? Well, very often maybe I might draw a current going into node one, so that would be in f_1 that goes into node one and maybe comes out at ground. So that would be a typical f. That if I imposed a current source, if I sent a current source through there it would go down and come out at ground, and our question is what are the currents in the five edges? What are the potentials at the four nodes? Well, I'm making this one ground. So I'm grounding this one to be u_4=0. And you remember of course why I had to do that, because this matrix A transpose A, as it stands is-- What's the matter with A transpose A as it stands? It's singular, right? And as I, looking ahead, just a small comment, that this will have exactly the same thing in so many other applications in big, finite element codes, you produce a stiffness matrix that's initially singular. And then you impose the boundary conditions. That's the efficient way to do it, is create the matrix first, that's the big job, then impose the boundary conditions, that's the small but occasionally tricky part.

Now I indicated what happened here. When u_4 was zero, that means that A times u, the u_4 there, the zero is multiplying this, is not unknown any more. It's known. And so that column is not really any more needed in A. Because u_4 is gone from my list of unknown potentials. Now, at the same time, when I went over to A transpose A-- I'm making this comment because there were several good questions about it. I claim that also, that row, coming, which of course comes from the fourth row of A transpose. The fourth column of A is gone, so the fourth row of A transpose should be gone. And we might just think why's that, what's going on? Of course, it produces exactly what we want. It leaves us with a three by three matrix that's not singular any more. I've removed that [1, 1, 1, 1] from the null space by fixing a potential. Grounding a node, and the problem becomes just what we want. And I'll write down the equations when I get the Kirchhoff current law to complete the loop.

Now, what's going on? Let me remove this current source, just so we focus on what I'm speaking about now. On this type of boundary condition, this is like fixing a support, right? It's like fixing a support in our spring mass problem. Can I squeeze in a little spring mass problem, so I have a spring, and then I'm fixing this displacement, u_4 to be zero. Now, I want to try to think through what happens in a balance equation, A transpose w, let me make it A transpose w equal f, because that's the case with right hand side allowed. And now what happens when I fix this, I'm asking you to think back about force balance, which we certainly saw was an A transpose w equal f business. And then parallel will be the current balance, at that node. OK, so what was the deal on force balance? A transpose with this fixed in here. What was the thing with A transpose that that fixed in? We did not write the equation A transpose w equal f at this point. We did not write the force balance equation at that point. When I fixed u_4, in this case it was the displacement so I'm fixing it at zero displacement, I didn't have a force balance in the A transpose part at this node. Now, you could say why? Because of course forces have to balance. But what's going on?

What's really happening here is I don't have to write out, I don't have to-- the displacement here is known. It's not unknown. And let me say it in a sentence. Force balance does hold because the support supplies whatever force it takes to balance the internal forces. So, in other words, let me say that again, the force balance will hold and it will tell me, after I've solved the rest of the problem, it'll tell me what the support has to supply, how much force the support is actually supplying. It's a reaction force, it would be called. So a reaction force is whatever the support has to do to fix that displacement. And so I solved the fixed problems for all the other displacements and all the spring forces. And then I could come back at the end and say OK, what was the force in that spring and therefore how much is that support, what's the force being supplied by that support. See what I'm saying? That the force balance at this node comes afterwards. That equation is like knocking that one out of this problem.

It would be the same here, I fix the potential at zero. I fix ground at zero. Current flows. Maybe some, maybe I might fix that potential at one. I fix that potential at zero. Current flows. OK. Ta-da, I find out, I compute what they are, and this row and column will be gone. Find out what they are. At this node, what's happened? What's happening to the balance of currents? Does this current have to balance that current at the ground? No. The ground, whatever current comes here plus whatever current comes here, goes into ground. Do you see the point? Kirchhoff's current law, the balance of currents that in equals out, is true but it's not an equation I have to solve in finding the currents, it's something I can discover at the end. I can say OK, how much current flowed from ground? And similarly up here. If I fix u_1 to be zero, then you, no, I don't want to fix it to be zero too, that would be a way to make very little happen. Let me fix u_1 to be one, so this is a standard important problem. It's like what's the resistance in the net-- what's the net system resistance? If I fix this at one fix this at zero, some current will flow, it'll come out here. And that'll be the current going into here.

Somehow there'll be a balance there, and a balance there. But it's found later. Just the way the force in the support is found later. OK, that takes a little thinking. I just wanted to, because I had blithely knocked this row out. And you could do it on the basis, well if you knock out this column of A then you're knocking out the row of A transpose, and therefore A transpose A will be three by three. And it'll go down to two by two if I fix that potential. And if I don't fix it at zero, if I fix it at one then something will move to the right hand side. OK. that's that point I hope at least discussed. So now we have the whole pattern here. Except that I really have still to justify the fact that it truly is A transpose, the transpose of that matrix, that comes into Kirchhoff's current law. I guess in the first minute of the lecture I looked at that particular node. Let's look at all the nodes. Let me look at A transpose w equals zero.

OK. So I'll copy a transpose because I truly believe that Kirchhoff would want me to do it. OK, so that becomes a row, that becomes the next row, of course I see three guys going into node one, then the one that I looked at before. That's the three edges, node three, and then the last one. Let's keep the last one in for now. And because if I didn't fix that I'd have that last one. There we go, so that multiplies, what does that multiply now in Kirchhoff's current law? Multiplies w, so currents. So here the currents, one, two, three, four and five. All I'm doing now is just, like, convincing you that it really is a transpose, that if I look at, let me pick that node now, if I look at that node I see edge one coming in, I see edge three going out, I see edge four going out and when I look at that second node, I look here at the second row, I see edge one coming in, edge three and edge four going out, multiplying those currents, and that will give, that current balance there gives that zero. Right? That current balance at node two gives that zero in the right hand side. And then, of course, other zeroes are here too. This is minus w_1, minus w_2, so I have a zero. This is with no current sources. OK. And this one, of course. I guess I'm hoping that you say yes, the A transpose really was the right matrix to express in equals out, Kirchhoff's current law. OK.

Now, I might find more solutions. So that's the question. So what's the, now this is the key fact of linear algebra. Which is, it just tells us the numbers of everything. So this told us that there were three independent columns. Of A. Now, for that key theorem, which tells me that, how many independent rows of A are there? Three. That number is equal. I just want to say that's a pretty remarkable fact. If I have a 50 by 80 matrix and that 50 by 80 matrix has 17 independent columns, then this great fact tells me that there are 17 independent rows. And if those 50 times 80, 4,000 numbers are random, boy, you can't look at it and see what are they. Independent rows. But if you know there are 17 independent columns then there are 17 independent rows. So, what does that mean here? That means that out of the five columns of A transpose, which were rows of A, three are independent. So just tell me, how many solutions I'm looking for. Before I look for them. So the number of-- The number of independent w's, independent solutions will be what? What's your guess? Two! Two is the right guess. Two, because I have altogether five unknowns, I subtract three equations that are really there, I have three real equations there even though it looks like four. And I get two. So that general picture is n-- Oh, I'm sorry it's actually m because I'm doing the transpose here. So it's m w's minus r, the rank.

So that's m is five, the rank is three and this counts the number of independent solutions. So it's a nice, it couldn't be better. It's a fundamental count of how many solutions are there. You're really taking the number of unknowns, five, and you're subtracting the number of equations that are really there, three, and that leaves you with two solutions which we will have to find in a minute. Can you say why there's really only three equations there? Why do I say that that fourth equation is not contributing anything new? I believe that that fourth equation is a consequence of the first three. And, therefore, if it's there or if it's not there, it's not telling me anything new about in=out. In other words, if I have a closed system, closed because it's zero on the right side, if I have a closed system and I have in=out at those three nodes, then I'll automatically have in=out at the fourth node, because the total in is zero. And the total out is zero. So if I'm right at three I'll be right at the fourth one. And now just tell me with the numbers, how would I get this equation w_4+w_5=0 from the first three?

Well, it's probably the same way that I got that column, that that column was connected to those columns. What do I do? Add them. If you add that equation to that equation to that equation, add those three equations, what happens? the w_1's cancel, the w_2's cancel, the w_3's cancel, this says there's a minus w_4 and a minus w_5 that adds to zero plus zero plus zero, minus w_4, minus w_5 equalling zero is the same as plus w_4 plus w_5 equals zero. The four equations add to zero equals zero. That's what the central thing is. The four equations add to zero equals zero just the way the four columns up here added to the zero column.

OK. So we got the count. Now, this is the interesting part, always. What are the solutions? What are the actual w's? OK. You could say, wait a minute, you're asking me to solve four equations and five unknowns, and just say what the answer is. Well, normally that's not reasonable. But here we can get help from the graph. Let me give you an idea here. So what are we looking for on the graph, that solves it? We're looking for a bunch of currents that balance themselves. Right? We've got zero on the right hand side. So we're not getting any help from outside. How could you send current in this loop in a way that would satisfy Kirchhoff. He'd be happy. The balance law would be true. OK. b-- I'm just looking at currents. Current w_1, w_2, w_3. Is there any combination of w_1, w_2, w_3 that would balance itself, that would make Kirchhoff OK? Well, here's the idea. Send that current around a loop. Loop currents are solutions to Kirchhoff's balance law. If I send an amp on that edge, on that edge and backward on that edge, right? It's around a loop at every node, it's totally OK. So I believe that a particular solution will be for these things to be, let's see what did I say? w_1, I'll send one around. w_3 will be a one. w_2 was backwards, it wasn't traveling on w_4. I think that's a solution.

That loop current gives me a solution so let me call this solution, that's the first solution. And if we do these multiplications, of course it's going to come out right. OK, so that's solution number one. A w that works. OK, with that hint, tell me a second w that works. In fact, since there are only two, you'll be giving me the rest of the answer. So that was a loop current that went around that loop. Tell me another one. Well, we're a big class but everybody's seen it. How about around that loop? So that would be another thing and it's pretty clearly not the same as this one. So I'm really truly finding two independent solutions. And what is that second solution? Let me maybe just put it in here. And they're both giving me [0, 0, 0, 0]. And now, what is this number two solution, the loop number two? One and two are not involved now. Number three, see I'm usually sending it counterclockwise, that's the sort of convention. But you know, of course you just have to follow some convention in connection with the arrows. So that would go backwards on three, I think. Forwards on four, and backwards on five. So that would be solution number two. OK. Now, tell me what all the solutions are. I found two particular solutions, two particular loop currents, particularly easy. What would be all the solutions to Kirchhoff's current law, A transpose w equals zero? Every w now since I've found the right number, every w will be a combination of those two.

Ah, well wait a minute. Have I got them all? I should have thought, what about current around the big loop? That would certainly satisfy Kirchhoff. Plus one, one, so why is this not number three? Around the big loop I have a one and then a one on the fourth position. Backwards on five, backwards on two. And so there is number-- So I'll put number three with a question mark. What's up with that guy? You know, unless mathematics has got to close up shop, this better be a combination of those. And of course, it is. If I send something around the top loop and something around the second loop and add them together, they'll cancel on the middle edge there and produce number three. So this is probably just the sum. If I add that one to that one, I think I get number three. So number three is true. It's a solution but it's not a new one. OK. That was simple, right, once we saw that loops gave the answer. But, it's, actually it's quite important and appears everywhere. In fact the theory of electrical networks, current laws and so on. I mean that used to be a, like, basic course in electrical engineering. There was a text by Professor Ernst Guillemin, I remember. It's sort of not so central to the world any more. And now-- Bu the structure is just right somehow. And what I wanted to say is you could take, in those days you maybe took loop currents as the unknowns. You could think of currents in the loops as your principal unknowns. We don't do that now.

But, oh, there's, yeah it comes up again. Knowing all the solutions to A transpose w equals zero, well, you'll see, what's ahead? It will be the continuous analog of this, where I have flows, not just around a graph, but in a region. And Laplace's equation is going to come up, and the equations of divergence and gradient, all that great stuff is coming in Chapter 3. And this is somehow the discrete case. These loop currents, that has something to do with the curl. And these differences that A takes has something to do with gradients. And this, Kirchhoff's current law has something to do with divergence. Can I just say ahead of time, what we're doing is really good to see and get it because then you have a way to understand vector calculus. This is discrete vector calculus we're doing. OK. Now, it's just right. Forgive me for my sermon here. Alright. Now, may I bring the pieces together finally? May I bring the three steps together into, well first you would say bring them into one equation. Put the three steps, combine the three steps into one. OK.

So, what happens if I do that? I take that last step A transpose-- f is A transpose w. So now I'm going to get one equation. Which is the equation that's going to have the stiffness matrix in it, A transpose C A. It's the conductance matrix. And it's the equation that a big finite element code, a circuit simulation code-- It's the matrix they have to find and work with. And those codes are enormous, and SPICE by the way is the sort of grandfather of circuit simulation codes. Somebody at Berkeley had the sense to see hey, we've got giant circuits now. Modern circuits have thousands of elements. And you can't do it by eye the way we can do this one by eye. You've got to organize it and write a code, and SPICE is the start. So one way to do it is to end up with one equation. So that was f equals A transpose w. I'm now going, I'm just assembling the whole loop. But w is Ce. So that's A transpose Ce, but e is b minus Au. Nothing new there. Nothing new maybe except that it involves both the f and the b, where our earlier examples involved either an f, in masses and springs, or a b in the squares. Now they're both here. So now, that's my equation, f equals this. And now let me just move that to the, let me just recollect it, that's A transpose C A, the big thing that I wanted to see. I'll put it on the left side. And what will I have on the right side? I'll have A transpose C b. And I'll have, f is now coming over to the other side with a minus. Minus f. That's the big equation. You could say that's the fundamental equation of equilibrium.

And you see how it's right? It involves the A transpose C A, which we expect. Over here was the A transpose C b. Now, which problem, before networks, produced an A transpose b or an A transpose C b? That was least squares. And now, so that's the least squares, the b term. The b is there with a couple of matrices because b entered the problem just one step around. It had two more steps to go. It had a C step and then an A transpose step. Whereas f up here is at the very end and now it appears with a minus sign. That's different from springs and masses simply because the sign conventions, you could say. OK, there is the equation. OK, fine. So that's what you have to solve. And actually I think of that as the fundamental problem of numerical analysis. How to solve that equation. More effort, more thinking goes into that than probably any other single problem. In some form.

OK, and here's some part of that thinking. Part of that thinking, and another important possibility, is to keep-- This was like the one equation, the one field problem, this corresponds to the displacement method. Can I use words that I'm not going to use seriously for another few weeks? This would correspond to the displacement method in finite elements. In FEM, FEM for finite element method. That's the displacement method, it's the method that that most people use. It's the standard method. OK. But it's not the only possibility, and let me show you a second one that involves two equations. Because that's also very important, with many other applications, that we will see but haven't seen yet. So my two equations, I really should say two systems, because one equation, that's a vector equation of course. So I have a system of two vector equations, that would go into a block matrix and you'll see it. OK, so what what two unknowns am I going to keep? u, I'm keeping. Displacement, I'm keeping. But I'm also going to keep what I think of as the other important unknown, w. So the other important unknown is w. So now I have two equations and one of them is just that, is just the current, is just the current law, the balance law A transpose w equal f. The only guy I'm eliminating is e. Initially you could say I've a three field system. u, e and w. Now, e and w are so easily connected that I'm going to eliminate e. e is c inverse w. I did it actually here. This w is C(b-Au), that's we know. If I multiply by the C inverse, then I have C inverse w is, and I bring the Au over to the far left and I have only the b left. Everybody saw that, I did a C inverse there to get e off by itself and then I substituted for e, I put in the u part so e's now gone, and the equation is C inverse w plus Au equals b.

That's my two field system. Now, there's a matrix here. This is really nice. I just want to write that. I've got to what I want but now I want to look at it. So I think of a two by two block matrix multiplying [w, u] and giving me [b, f]. And I want to ask you about that matrix. So this is the matrix for when I've only eliminated e and I've still got w as well as u. OK, you can read off what's in that matrix. What goes up here? C inverse, of course. Positive diagonal, usually. Easy. What goes here is a rectangular, that guy is rectangular. A transpose is multiplying w, so it goes down here, and this equation has no u in it. That matrix is worth noticing. And let's spend the rest of this, the remaining minutes, just to think about that matrix. I just want to say, what if I keep w and u, this is an important possibility. And it's important in finite elements which as you know is just a terrific way to solve a whole lot of continuum problems.

And what's it called when I have w and u together, both unknowns, not eliminating w now, it's called the mixed method. So this corresponds to the mixed method in finite elements. It corresponds to the possibility of keeping w and u. Well, and you might say, wait, isn't there a third possibility? And what would that be? Keep only w. Here we kept only u, here we've got them both, this is kind of the mother of all equilibrium equations. And another possibly would be to keep only the w's, to make the currents the primary unknowns. And that, in the finite element structural context, that would be saying make the stresses. So of course it'd be called the stress method. It'd be called the stress method, and Professor Pian in Course 16, now retired, was one of the major developers of the stress method. The difficulty with the stress method, the reason it didn't win big time, is that the w's, if you make them the unknowns you've got a constraint on them, Kirchhoff's-- Not all w's are allowed. Somehow over here all u's are allowed, and that made it much easier to set up the problem. So the displacement method is the 95 percent winner. But there are problems where maybe C inverse is complicated, or C is too complicated and you're better to-- We can see that. That's later in the book, but we want to see now about that matrix.

Well, if I wrote that matrix down, and let me write just so you-- I want to ask you about that block matrix. What's its size? Now just focus entirely on that block matrix, because that's what I care about. What's the size of that matrix? Let's see, what's the size of C? m by m. What's the size of A? n by n. So what do I have here? I've got n rows and m plus n columns, and there's n more rows. It's of size m+n. It's got the n u's and the m w's. Of course, m+n. And the natural size, right. So it's got more unknowns but we'll see, oh in optimization you bring in Lagrange multipliers, that's just exactly parallel to what we're doing here. You have more, you have extra bunch of unknowns. That's what we have. Now what else about that matrix? I was going to write down a very, very tiny model for that matrix. I'll just make it two by two. Here's a model for that matrix where C is just a one and A is just a one. I mean, it's kind of laughable, right? That model, this is the real thing. But it gives you an example to check against.

OK, what's a property of that matrix? It's, again? Symmetric. Good. That's a symmetric matrix. Because what happens if I transpose that block matrix? That A block will flip over here as A transpose, the A transpose block will flip up there as A, what happens to the C inverse block? C is a symmetric guy. In fact, it was just diagonal in our imagination. The key point is it's symmetric, its inverse is symmetric, its transpose is the same. So that's a symmetric matrix. That's a good thing, right? Now we've got a matrix that's symmetric, square symmetric. OK, what's my other question about that matrix? Is it or is it not positive definite, right? We've got to answer that question. Have we got a positive definite matrix? Would all the pivots be positive? Would the eigenvalues be positive? What's your guess? No. That matrix is not positive. No way that a matrix with a zero there, a zero block, or that matrix with a zero number could be positive definite. No, no way. The energy in this guy, this u transpose Au, you remember, would be u_1 squared and u_1*u_2, twice. And no u_2 squareds. And that thing is definitely indefinite. Right? In the u_1 direction it looks good, that's things positive there. But if I took u_1 and u_2 to have opposite signs, and made u_2 big enough then of course this just brings it down. So the graph of that would be a saddle point. The graph of that would be a saddle.

OK, and now here I have the same thing on an m+n size. So what do I have? Actually, you could see. The last exercise is mentally do elimination on that matrix. Mentally do elimination on that matrix. So start with the first m rows. We'll work with those first. What will elimination do, what will the pivots be like, what will happen at the beginning of elimination? When I start with this matrix? Well it meets C inverse right away, that diagonal matrix, and it's extremely happy. Those will be the pivots, right? They're sitting on the diagonals, zero off the diagonals. They'll be positive pivots, I'll have m positive pivots here. And then I get down to where A comes in the picture. So on the last board here, let me just copy this matrix, [C inverse, A; A transpose, 0]. An elimination is going to, it'll be very happy with that. But it's going to put, so it's happy with that row. Block row. It's going to do an elimination to get a bunch of zeroes there and what did it do? This was elimination, this was subtracting, yeah what did it subtract here? It multiplied these pivot rows by something and subtracted from these lower rows and got the zero block. And what did it multiply by? What do I multiply that block row, and this is a perfect, perfect exercise to see how blocks are just like numbers. You can deal with them. What do I multiply that block row by and subtract from the row below to get a zero. You said C A transpose, but I don't think that's it. A transpose C. You've got to multiply by A transpose C. First of all, C A transpose wouldn't be a possibility. Wrong shapes. A transpose C is the four by five, five by five guy. So you multiply A transpose C, that cancels that, leaves the A transpose, when you subtract it gives you a zero, and what does it give you there? What shows up there? A transpose C multiplies at A, subtracts so it's actually what shows up there is minus A transpose C A. Let me write it in there. Minus A transpose C A. So that matrix is exactly what comes from this one. It's exactly what we do when we eliminate w. That's what elimination is. I just eliminated w by getting a zero there. And I got only an equation, but notice the minus. So, final question, what are the signs of the last n pivots? The first m were all positive, and they were sitting on the diagonal already. The last n are not so easy to see, but we can see what sign they have. And what sign do the last n pivots have? Minus. Because they come from a negative definite. Minus A transpose C A is shown up there. So that's the saddle point. Saddle points are, when you have two-field problems, you're talking about saddle points, and the mixed method in finite elements is exactly that. And the tricky part is then with the mixed method, you're sort of not so perfectly guaranteed that the matrix is invertible. Because we have plus stuff and minus stuff. OK, thank you, that's great. And I'll see you Monday all about the exam and review, it's a great chance to think back.