# Lecture 23: Laplace's Equation

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: OK. So this is a fun lecture. This is the lecture where understanding the gradient, which we did last time; the divergence, that we almost completed; those two pieces now come together into Laplace's equation. Things work in a fantastic way, so I enjoy this one. So the result will be that we have the potential function u that we've spoken about, and take its gradient. Now is coming a stream function, s, that's connected with the divergence. When the divergence is zero, there's something called a stream function, s. And these, the connections between those two functions, u and s, are crucial. And connecting gradient to divergence will take us to Laplace's equation. And then you'll see the special, special role of x+iy in 2-D. So this is in two dimensions.

OK. So let me begin with divergence. This is the divergence of w, of course. And solve it. Just as we wanted to solve Kirchhoff's current law, A transpose w equal zero, so now in the continuous case, we want to find solutions to -- we want to find divergence-free fields. Source-free fields, you could say. That's about the best word we have, divergence-free, meaning there is no divergence.

So what have we got here? We've got one equation in two unknowns. Last time, with the gradient business, we had two equations for u, and only that one unknown. Now we've got one equation, two unknowns, because we're looking at the transpose. So there should be a lot of solutions. Right? If you give me a w_1, then probably I'll be able to find a w_2. But there's a neat way to describe the solutions to that equation, the divergence-free fields. It's to introduce something called a source function -- a stream function, sorry, stream function. OK, and now the idea will be that if I let -- let me try. I take any function s(x,y), any function whatever. So now I try -- let w_1 be ds/dy.

Maybe I should say, maybe I should go this way. I'm looking for solutions. OK. So I take any function s, I take its y derivative to be w_1. And you can tell me what w_2 has to be? So if w_1 is ds/dy, this will be what? This'll be the second -- the x derivative of the y derivative. Right? If w_1 is the y derivative, then when I take the x derivative, I've got this cross derivative.

So what would be the smart choice for w_2? So I'll say then, then w_2 will be -- now I've sort of said what w_1 is, what's the w_2 that goes with it? Well, it's whatever it takes to cancel this. I want this to be, in other words I want it to get zero, so this should be the second derivative s. And what am I going to put now? dydx. I'm using the same very crucial fact that the cross derivative can be in either order.

So what do I see for w_2? Do you see what w_2 is? This is supposed to match that. There's a minus sign. w_2 is what? Minus ds/dx. Right? Minus ds/dx. That's the minus ds/dx. If I take any function s, I let w_1 be its y derivative and w_2 be minus its x derivative, then the divergence will be zero. Because I'll have the cross derivative minus the cross derivative, of course that'll be zero. So these will be my w_1's -- my w's. w_1, w_2, coming from s. So I have what I expect, with two unknowns, only one equation, I've got lots of solutions. I create any function s, and that will be one.

So that's a stream function. And it has a physical meaning, so we get to see it. And it has a fantastic connection to the potential. So up to now -- so this is now the moment pieces come together. Up to now, we had the divergence and the gradient separately. So up to now, what we had was, we started with the potential u, and we went to v -- I called it v for this application -- [du/dx, du/dy]. OK. And now, over on this side, I had the divergence of w equals zero. And that led me to w being, what we just said, ds/dy, and minus ds/dx. OK, two separate pictures. Now we're going to connect the framework, going to give the connection between v and w. And the connection will be the easiest possible; they'll be equal. So the c in our framework is the identity. I want to say, I want to look at our framework when c is the identity. So v and w are the same. In other words, what equation do we get then?

We started with u, we take the gradient of u, that's v. We go over here, and we still have the gradient of u, because this was the v and now it's also the w. And then we take -- what do we take? Minus the divergence of the gradient of u, equals, let's say, f. Shall we say f, to make something happen? Or zero -- I'll say zero. I'll say zero. Yeah, because zero is the one that give us Laplace's equation. The official name would be -- that's Laplace's equation. Do you recognize it?

We'd better write it out properly. The divergence of the gradient is the Laplacian. So this is Laplace. Famous equation. Steady-state type of equation. It goes with steady-state problems. Let's just figure out what this is. So w is, since these are the same, w is now [du/dx, du/dy]. It's the gradient. Now what happens, do you see what happens when I take the divergence of the gradient, the divergence of this w? I just want to write that equation out. It's crucial. I need brilliant colors and lights shining, now, for what goes in there. Because I want to take the divergence of the gradient. So what does that mean? I take the x derivative of the first component, plus the y derivative of the second component. The minus sign is not going to matter, with a zero on the right hand side. I could cancel the minus.

