The topic for today is --
Today we're going to talk,
I'm postponing the linear
equations to next time.
Instead, I think it's a good
idea, since in real life,
most of the
differential equations
are solved by numerical methods
to introduce you to those right
away.
Even when you see
the compute where
you saw the computer screen,
the solutions being drawn.
Of course, what
really was happening
was that the computer was
calculating the solutions
numerically, and
plotting the points.
So, this is the main
way, numerically,
it is the main way differential
equations are actually solved,
if they are of any
complexity at all.
So, the problem is, that
initial value problem,
let's write up the first
order problem the way
we talked about it on Wednesday.
And now, I'll specifically add
to that, the starting point
that you used when you did
the computer experiments.
And, I'll write the
starting point this way.
So, y of x0 should be y0.
So, this is the
initial condition,
and this is the first order
differential equation.
And, as you know,
the two of them
together are called an IVP,
an initial value problem,
which means two things,
the differential
equation and the
initial value that you
want to start the solution at.
Okay, now, the method we
are going to talk about,
the basic method of
which many others
are merely refinements
in one way or another,
is called Euler's method.
Euler, who did, of course,
everything in analysis,
as far as I know,
didn't actually
use it to compute solutions
of differential equations.
His interest was theoretical.
He used it as a method of
proving the existence theorem,
proving that solutions existed.
But, nowadays, it's used
to calculate the solutions
numerically.
And, the method is very
simple to describe.
It's so naive that
you probably think
that if you that
living 300 years ago,
you would have discovered
it and covered yourself
with glory for all eternity.
So, here is our starting
point, (x0, y0).
Now, what information
do we have?
At that point all we have is
the little line element, whose
slope is given by f of (x, y).
So, if I start the
solution, the only way
the solution could
possibly go would
be to start off in
that direction, since I
have no other information.
At least it has the correct
direction at (x0, y0).
But, of course, it's not likely
to have the correct direction
anywhere else.
Now, what you do, then,
is choose a step size.
I'll try just two
steps of the method.
That's, I think, good enough.
Choose a uniform step size,
which is usually called h.
And, you continue that
solution until you
get to the next point, which
will be x0 + h, as I've
drawn it on the picture.
So, we get to here.
We stop at that
point, and now you
recalculate what the
line element is here.
Suppose, here, the line
element, now, through this point
goes like that.
Well, then, that's
the new direction
that you should start
out with going from here.
And so, the next step of the
process will carry you to here.
That's two steps
of Euler's method.
Notice it produces a broken line
approximation to the solution.
But, in fact, you only
see that broken line
if you are at a computer if
you are looking at the computer
visual, for example, whose
purpose is to illustrate
for you Euler's method.
In actual practice,
what you see is,
the computer is
simply calculating
this point, that point, and
the succession of points.
And, many programs
will just automatically
connect those points by
a smooth looking curve
if that's what
you prefer to see.
Well, that's all there
is to the method.
What we have to do now is derive
the equations for the method.
Now, how are we
going to do that?
Well, the essence of it is
how to get from the nth step
to the n plus first step?
So, I'm going to draw a picture
just to illustrate that.
So, now we are not at x0.
But let's say we've
already gotten to (xn, yn).
How do I take the next step?
Well, I take the line
element, and it goes up
like that, let's say,
because the slope is this.
I'm going to call
that slope A sub n.
Of course, A sub n is the
value of the right hand side
at the point (xn, yn), and we
will need that in the equation,
-- -- but I think it will be
a little bit clearer if I just
give it a capital
letter at this point.
Now, this is the new point,
and all I want to know
is what are its coordinates?
Well, the x n plus one is there.
The y n plus one is here.
Clearly I should
draw this triangle,
complete the triangle.
This side of the triangle,
the hypotenuse has slope An.
This side of the
triangle has length h.
h is the step size.
Perhaps I'd better
indicate that,
actually put that up so
that you know the word step.
It's the step size
on the x axis,
how far you have to go to get
from each x to the next one.
What's this?
Well, if that slope has this,
the slope An, this is h.
Then this must be h times
An, the length of that side,
in order that the ratio of
the height to this width
should be An.
And, that gives us the method.
How do I get from, clearly, to
get from xn to x n plus one,
I simply add h.
So, that's the
trivial part of it.
The interesting thing is, how
do I get the new y n plus one?
And so, the best way to write
it as, that y n plus one
minus yn divided
by h, well, sorry,
y n plus one minus yn is this
line, the same as the line
h times An.
So, that's the way to write it.
Or, since the computer is
interested in calculating
y n plus one itself, put
this on the other side.
You take the old yn,
the previous one,
and to it, you add h times An.
And, what, pray tell, is An?
Well, the computer has to be
told that An is the value of f.
So, now, with that,
let's actually
write the Euler program,
not the program,
but the Euler-- the
Euler method equations,
let's just call it
the Euler equations.
What will they be?
First of all, the new
x is the old x plus h.
The new y is just what
I've written there,
the old y plus h times a
certain number, An, and finally,
An has the value-- It's the
slope of the line element here,
and therefore by definition,
that's f of (xn,yn).
So, if these three equations
which define Euler's method.
I assume in 1.00 you must
be asked to, at some point,
as an exercise in the term
at one point to program
the computer in C or whatever
they're using, Java, now,
I guess, to do Euler's method.
And, these would be
the recursive equations
that you would
put in to do that.
Okay, let's try
an example, then.
So, what would be a
good color for Euler?
Well, a purple.
I assume nobody can see purple.
Is that correct?
Can anyone in the back of the
room see that that's purple?
Okay.
Sit closer.
So, let's calculate.
The example, I'll
use a simple example,
but it's not entirely trivial.
My example is going
to be the equation,
x squared minus y squared
on the right hand side.
And, let's start with y of
zero equals one, let's say.
And so, this is my
initial value problem,
that pair of equations.
And, I have to
specify a step size.
So, let's take the
step size to 0.1.
You choose the step size,
or the computer does.
We'll have to talk about
that in a few minutes.
Now, what do you do?
Well, I say this is a nontrivial
equation because this equation,
as far as I know, cannot be
solved in terms of elementary
functions.
So, this equation
would be, in fact,
a very good candidate for a
numerical method like Euler's.
And, you had to use it, or maybe
it was the other way around,
I forget.
On your problem set, you drew a
picture of the direction field
and answered some questions
about the isoclines,
how the solutions behave.
Now, the main thing
I want you to get,
this is not just
for Euler's, talking
about Euler's equations.
But in general, for
the calculations
you have to do in this course,
it's extremely important
to be systematic because
if you are not systematic,
you know, if you just scribble,
scribble, scribble, scribble,
scribble, you can do
the work, but it becomes
impossible to find mistakes.
You must do the work
in a form in which it
can be checked, which you
can look over it and find,
and try to see where mistakes
are if, in fact, there are any.
So, I strongly suggest,
this is not a suggestion,
this is a command, that you make
a little table to do Euler's
method by hand, I'd only
ask you for a step or two,
but since I'm just
trying to make
sure you have some
idea of these equations
and where they come from.
So, first, the value of
n, then the value of xn,
then the value of
the yn, and then,
a couple of more
columns which tell you
how to do the calculation.
You are going to need
the value of the slope,
and it's probably
a good idea, also,
because otherwise you'll
forget it, to put in h An
because that occurs
in the formula.
All right, let's start doing it.
The first value of n is zero.
That's the starting point.
At the starting point, (x0,
y0), x has the value zero,
and y has the value
one, so, zero and one.
In other words, starting,
I'm carrying out
exactly what I drew
pictorially only now
I'm doing it arithmetically
using a table
and substituting
into the formulas.
Okay, the next thing we
have to calculate is An.
Well, since An is the value
of the right hand side,
at the point zero one,
you have to plug that in.
The right hand side is x
squared minus y squared.
So, it's 0 squared
minus 1 squared.
The value of the slope, there,
is minus one, negative one.
Now, I have to
multiply that by H.
h is 0.1.
So, it's negative,
I'll never learn that.
The way you learn to
talk in kindergarten
is the way you learn to
talk the rest of your life,
unfortunately.
In kindergarten, we said minus.
Negative 0.1.
n is one now.
What's the value of xn?
Well, to the old
value I add 1/10.
What's the value of y?
Well, at this point, you
have to do the calculation.
It's the old value of y.
To get this new value, it's
the old value plus this number.
Well, that's this plus
that number is nine tenths.
An, now I have to calculate
the new slope at this point.
Okay, that is one tenth squared
minus nine tenths squared.
That's 0.01 minus 0.81, which
makes minus 0.80, I hope.
Check it on your calculators.
Whip them out and
press the buttons.
I now multiply that
by h, which means
it's going to be minus 0.08,
perhaps with a zero after.
I didn't tell you how
many decimal places.
Let's carry it out to
two decimal places.
I think that will
be good enough.
And finally, the last step, 2,
here, add another one tenth,
so the value of x
is now two tenths.
And finally, what's
the value of y?
Well, I didn't tell
you where to stop.
Let's stop at y of
0.2 because there's
no more room on the blackboard.
About approximately
how big is that?
In other words,
this is, then, this
is going to be the old y
plus this number, which
seems to be 0.82 to me.
So, the answer is,
the new value is 0.82.
Okay, we got a number.
We did what we are
supposed to do.
We got a number.
Next question?
Now, let's ask a few questions.
One of the first,
most basic things
is, you know, how right is this?
How can I answer such a question
if I have no explicit formula
for that solution?
That's the basic problem
with numerical calculation.
In other words, I
have to wander around
in the dark to some
extent, and yet
have some idea when I've arrived
at the place that I want to go.
Well, the first question
I'd like to answer,
is this too high or too low?
Is Euler, sorry, he'll forgive
me in heaven, I will use him.
By this, I mean,
is the result, let
me just say something first,
and that I'll criticize it.
Is Euler too high or too low?
In other words, is the result
of using Euler's method,
i.e. is this number
too high or too low?
Is it higher than the right
answer, what it should be?
Or, is it lower than
the right answer?
Or, God forbid, is
it exactly right?
Well, it's almost
never exactly right.
That's not an option.
Now, how will we
answer that question?
Well, let's answer
it geometrically.
Basically, if the solution
were a straight line, then
the Euler method would be
exactly right all the time.
But, it's not a line.
Then it's a curve.
Well, the critical
question is, is it curved?
Is the solution?
So, here's a solution.
Let's call it y1
of x, and let's say
here was the starting point.
Here, the solution is convex.
And, here the solution
is concave, right?
Concave up or concave down,
if you learn those words,
but I think those have,
by now, I hope pretty well
disappeared from the curriculum.
Call it, if you
haven't up until now,
what mathematicians
call it, convex is that,
and the other one is concave.
Well, how do Euler's
solutions look?
Well, I'll just sketch.
I think from this you can see
already, when you start out
on the Euler's solution,
it's going to go like that.
Now you are too low.
Well, let's suppose after
that, the line element
here is approximately the
same as what it is there,
or roughly parallel.
After all, they are
not too far apart.
And, the direction
field is continuous.
That is, the directions
don't change drastically
from one point to another.
But now, you see
it's still too low.
It's even lower as it
pathetically tries to follow.
It's losing territory,
and that's basically
because the curve is convex.
Exactly the opposite
what would happen
if the curve were concave,
if the solution curve were
concave.
Now it's too high,
and it's not going
to be able to correct that
as long as the solution
curve stays concave.
Well, that's probably
too optimistic.
It's probably more like this.
So, in other words, in this
case, if the curve is convex,
Euler is going to be too
high, sorry, too low.
Let's put E for Euler.
How about that?
Euler is too low.
If it's concave, then
Euler is too high.
Okay, that's great.
There's just one little
problem left, namely,
if we don't have a
formula for the solution,
and we don't have
a computer that's
busy drawing the picture
for us, in which case
we wouldn't need
any of this anyway,
how are we supposed to tell
if it's convex or concave?
Back to calculus.
Calculus to the rescue!
When is a curve convex?
A curve is convex if its
second derivative is positive
because the first to be convex
means the first derivative is
increasing all the time.
And therefore, the
second derivative,
which is the derivative
of the first derivative,
should be positive.
Just the opposite
here; the curve,
the slope is, the
first derivative,
is decreasing all the time and
therefore the second derivative
is negative.
So, all we have to do is decide
what the second derivative
of the solution is.
We should probably
call it a solution.
y of x is a little too vague.
y1 means the solution
started at this point.
So, in fact, probably
it would have
been better from the beginning
to call that y1, except there's
no room, y1, let's say.
That means the solution
which started out
at the point, (0, 1).
So, I'm still talking about
at a solution like that.
All right, so I want to
know if this is positive,
the second derivative is
positive at the starting point,
zero, or it's negative.
Now, again, how you can
regulate the second derivative,
if you don't know what the
solution is explicitly,
then the answer is you can do it
from the differential equation
itself.
How do I do that?
Well: easy. y prime equals
x squared minus y squared.
Okay, that tells
me how to calculate
y prime if I know
the value of x and y,
in other words, the 0.01.
What would be the value
of y double prime?
Well, differentiate
the equation.
It's two x minus two y y prime.
Don't forget to
use the chain rule.
So, if I want to calculate
at (0, 1), in other words,
if my starting point is that
curve convex or concave,
well, let's calculate.
y of zero equals one.
Okay, what's y prime of zero?
Well, I don't have to
repeat that calculation.
Using this, I've
already calculated
that it was negative one.
And now, the new thing,
what's y double prime of zero?
Well, it is this.
I'll write it out.
It's two times zero minus two
times negative y, which is one,
two times one times y prime,
which is negative one.
You want to see we are pulling
ourselves up by our own boot
straps, which is impossible.
But, it is not impossible
because we are doing it.
So, what's the answer?
Zero here, two, I've
calculated without having
the foggiest idea of what the
solution is or how it looks.
I've calculated that
its second derivative
at the starting point is two.
Therefore, my solution is
convex at the starting point.
And therefore, this
Euler approximation,
if I don't carry it out
too far, will be too low.
So, it's convex Euler, too low.
Now, you could argue, yeah,
well, what about this?
[LAUGHTER] So, you
could go like this,
and then you can
see it catches up.
Well, of course, if the curve
changes from convex to concave,
then it's really impossible
to make any prediction at all.
That's a difficulty.
So, all this analysis is
only if you stay very nearby.
However, I wanted to show
you, the main purpose
of it in my mind
was to show you how
do you use, it's
these equations,
how to use the differential
equation itself to get
information about the solutions,
without actually being
able to calculate the solutions?
Now, so that's the
method, and that's
how to find out
something about it.
And now, what I'd like
to talk about is errors.
How do I handle, right?
So, in a sense, I've
started the error analysis.
In other words, the error,
by definition, the error
is this difference, e.
So, in other words,
what I'm asking here,
is the error positive?
It depends which we measure it.
Usually, you take
this minus that.
So, here, the error would
be considered positive,
and here it would be
considered negative,
although I'm sure there's a book
somewhere in the world, which
does the opposite.
Most hedge by just using the
absolute value of the error
plus a statement that the
method is producing answers
which are too low or too high.
The question, then,
is, naturally, this
is not the world's best method.
It's not as bad as it seems.
It's not the world's best
method because that convexity
and concavity means that
you are automatically
introducing a systematic error.
If you can predict
which way the error is
going to be by just knowing
whether the curve is
convex or concave,
it's not what you want.
I mean, you want
to at least have
a chance of getting
the right answer,
whereas this is telling
you you're definitely
going to get the wrong answer.
All it tells you is,
and it's telling you
whether your answer is going
to be too high or too low.
We've like a better chance
of getting the right answer.
Now, so the question is, how
do you get a better method?
A search is for a better method.
Now, the first
method, which will
occur, I'm sure, to anyone
who looks at that picture,
is, look, if you
want this yellow line
to follow the white
one, the white solution,
more accurately,
for heaven's sake,
don't take such big steps.
Take small steps, and then
it will follow better.
All right, let's draw a picture.
Excuse me.
My little box of
treasures, here.
[LAUGHTER] So, use
a smaller step size.
And the picture, roughly,
which is going to justify that,
will look like this.
If the solution curve
looks like this, then
with a big step size,
I'm liable to have
something that looks like that.
But, if I take a
smaller step size,
suppose I halve the step size.
How's it going to look, then?
Well, I better switch
to a different color.
If I halve the step size, I'll
get a littler, goes like that.
And now it's following closer.
Of course, I'm
stacking the deck,
but see how close it follows?
I'm definitely not to
be trusted on this.
Okay, let's do the opposite,
make really big steps.
Suppose instead
of the yellow ones
I used the green one
of double step size.
Well, what would
have happened then?
Well, I've started out, but now
I've gone all the way to there.
And now, on my
way up, of course,
it has a little further to go.
But, if for some reason, I
stop there, you could see,
I would be still lower.
In other words, the bigger the
steps size, the more the error.
And, where are the errors
that we are talking about?
Well, the way to think
of the errors, this
is the error, that
number the error.
You can make it
positive, negative,
or just put it automatically an
absolute value sign around it.
That's not so important.
So, in other words,
the conclusion
is, that the error
e, the difference
between the true value
that I should have gotten,
and the Euler value that
the calculation produced,
that the error e,
depends on the step size.
Now, how does it depend
on the step size?
Well, it's impossible to
give an exact formula,
but there's an approximate
answer, which is,
by and large, true.
So, the answer is, e is
going to be a function of h.
What function?
Well, asymptotically,
which is another way
of putting quotation marks
around, what did I say?
It's going to be a constant,
some constant, times H.
[LAUGHTER] It looks like
this, and for this reason
it's called a first order, the
Euler is a first order method.
And now, first order does
not refer to the first order
of the differential equation.
It's not the first order
because it's y prime
equals f of (x, y).
The first order
means the fact that h
occurs to the first power.
The way people
usually say this is
since the normal way of
decreasing the step size,
as you'll see as is you
try to use a computer
visual that deals
with the Euler method,
which I highly
recommend, by the way,
so highly recommended
that you have to do it,
is that the way to say it, each
new step halves the step size.
That's the usual way to do it.
If you halve the step size,
since this is a constant,
if I halve the step size, I
halve the error, approximately.
Halve the step size,
halve the error.
That tells you how the
error varies with step
size for Euler's method.
Please understand,
that's what people
say, and please understand
the grammatical construction.
Since everyone in
the math department
has a cold these days
except me for the moment,
everyone goes around
chanting this mantra.
This is totally irrelevant.
This whole mantra, feed
a cold, starve a fever.
And if you asked
them what it means,
they say eat a lot
if you have a cold.
And if you have a fever,
don't eat very much, which
is not what it means at all.
Grammatically, it's exactly
the same construction as this.
What this means is if
you halve the step size,
you will halve the error.
That's what feed a cold,
starve a fever means.
And, remember this for
the rest of your life.
If you feed a cold, if you eat
too much when you have a cold,
you will get a fever and end up
still having to starve yourself
because, of course, nobody,
when you have a fever,
nobody feels like eating,
so they don't eat anything.
All right, you got that?
Good.
I want all of you to go home
and tell that to your mothers.
You know, that's the way
we always used to speak.
Grimmer ones: spare
the rod, spoil
the child does not mean that
you should not hit your kid.
It means that if you
fail to hit your kid,
he or she will be spoiled,
whatever that means.
So, you don't want to do that.
I guess the mantra today
would be, I don't know.
Okay, so the first
line of defense
is simply to keep having
the step size in Euler.
And, what people do is, if
they don't want to use anything
better than Euler's method, is
you keep having the step size
until the curve doesn't
seem to change anymore.
And then you say, well,
that must be the solution.
And, I asked you on the
problems set, how much would
you continue to have to
halve the step size in order
for that good thing to happen?
However, there are
more efficient methods
which get the results faster.
So if that's our
good method, let's
call this our still
better method.
The better methods
aim at being better.
They keep the same
idea as Euler's method,
but they say, look, let's try
to improve that slope, An.
In other words, since the
slope, An, that we start with
is guaranteed to be wrong if
the curve is convex or concave,
can we somehow correct it?
So, for example, instead of
immediately aiming there,
can't we somehow aim it
so that by luck, we just,
at the next step just lands
us back on the curve again?
In other words, with sort of
looking for the short path,
a shortcut path,
which by good luck
will end us up back
on the curve again.
And, all the simple improvements
on the Euler method,
and they are the
most stable in ways
to solve differential
equations numerically,
aim at finding a better slope.
So, they find a better
value for a better slope,
find a better value than An.
Try to improve that
slope that you found.
Now, once you have the idea that
you should look for a better
slope, it's not very difficult
to see what, in fact,
you should try.
Again, I think most
of you would say, hey,
I would have thought of that.
And, you would be
closer in time,
since these methods
were only found
about around the turn of the
last century is when I place
them, mostly by some
German mathematicians
interested in solving
equations numerically.
All right, so what
is the better method?
Our better slope, what should
we look for in our better slope?
Well, the simplest
procedure is, once again, we
are starting from there,
and the Euler slope would
be the same as a line element.
So, the line element
looks like this.
And, our yellow slope,
A, and I'll still
continue to call it An, goes
like that, gets to here.
Okay, now if it were convex,
if the curve were convex,
this would be too low.
And therefore, the
next step would be,
I'm going to draw this
next step in pink.
Well, let's continue in here,
would be going up like that.
I'll call this Bn,
just because it's
the next step of Euler's method.
It could be called An prime
or something like that.
But this will do.
And now what you do is,
let me put an arrow on it
to indicate parallelness,
go back to the beginning,
draw this parallel to Bn.
So, here is Bn.
Again, just a line
of that same slope.
And now, what you should use
as the simplest improvement
on Euler's method, is take
the average of these two
because that's
more likely to hit
the curve than An will,
which is sure to be
too low if the curve is convex.
In other words,
use this instead.
Use that.
So, this is our better slope.
Okay, what will we
call that slope?
We don't have to
call it anything.
What were the equations
for the method be?
Well, x n plus one is gotten
by adding the step size.
So, here's my step size
just as it was before.
Just as it was
before, the new thing
is how to get the
new value of y.
So, y n plus one should be
the old yn, plus h times not
this crummy slope, An, but
the better, the pink slope.
What's the formula
for the pink slope?
Well, let's do it in two steps.
It's the average of An and Bn.
Hey, but you didn't tell me, or
I didn't tell you what Bn was.
So, you now must tell the
computer, oh yes, by the way,
you remember that An
was what it always was.
The interesting
thing is, what is Bn?
Well, to get Bn, Bn is
the slope of the line
element at this new point.
Now, what am I going
to call that new point?
I don't want to call this
y value, y n plus one,
because that's, it's
this up here that's
going to be the y n plus one.
All this is, is
a temporary value
used to make another
calculation, which will then
be combined with the
previous calculations
to get the right value.
Therefore, give it
a temporary name.
That point, we'll
call it, it's not
going to be the final,
the real y n plus one.
We'll call it y n plus
one twiddle, y n plus one
temporary.
And, what's the formula for it?
Well, it's just going to
be what the original Euler
formula; it's going to be y n
plus what you would have gotten
if you had calculated,
in other words,
it's the point that the
Euler method produced,
but it's not, finally,
the point that we want.
Now, do I have to
say anything else?
Yeah, I didn't tell the
computer what Bn was.
Okay, Bn is the slope
of the direction
field at the point n plus one.
And the computer
knows what that is.
And, this point, y n
plus one temporary.
So, you make a temporary choice
of this, calculate that number,
and then go back,
and as it were,
correct that value to this value
by using this better slope.
Now, that's all there
is to the method,
except I didn't
give you its name.
Well, it has three names,
four names in fact.
Which one shall I give you?
I don't care.
Okay, the shortest
name is Heun's method.
But nobody pronounces
that correctly.
So, it's Heun's method.
It's called, also, the
Improved Euler method.
It's called Modified Euler,
very expressive word,
Modified Euler's method.
And, it's also called RK2.
I'm sure you'll
like that name best.
It has a Star Wars
sort of sound.
RK stands for Runge Kutta,
and the reason for the two
is not that it uses, well, it
is that it uses two slopes,
but the real reason for the two
is that it is a second order
method.
So, that's the most important
thing to put down about it.
It's a second order method,
whereas Euler's was only
a first order method.
So, Heun's method, or
RK2, let's write it,
is the shortest thing to write,
is a second order method,
meaning that the error
varies with the step
size like some
constant, it will not
be the same as the constant
for Euler's method, times
h squared.
That's a big saving
because it now
means that if you
halve the step size,
you're going to decrease
the error by a factor of one
quarter.
You will quarter the error.
Now, you say, hey, why should
anyone use anything else?
Well, think a little second.
The real thing which determines
how slowly one of these methods
run is you look at the
hardest step of the method
and ask how long
does the computer
take, how many of those
hardest steps are there?
Now, the answer is, the
hardest step is always
the evaluation of the function
because the functions that
are common use are not x
squared minus y squared.
They take half a page and
have, as coefficients,
you know, ten decimal
place numbers, whatever
the engineers doing it,
whatever their accuracy was.
So, the thing that controls
how long a method runs
is how many times the slope,
the function, must be evaluated.
For Euler, I only have
to evaluate it once.
Here, I have to
evaluate it twice.
Now, roughly speaking, the
number of function evaluations
will each give you the exponent.
The method that's called
Runge Kutta fourth order
will require four
evaluations of slope,
but the accuracy will be like
h to the fourth: very accurate.
You halve the step size, and
it goes down by a factor of
16.
Great.
But you had to evaluate
the slope four times.
Suppose, instead, you halve
four times this thing.
And, what would you have done?
You would have decreased it
to 1/16th to what it was.
You still would increase the
number of function evaluations
you needed by four, and you
would have decreased the error
by a 16th.
So, in some sense,
it really doesn't
matter whether you use a very
fancy method, which requires
more function evaluations.
That's true.
The error goes down
faster, but you are
having to more work to get it.
So, anyway, nothing is free.
Now, there is an RK4.
I think I'll skip
that, since I wouldn't
dare to ask you any
questions about it.
But, let me just
mention it, at least,
because it's the standard.
It uses four evaluations.
It's the standard
method, if you don't
want to do anything fancier.
It's rather
inefficient, but it's
very accurate, standard
method, accurate,
and you'll see when
you use the programs,
it's, in fact, a program
which is drawing those curves,
the numerical method which
draws all those curves
that you believe in
on the computer screen
is the RK4 method.
The Runge Kutta, I should
give them their names.
Runge Kutta, fourth
order method.
Two mathematicians, I believe
both German mathematicians
around the turn of the
last century, Runge Kutta
fourth order method
requires four slopes,
requires you to
calculate four slopes.
I won't bother telling
you what you do,
but it's a procedure like that.
It's just a little
bit more elaborate.
And you take two of these,
you make up a weighted average
for the super slope.
You use weighted average.
What should I divide that
by to get the right...?
Six.
Why six?
Well, because if all these
numbers were the same,
I'd want it to come out to be
whatever that common value was.
Therefore, in a
weighted average,
you must always divide by
the sum of the coefficients.
So, this is the super slope.
And, if you plug that
super slope into here,
you will be using the
Runge Kutta method,
and get the best
possible results.
Now, I wanted to
spend the last three
minutes talking about pitfalls
of numerical computation
in general.
One pitfall I am leaving
you on the homework
to discover for yourself.
Don't worry, it won't
cause you any grief.
It'll just destroy your
faith in these things
for the rest of your life,
which is probably a good thing.
So, pitfalls, number one,
you find, you'll find.
Let me talk, instead,
briefly about number two,
which I am not giving
you an exercise in.
Number two is illustrated
by the following equation.
What could be simpler?
This is a very bad equation
to try to solve numerically.
Now, why?
Well, because if I
separate variables,
why don't I save a little time?
I'll just tell you what
the solution is, okay?
You obviously
separate variables.
Maybe you can do
it in your head.
The solution will
be, the solutions
will have an arbitrary
constant in them,
and they won't be
very complicated.
They will be one over c minus x.
C is an arbitrary constant, and
as you give different values,
you get, now, what do
those guys look like?
Okay, so here I am.
I start out at the point, one.
And, I start out, I
tell the computer,
compute for me the value
of the solution at one
starting out at one.
And, it computes and
computes a little while.
But the solution, how does
this curve actually look?
So, in other words, suppose I
say that y of zero equals one.
Find me y of two.
In other words, take a
nice small step size.
Use the Runge Kutta
fourth order method.
Calculate a little
bit, and tell me,
I just want to know
what y of two is.
Well, what is y of two?
Well, unfortunately, how
does that curve look?
The curve looks like this.
At that point, it
drops to infinity
in a manner of speaking,
and then sort of comes back
up again like that.
What is the value of y?
This is the point, one.
What is the value of y of two?
Is it here?
Is it this?
Well, I don't know, but I do
know that the computer will not
find it.
The computer will
follow this along,
and get lost in
eternity, in infinity,
and see no reason whatever
why it should start again
on this branch of the curve.
Okay, well, can't we
predict that that's
going to happen somehow,
avoid what I should have.
The whole difficulty is, this
is called a singular point.
The solution has a singularity,
in other words, a single place
where it goes to infinity or
becomes discontinuous, maybe as
a jump discontinuity.
It has a singularity
at x equals c.
This, in particular,
at x equals one here,
but from the differential
equation, where is that c?
There is no way
of predicting it.
Each solution, in other words,
to this differential equation,
has its own,
private singularity,
which only it knows about, and
where it's going to blow up,
and there's no way of telling
from the differential equation
where that's going to be.
That's one of the things that
makes numerical calculation
difficult, when you cannot
predict where things are going
to go bad in advance.