So, but let me say it again. The divergence is, it applies to a vector, I've got a vector. I take the x component of the first -- of w_1. So that'll give me d second u/dx squared. And I take the y derivative -- I should have said derivative -- y derivative of the second component. And the y derivative of that is d second u/dy squared. And I get zero. So that's Laplace's equation. You see, the whole idea is Laplace's equation, in working with Laplace's equation, we have three elements, here. The gradient comes in, the divergence comes in, and equality comes in.

Would you like to see a more general Laplace's equation? Well, a more general Poisson's equation. So underneath Laplace, let me write Poisson. You got the pronunciation, the brilliant French pronunciation there, of Poisson? That was my best. I can't improve on that one.

So it comes in when there's a right-hand side. So the normal Poisson equation is second derivative with respect to x, second derivative with respect to y -- well, actually, it should have a minus there. Really should be a minus there. You remember why the minus is there. The minus is there to make the whole thing positive. Right? That sounds crazy, that the minus makes it positive. But these second derivatives are negative definite, as always, and the minus makes them positive definite. So I don't remember whether -- maybe I often include the minus over here -- equal f(x,y). So there's a source. Poisson has a source term. Laplace doesn't.

And just while I'm talking about this framework, if there was a c(x,y), so this would be or. I'll put or. The more general one would be the x derivative, because I'm taking the divergence, of a c(x,y)du/dx, and the y derivative of a c -- so you see the difference. I'm now allowing some variable conductivity. Variable whatever, variable material. du/dy equals f, again.

So that would be the more general one. I don't think we plan to study that. Well, that's not the most general, I could have more and more things there. But that shows you a variable material. Yeah, that material is variable. I would use the word -- what word would I use? It doesn't depend on the direction. I'm using the same c(x,y) in the x direction and the y direction. Therefore in all directions. And I didn't come prepared with that word. What's the word for when it doesn't depend on the direction? Isotropic! Thanks. Isotropic. So that's isotropic.

So that's really our framework there. At least for isotropic materials. And then we could have more general with anisotropic materials. That would be fun. All of those things are fun. But Laplace's equation is the most fun of all. So let me take f to be zero, c to be one, get back up to Laplace's equation, and begin to make connections. Begin to make connections. OK.

The beautiful connection is the one right here. When v and u are the same, when v and w are the same, then I just read off. If v is the same as w, then how is the potential function, which is on the left side, connected to the strain function, which is coming from, any time div w is zero, I've got a stream function in 2-D, here. The connection is just, those two match. du/dx is the same as ds/dy, and du/dy is the same as minus ds/dx. You see that the two sides of our world are coming together. We're dealing with flows that are both gradient flows, they come from a potential, you could often say potential flows, I see the word ideal flows coming in. These are very special flows. So aero couldn't work entirely with these flows, of course. These are such ideal flows. Proper aerodynamics, you've got shocks, you've got all sorts of stuff going on. But in a region where everything's beautiful, then you get back to this, total steady state, steady flow, steady potential flow. We've got those equations that connect u on one side with the divergence business, the stream function on the other side. So I want to focus on these. Actually, I mean, so the heart of Laplace's equation is in there.

OK. First, do you know the names of those two guys? I shouldn't call them guys, they're the greatest mathematicians ever. Maybe after Gauss. Do you know whose names are associated with those two equations? Well, Lagrange was great. I'm not saying anything about Lagrange. But he didn't do this. So two, one French and one German. So the French guy's name is Cauchy. And the German is -- so these are Cauchy, and the German is a really fantastic guy. Anybody know his name? Cauchy-Riemann. Yeah. The other name is Riemann. Cauchy-Riemann equations, that connect the two pieces, u and s. And they're the subject of an enormous theory that we'll just touch on here. OK. And we'll see them graphically, and we'll find solutions.

So this is one way to pose our problem. Notice something here. I think that if we have these equations, a solution u should satisfy Laplace's equation. Because this equality will take us around the loop. So do you see that if I could solve these two -- here's the point. I'm going to get Laplace's equation solved by u. Laplace's equation will also be solved by s. The stream function. So what's going to happen is, I get two solutions. A pair of solutions. Laplace's equation, solutions to that come in pairs, u and s. So we get them two at a time. And they're connected in this remarkable way.

Let's see, can you see that u will satisfy -- this is the key to everything. Does u satisfy Laplace's equation? Sure. I take the x derivative of that, and I add to the y derivative of that. Do you see, it works. The x derivative of this, plus the y derivative of this is exactly the cancellation of the cross that I wanted. So I do these, I combine those into Laplace.

Shall I just go through that verbally again? I take the x derivative of this, which gives me the cross derivative of s. This asked me to take the y derivative, so I get the cross derivative again. With the minus sign, they add to zero. I just want to point out that also, s satisfies Laplace's equation. Can we do that one? I claim that also, the stream function solves Laplace's equation. Because we want the x derivative of ds/dx. So ds/dx is minus this. Do you see what's happening? When I take the x derivative of ds/dx, I get minus the cross derivative of u for this guy. It's the y derivative of this, which is plus the cross derivative of u. They cancel. So u and s are just together.

Oh, let's find some solutions. They're great to find. And then draw them. OK, can I find some solutions to Laplace's equation. And I'm going to find them in pairs. So I'm going to have a list of u's and their corresponding s's. OK. These are solutions to Laplace. These are, solve Laplace's equation. So we've got Laplace's equation in our minds. Actually, furthermore, they solve Cauchy-Riemann. Because they're going to be connected by our Cauchy-Riemann equation. So, solve Laplace and Cauchy-Riemann.

OK. Suppose I take u(x,y)=x. I'm going to start with an easy solution. That certainly solves Laplace's equation. You've got Laplace's equation in mind? Let me write it up here again. u_xx+u_yy=0. I take the chance to write it again, to do it in this little bit shorter notation, just subscripts instead of partials. And also, s_xx+s_yy=0. But most of all, the Cauchy-Riemann that connects the two.

Well, does u=x solve Laplace's equation? Of course it does. The second x derivative, if the function is x, is zero. And the second y derivative is very, very zero. [LAUGHTER] So what's s? What's the s that goes with it? It'll be simple, too. So the s -- so u is x, right? I'm starting with this x. So du/dx is one. So what do you figure s is? If du/dx -- see, u is just x itself, so du/dx is only a one. That derivative was easy. Then ds/dy is supposed to be one, and ds/dx is supposed to be zero, I guess. Do you see what s is? y. S is y. s is y. Of course, that solves Laplace's equation, too, and it solves Cauchy-Riemann. The x derivative of this is the y derivative of that. One equal one. And the y derivative of that is minus the x derivative of that, zero equal zero.

OK, so that's an easy one. I'm going to go up a level. I want to take a second degree. So my next guy in the list will be -- a pair, it's a list of pairs -- will be x squared minus y squared. First of all, it better not be in that list unless it solves Laplace's equation. And then if it is, we'll find an s. So plug it in mentally, can you plug this into Laplace's equation? What's the second x derivative of this function? Two. Right? xx brings down a two. What's the second y derivative? Minus two, from this term. And then put them into Laplace's equation, two minus two. Correct. Zero.

All right. Now I'm looking for the s that goes with it. The other one in the pair. OK, maybe I'd better think through what -- so this is supposed to give me the s, du/dx -- let me copy Cauchy-Riemann here, so we can just focus entirely on that board. So du/dx, this is 2x in my example. du/dy is minus 2y. So what am I learning? ds/dy should be 2x. ds/dx should be 2y. There are minus signs on both there. What's s? Do you see s? The y derivative is 2x, the x derivative is 2y, and that stream function is 2xy. Right? 2xy. Because the x derivative of this is 2y, and the y derivative of this is 2x. And we saw 2xy last time also. And of course, it solves Laplace's equation easily. Plug that in, the second derivative is zero. The second x derivative is zero, second y derivative is zero, everything. So that's a pair. This is a nice pair.

You want to shoot for third degree? We could maybe figure out third degree, just by jiggling it. After that, we're going to need an idea to get up to fourth degree. Let me try third degree. Cubics, now. So I'm looking -- first I just want to get somebody here. So it's some x cubed. And then I'm going to need some more stuff, because x cubed by itself certainly won't work. I need something more. And I want to plug it into Laplace's equation and figure out what should it be? OK, so when I plug this into Laplace's equation, what do I get? Let me do Laplace's equation over here, to try to get the u of degree three. So what's u_xx, so far? 6x, right? Bring down, we've got 3x squared, then we get 6x, so I've got a 6x. And I'm looking for -- so u_yy should be minus 6x to cancel that.

So what do I want there? What do I need? I need a minus, I'm sure of that. So the second y derivative should be this 6x deal. What do I want? 3xy squared? That sounds good. Let me write it down and see if it is good. OK. The second y derivative. Yes. We'll bring down a two, and then the y's will disappear and I'll have the minus 6x. Golden. OK, that's great. That's great. Is that correct? I mean, it's great, but is it right? Yes. Yes. OK. Now, you have faith that there's another one? Well, yeah, there is another one. Cauchy-Riemann never let us down. There will be an s that'll go with that, that'll solve a Cauchy-Riemann equation, and it'll look like it. And I think, I think -- and I just sort of reverse x and y to get another one, because if I exchange x and y, I'm still OK with Laplace's equation. I think something like 3yx squared minus y cubed. If that worked, then this one should work, too. Because I just switched x and y, and I think it'll work right here. The second x derivative will be 6y, and the second y derivative will be minus 6y. I think that's good. OK.

Let's put this list on hold for a moment. Something's -- obviously, there's some pattern here that we've got to locate. Can I put it on hold for a moment and take, for example, the graph of this one. And I want to draw the pictures. Before I get a complete list, I want to draw the pictures of these functions. And what do I mean by pictures? I mean draw the -- so now I'm taking the u to be x squared minus y squared, and the s to be 2xy. And I want to draw those, I want to draw the vector field of the gradients of those guys. OK, so this is the u -- I want to draw -- this is the potential x squared minus y squared. So what are they equipotential curves? So this is now -- I'm drawing the flow. And to draw the flow, I draw the curves on which the potential is a constant. x squared minus y squared equal constant. So what kind of a curve is x squared minus y squared equal constant? It's a hyperbola. It's a hyperbola.

So x squared minus y squared equal, let's take one, for example. As one constant. So x=1 will be on the curve, when y is zero. And then what else will be on the curve? If x is a little bigger, like two -- so here's (1, 0). That point is certainly -- x squared minus y squared is one for that. Suppose I go out to x=2. What should y be then, to make this right? Where's the curve going? When x is two, what is y? Square root of three, plus or minus. So square root of three is something like this, up or down. It's a curve, like so. It's a hyperbola.

And now, if I change c to four, let's say, then it'll go through (2, 0), and it'll go up this way. And if I change x to something very small, it'll still -- oh, there's a Greek word, asymptotes. Oh, yeah. What do I get if -- the asymptote is when this is zero. Yeah. When that is zero, what's my curve? What are x and y? They'll be the same. x will be y, or minus y. I'll be on that straight line, or on this straight line. So all these other hyperbolas are kind of asymptotic, whatever the word is. Right, do you see them? As a bunch of hyperbolas? And actually, more hyperbolas -- well, yeah. Let's see, back when I had a one there, I took x and y to be positive, and I got that hyperbola. But since I'm squaring them there, also these hyperbolas are here. So these same guys are on that side of the picture.

Those are the equipotentials. So these are the equipotentials. OK.

Now, let me draw s. So those will be the equi -- no, I don't want to say equi-stream functions. That's awkward. So now, I want to draw s equal constant, like one or whatever. So I've drawn this with a whole lot of constants, and now I want to draw the other guys. What do those curves look like? And what's their name? A curve on which the stream function is a constant has a nice name, streamline. So now I'm going to draw the streamlines. And what are the streamlines? The streamlines will be the curves that the actual material flows. If you drop a leaf into this flow, and you watch it, it'll flow along a streamline. And we can draw those lines.

So what are those? 2xy=1, or the equation y=1/(2x). That's also a hyperbola, right? That's also a hyperbola. This is a fantastic picture, in which we have two sets of hyperbolas. We're second degree, that's why we're getting two hyperbolas. I'm not going to tackle drawing -- MATLAB could do it -- drawing the equipotentials and the streamlines for this guy. Oh, but I'm willing to tackle this one. What are the equipotentials and the streamlines for the easiest one in the list, there? Can I just draw that one? Because it makes a point very clear, that we'll see when we draw these. Okay, so what's the picture, the corresponding picture? Here is the xy-plane again. What are the equipotentials for this pair? And the streamlines. The equipotentials are x equal constant, what are those? Those are lines, vertical lines. So the equipotentials are just vertical lines. Equipotentials, x equal a constant. And what are the streamlines? Horizontal lines. Streamlines go this way. And what's the great point about these? These are the streamlines, s equal constant. And of course, what do you notice here? They're perpendicular. The streamlines are perpendicular to the equipotentials.

And why? It's because -- you remember we talked about, what does the gradient mean? Which way does the gradient point? It points perpendicular to these equipotentials. And in this case, all these equipotentials are parallel, and the perpendicular lines are the streamlines, and they're all parallel. Now over here, we haven't got straight lines. but we still have the beautiful figure. Now I'm ready to tackle it. I'll draw these curves. They're hyperbolas, like y=1/2x. If I just make that y=1/2x. That's a line that comes down this way. Let me try to draw it. I'll use dashed lines. Of course, as x gets bigger, y gets smaller. But y never makes it to zero, because if y was zero, no x would work. But if I change that one to to a four, I've got a bigger -- this is coming out here. If I change that to something very small, I'll get one that's coming --

That's what these equations say. That if I take the gradient of u -- yeah, let me try to do that. So I take the gradient of u. That's [du/dx, du/dy]. So if I have a vector in 2-D, [du/dx, du/dy]. And I want to rotate a vector by 90 degrees. What's the result? Suppose I have a vector [a, b], and I'm looking to rotate it. What's the vector that goes that way? If that vector is [a, b], that vector should be what? You may not have done this, but it's worth just noticing, and you won't forget it.

It's got to have a zero dot product, right? So I'm looking for a vector, here. This went out a and up b. I'm looking for a vector there that's perpendicular to this vector. So what should it do? What am I going to put there? A b. And what am I going to put -- oh no. It went backwards, sorry. When I put there, I should have put -- minus b. And what goes there? a. Yeah. That's the perpendicular one. Right? That's the 90 degree rotation. And that's what Cauchy-Riemann is doing for us. I take the gradient, I take this vector. Now I rotate by 90 degrees, means I reverse these, reverse the sign, and I've got the gradient of S. Or minus the gradient of S. I won't say whether the rotation is plus 90 degrees or minus 90 degrees. This can remain an exercise to see it slowly and clearly. I'm happy if you see it in the picture there. And of course, you saw it in this picture, here.

So this is a moment, then, to take a little pause. Because we've got ten minutes for the great event. We've got the general idea. The u equal constants and the s equal constant. These two families of perpendicular curves, one telling us where level sets for the potential, the other telling us the direction of the flow. The flow goes perpendicular to the level sets. It's just wonderful. And now I would like to get the pattern that's going on here and complete that list. OK, well that pattern, like, comes out of the blue, I have to admit. You might sort of recognize it, that something -- here is, obviously, stuff to the first power. Here we've squared something to get here. Here we've cubed something. You sort of recognize these numbers, 1 3 3 1, or one, minus three, whatever. We're taking powers of something. And that something is what comes out of the blue. It's this quantity, x+iy. Complex variables. Everything here was real until this moment. And then I'm saying that the complex number i, the imaginary number i, the square root of minus one. Which of course, it's not a real number, but it has the property, whenever we see i squared, we write minus one. So then, we know how to deal with it. OK. Sort of. Anyway, so that complex number I'll call z.

And here's what I think. I think that these two pieces are the real and the imaginary parts of z. Now, these two pieces are the real and the imaginary parts of z squared. These two pieces will be the real part and the imaginary part of z cubed. And if we check that, and then we begin to see, why should these satisfy Laplace's equation, we'll have the whole pattern. It'll just be x+iy, fourth power, fifth power, sixth power. We can make a complete, infinite list of pairs of solutions to Laplace's equation.

So let me just check what I said about the squares first. How do you do x+iy squared? Because that's what I believe we're seeing in the quadratic list. So I claim that if I take x+iy squared, just do it normally, I get x squared, and I get 2ixy, and I get i squared y squared. Right? I just squared it, following normal algebra rules. Now what's the real part? What's the real part of this x+iy squared? x squared, this is real. And this is real, because i squared is minus one, this says minus y squared, that's our guy. And the imaginary part is 2xy. The imaginary part is the part that multiplies i.

So by some magic -- next time is the fun of exploring this magic -- we get solutions to a real equation. We get two solutions to a real equation, by working with this complex thing, x+iy, and taking things like -- now, if I go to x+iy cubed, well, let me just say it'll work. We'll have -- it's like, if you cube something, you're going to see 1 3 3 1. You'll have an x cubed, and a 3x squared iy, and a 3xiy twice, and a one of the iy cubed. And then you look to see what part is real, and you say, x cubed is real. And i squared is the minus, so I have minus 3xy squared. Golden. And you look for what part is imaginary, and you see the 3x squared y, and you see the i cubed -- so what's i cubed? -- is minus i. So that's an imaginary term, with the minus we wanted.

So now we've got the whole thing. We've got solutions to Laplace's equation, coming from all the powers. This is now the moment to celebrate. Because we've got a giant family of solutions to Laplace's equation. We've got the real parts. So u is the real part of x+iy to any power. And s will be the imaginary part. And I claim that, just as it held for n equal one, two, three, for every n, these will be solutions to Laplace's equation. Not only that, they'll be connected by Cauchy-Riemann, so they'll be the potential and the stream function for a flow. And we've got lots of them.

And, why don't we get even more, because we have a linear equation here. So what are we allowed to do, if we have solutions to a linear equation, what are we allowed to do with those solutions to get more solutions? Combine them. I can take any combination of these guys. I can take "or." "And," "or," I don't know which, should I put "or," "and?" The real part of any combination of these. So I could take a combination of, I can take coefficients c_k, or c_n, maybe I should say c_n, (x+iy) to the nth. So if I take a combination of solutions, with coefficient c_n, I still have solutions.

And what will be the twin solution, or the stream function that goes with this u? So this is another u, this is virtually a complete family of u. Because we have all these coefficients to choose. And what will be the s? So what's the corresponding s, then? It's the imaginary part of -- what? -- the same thing. We're just taking that same combination of the special ones. So the special ones were (x+iy)^n. And the combinations are those. Yeah. These are fantastic solutions.

And now, since I'm blessed with two more minutes, I get to make them much easier. Because already when I got up to x cubed and y cubed, they're looking messy. You say, okay, great to have all these solutions, but how am I going to use them? They're getting more and more complicated as n increases. But switch to polar coordinates. Make the same list in polar coordinates. So again, I'm just going to list the same guys in polar coordinates r, theta. Then you'll see the pattern, then the pattern really jumps out. So what is x in polar coordinates? If I switch from x, y, rectangular coordinates, to r, theta, polar coordinates, x is r*cos(theta). And y is r*sin(theta). Well, so far it doesn't look any easier. x and y look fine.

But let me go to the second one. So this is now r squared cos squared theta, right? Minus, this is r squared sine squared theta. Trigonometry comes in. I have r squared cos squared theta, minus r squared sine squared theta, I want to simplify that. So it's got an r squared, and it's got a cos squared theta minus sine squared theta. Anybody remember that? cos(2theta)!

And this one. Well, what do you think is coming? What do you think is coming here? I have 2r*cos(theta) times r*sin(theta). I have two, I've got an r squared, again, times 2cos(theta)*sin(theta). So what's 2cos(theta)*sin(theta)? sin(2theta). You get it. sin(2theta). And you know what's coming next, right? You know that now, the whole family in polar coordinates -- what's the nth power? We can now write down the nth one in this list. It is r^n -- for the nth pair, r^n times cos(n*theta), and r^n sin(n*theta). So those are the twins, the u and the s that we get if we use polar coordinates.

So that's just terrific. Now we have a whole lot of solutions to Laplace's equation. And we have, don't forget, all combinations of them. And we're really ready to go. So Friday we'll be solving Laplace's equation in the cases that we can do it, by pencil and paper, by chalk. And then, after that, comes solving Laplace's equation by finite differences and finite elements.