1
00:00:01,410 --> 00:00:07,350
Okay. Hello, everybody. Today's a bit different in that I'm going to spend the time showing you fun,
2
00:00:07,350 --> 00:00:12,210
which has been a centre of my research and that of the people around me for the last ten years or so.
3
00:00:12,930 --> 00:00:16,530
It's relevant to scientific computing in a very central way.
4
00:00:16,800 --> 00:00:21,810
It's all about a continuous analogue of MATLAB, and obviously you're all fluent in MATLAB.
5
00:00:22,680 --> 00:00:26,610
MATLAB became successful because of vectors and matrices.
6
00:00:27,000 --> 00:00:31,440
The idea of fun is to overload those ideas to functions and operators.
7
00:00:31,710 --> 00:00:38,490
So I'm curious how many of you have tried to have fun before and how many of you have heard of it before?
8
00:00:38,490 --> 00:00:43,080
The last day or two? Yeah. Okay. So this should be a life changing experience.
9
00:00:44,640 --> 00:00:49,920
There's a handout, and I'm actually going to tape a lot of these commands and talk about them as we go.
10
00:00:50,340 --> 00:00:58,910
So you definitely need a copy of that. Let's begin, however, by looking at the website a little bit.
11
00:00:59,180 --> 00:01:02,270
So you get Google to have fun and this is what you find.
12
00:01:03,320 --> 00:01:05,450
We're rather proud of the website. It's pretty.
13
00:01:06,600 --> 00:01:13,500
If you want to learn how to use the thing, you go to docs and you'll find there a user's guide tab fun guide.
14
00:01:13,980 --> 00:01:21,460
So if you click on the Chub Fund Guide. You'll see that chapter one is getting started with fun.
15
00:01:21,470 --> 00:01:27,280
So that's what you need to get started. And then there's 16 or so chapters on different subjects.
16
00:01:29,400 --> 00:01:33,780
Another key place to go at the Chip Fund website is the tab called Examples.
17
00:01:34,940 --> 00:01:41,030
Which is a collection of a couple hundred examples of how to use Turbofan in different application areas.
18
00:01:41,300 --> 00:01:47,220
So on the left you see a table of contents that pretty much looks like a numerical analysis textbook.
19
00:01:47,480 --> 00:01:55,920
And in each of those areas, you'll find different codes that called have fun interspersed with text to illustrate various things.
20
00:01:55,940 --> 00:02:03,230
So for example, if we go to ordinary differential equations linear, I find there 18 examples in that category.
21
00:02:03,710 --> 00:02:10,090
Each one would be an m file that has been published to illustrate this or that.
22
00:02:10,100 --> 00:02:13,250
So the first one says Fourier Spectral Collocation.
23
00:02:13,730 --> 00:02:21,270
If I go to that. I see various things going on with various figures all in fun.
24
00:02:23,290 --> 00:02:25,870
Maybe the other tab that's fun to click on is about.
25
00:02:28,130 --> 00:02:32,990
So if you go to a bout, you learn something about the history of the project and the people involved.
26
00:02:33,680 --> 00:02:44,780
For example, if I go to people, you can see photographs of the various regrettably armed men who've been involved in this project over the years.
27
00:02:47,380 --> 00:02:51,460
Okay. So I want to show you what the thing does, how it works.
28
00:02:53,200 --> 00:03:00,370
So we go into MATLAB, of course, and oh, I should have just emphasised the download situation.
29
00:03:00,370 --> 00:03:05,350
So if you're at the website and click on download, it takes you to.
30
00:03:06,710 --> 00:03:09,260
Some basic information. In the simplest way to download.
31
00:03:09,260 --> 00:03:19,550
The thing is, as it says there, to paste this text right here into your MATLAB command window, and then it will it will do the right thing.
32
00:03:19,760 --> 00:03:24,680
That will give you the standard branch that has been released and is much trusted.
33
00:03:24,890 --> 00:03:28,940
But if you want the latest, you go to GitHub and get the development branch.
34
00:03:28,950 --> 00:03:32,840
So let's see if I click on that icon there at the upper right.
35
00:03:33,350 --> 00:03:40,160
It takes me to GitHub, which is the standard place that open source software is the repository.
36
00:03:40,370 --> 00:03:43,849
So you can see all sorts of things if you want to know what's happening in often
37
00:03:43,850 --> 00:03:48,890
you can click on issues and find all sorts of the latest things going on.
38
00:03:49,100 --> 00:03:53,630
I think when I asked you before, many of you had used GitHub, right? Raise your hand if you've used GitHub.
39
00:03:54,410 --> 00:03:57,830
So that's amazing. Okay. So we certainly use it all the time.
40
00:04:03,200 --> 00:04:07,640
Okay. So let's play with fun and give you a sense of what it can do.
41
00:04:07,910 --> 00:04:12,290
So I'll start following the hand out there with basic Jeb funds.
42
00:04:12,530 --> 00:04:16,610
And the first thing I'll do is create a JAB fund without really telling you what that means,
43
00:04:17,060 --> 00:04:20,330
because we'll immediately modify it to show something more interesting.
44
00:04:20,870 --> 00:04:30,740
So we've just created the function X on the interval from 0 to 10 and now let's say ethical sine of x plus sign of x squared.
45
00:04:32,510 --> 00:04:37,070
So now whatever we've done, it's clearly made something that looks like that function.
46
00:04:38,190 --> 00:04:44,430
And the point of turbofan is to be able to compute with functions in a fast and accurate way, functions like this one.
47
00:04:45,330 --> 00:04:52,890
Now, of course, mathematically we know what that means, but in fun, numerically, that's actually represented by a polynomial.
48
00:04:53,220 --> 00:04:58,110
It's not a sign, it's a polynomial. If we wanted to know something about that polynomial.
49
00:04:59,570 --> 00:05:05,300
The length of F tells us that it's a polynomial interpolate through 119 points.
50
00:05:05,510 --> 00:05:09,080
So it's in fact a polynomial of degree, 118.
51
00:05:09,680 --> 00:05:14,030
And if you wanted to see the points, you could say this.
52
00:05:14,570 --> 00:05:22,940
So fun is all about interpolation by polynomials on clever grids that are good for interpolation.
53
00:05:22,970 --> 00:05:26,330
These are chubby chef grids which are clustered near the end points.
54
00:05:26,570 --> 00:05:32,180
So we're interpolating by a polynomial of degree 118 in a suitably clustered grid.
55
00:05:32,180 --> 00:05:36,079
So that interpolation is a reliable process all the time.
56
00:05:36,080 --> 00:05:40,730
Chep fine is doing that, but in principle you don't need to know that you're just using it as a calculator.
57
00:05:42,280 --> 00:05:50,019
So for example, if I say G equals E to the X each of the F, it makes a new function if I plot it.
58
00:05:50,020 --> 00:05:55,450
There it is. So you see, it feels like symbolic computing, but it's actually numerical.
59
00:05:56,320 --> 00:06:01,390
And as you know, from symbolic computing, symbolic computing is fantastic when it works.
60
00:06:01,690 --> 00:06:04,810
And often it gets sort of grinds to a halt when things get complicated.
61
00:06:05,080 --> 00:06:12,470
The point of cheap fun is to not grind to a halt. So just to give you a bit of a hint about what's going on here.
62
00:06:12,800 --> 00:06:17,900
If I look at the length of G, it's 914.
63
00:06:18,830 --> 00:06:23,210
So that means this curve here is a polynomial of degree 913.
64
00:06:24,620 --> 00:06:33,189
Now suppose I say the length of g times g. Standard MATLAB notation.
65
00:06:33,190 --> 00:06:42,549
Of course, the times in MATLAB that would mean the component wise product of a vector in tetfund by analogy, instead of a vector we have a function.
66
00:06:42,550 --> 00:06:50,710
So it means the position, you know, the in g of x times g of x at each value x, so the length of g times g.
67
00:06:51,340 --> 00:06:58,569
Mathematically, you would expect it to be 1827 because it's a polynomial of degree.
68
00:06:58,570 --> 00:07:02,040
913. But it's not that.
69
00:07:02,970 --> 00:07:11,100
Because what goes on all the time is that the degrees of polynomials are reduced in order to round the whole thing to 16 digit precision.
70
00:07:11,580 --> 00:07:17,340
So the idea of fun is to compute with polynomials, but constantly round them down to 16 digits.
71
00:07:18,680 --> 00:07:23,300
And you can see a bit of how that happens in the next section here, how the constructor works.
72
00:07:24,650 --> 00:07:29,070
So here was f again. Remember, the length of death was 119.
73
00:07:29,090 --> 00:07:40,669
Well, if I say plot coefficients of F. What that will do is show me the coefficients in the actual representation of F and
74
00:07:40,670 --> 00:07:45,170
I think I'll just digress briefly to write one equation on the board about that.
75
00:07:52,070 --> 00:07:57,440
So if you have a function as that sufficiently smooth, for example,
76
00:07:57,470 --> 00:08:05,090
it's enough for it to be Lipschitz Continuous on an interval and by default it's the unit interval.
77
00:08:05,090 --> 00:08:13,790
But it could be any other than the right way to expand f for numerical purposes is as a chubby chef series.
78
00:08:13,790 --> 00:08:23,930
So you write F as the sum from zero to infinity of a coefficient times a the case chevy chef polynomial of x.
79
00:08:26,240 --> 00:08:34,580
So that is a chubby chef series and it's completely analogous to a three series for.
80
00:08:35,560 --> 00:08:41,570
As for periodic functions, Chevy chef is for non periodic functions for AA and vital signs and cosines.
81
00:08:41,960 --> 00:08:50,510
Chevy Chef involves polynomials. The coefficients mathematically are given by a formula which involves a constant two
82
00:08:50,510 --> 00:09:00,590
times an integral from -1 to 1 of f of x t k of x d x divided by one minus x squared.
83
00:09:04,390 --> 00:09:09,070
This is numerically a very effective series with which to represent functions.
84
00:09:09,070 --> 00:09:13,150
And what Cheryshev does all the time is truncate the series to machine precision.
85
00:09:13,390 --> 00:09:15,310
So this function F,
86
00:09:16,270 --> 00:09:33,970
this particular function F is represented as a sum from 0 to 118 of a k t sum k of x for some numerically computed cheryshev coefficients a sub k.
87
00:09:35,240 --> 00:09:47,370
And when I execute plot coefficients. What you're going to see is a plot as a function of k of the size of the coefficient on a large scale.
88
00:09:49,760 --> 00:09:54,380
So mathematically the coefficients go down to zero as K goes to infinity.
89
00:09:54,590 --> 00:10:02,700
Numerically, we're going to stop when we get to machine precision. Okay.
90
00:10:02,700 --> 00:10:09,779
So plot coefficients of F. There it is. You see that this is 118 dots.
91
00:10:09,780 --> 00:10:17,880
I really should plot them as dots. So those are the coefficients of the Chevy Chase expansion.
92
00:10:18,060 --> 00:10:21,390
Mathematically, it would keep going forever. Down to zero.
93
00:10:21,780 --> 00:10:25,740
Numerically, we stopped there when it's gone down about 15 orders of magnitude.
94
00:10:27,500 --> 00:10:32,060
And Tetfund has very slick algorithms for doing this fast and accurately.
95
00:10:34,990 --> 00:10:40,809
Just for fun. Let's make another version of that. I'll say two, and I'll make it equal to the very same function.
96
00:10:40,810 --> 00:10:49,120
So that's what is it? It's a sign of x plus sign of x squared on the interval from 0 to 10.
97
00:10:50,140 --> 00:10:54,340
But now I'm going to give it a special flag double length, which says.
98
00:10:55,600 --> 00:10:59,410
Make this function, except take twice as many Chevy chef points as usual.
99
00:10:59,950 --> 00:11:02,890
And I'm now going to plot the coefficients of F two.
100
00:11:06,890 --> 00:11:12,200
So what you see here is that if you go further, you don't gain anything because of rounding errors.
101
00:11:12,200 --> 00:11:15,560
It's all garbage anyway on a computer in 16 digits.
102
00:11:15,830 --> 00:11:23,299
So Tetfund is constantly finding this point in order to represent a function and in fact we could even superimpose those two plots.
103
00:11:23,300 --> 00:11:29,990
Suppose I say hold on and I'll say plot coefficients of F as red circles.
104
00:11:31,770 --> 00:11:35,990
Then you can see that the adaptive algorithm chops at the right place.
105
00:11:36,530 --> 00:11:42,050
So that's the basis of telephone to use polynomials to do fast computing.
106
00:11:44,950 --> 00:11:51,610
Any questions? I'm going to show you, of course, how we can use them.
107
00:11:53,840 --> 00:11:59,070
Let's say I see on my handout here. I proposed to show you a snake.
108
00:11:59,090 --> 00:12:09,590
I'm not very good at snake, but let me try it anyway. Chap, Snake is a game where I'm not ready.
109
00:12:09,590 --> 00:12:14,569
Really, but let me try. So the idea is that luckily it's going slowly.
110
00:12:14,570 --> 00:12:17,780
I see. So you're. You're supposed to catch this apple, right?
111
00:12:20,280 --> 00:12:30,120
Now it's actually illustrating a mathematical point. So the every time you catch an apple, you get one more dot in the curve.
112
00:12:30,120 --> 00:12:42,600
I'm sorry. It's going so slowly. And the interpolate that's there is based on cheryshev technology so that it is a perfectly good interpolate.
113
00:12:42,840 --> 00:12:48,840
So you see there's nothing really wrong with that curve. And the point is to compare that.
114
00:12:50,400 --> 00:12:54,960
With what would happen if we did. Equally spaced polynomial interpolation.
115
00:12:55,440 --> 00:13:00,650
Why am I spending time on this? But having started, I guess I have to.
116
00:13:00,660 --> 00:13:09,330
So okay. This is relatively straightforward. Now I'm going to do it again, but this time I'm going to do it with the equity flag.
117
00:13:10,410 --> 00:13:14,050
So I'll say chub fun. Chub snake. Sorry. And what is it?
118
00:13:14,070 --> 00:13:20,950
I guess. Equity. So this is the same game except.
119
00:13:24,090 --> 00:13:32,970
Now it's going to be basing the curve on equally spaced polynomial interpolation, which is a very bad method of interpolation.
120
00:13:34,210 --> 00:13:42,930
You see, I'm not very good at this game. Okay.
121
00:13:42,930 --> 00:13:47,130
Now, what you're supposed to see is that as we get more and more dots in our in turbulent.
122
00:13:49,770 --> 00:13:54,450
It oscillates more and more. And if my playing is up to the challenge.
123
00:13:56,230 --> 00:13:59,550
You will see. That it's pretty dramatic.
124
00:14:00,670 --> 00:14:07,090
So in fact, equally spaced interpolation has oscillations that grow by a factor of two.
125
00:14:07,390 --> 00:14:16,930
Every time you add one point. So if I every time we capture one more apple, the wobbles should get twice as bad.
126
00:14:17,260 --> 00:14:20,280
Let's try to get about three more. Okay. And then we'll move on.
127
00:14:27,830 --> 00:14:34,830
Okay. Good. Okay.
128
00:14:34,840 --> 00:14:39,100
We're doing pretty well here. So this is equity based interpolation.
129
00:14:39,100 --> 00:14:48,800
That's the wrong phenomenon. It's called. And the runner phenomenon says you should never interpolate data by polynomials in equally spaced points.
130
00:14:51,090 --> 00:14:59,450
Because the oscillations will be terrible. So if wealthy.
131
00:15:00,020 --> 00:15:06,140
So if Jeb Fund had been based on equally spaced interpolation, we wouldn't have been able to go past degree 15 or so.
132
00:15:06,470 --> 00:15:10,250
But in fact, we can go to degree in the thousands. Okay.
133
00:15:10,250 --> 00:15:18,940
So let's go back to F. There was a F. And let's do some stuff with it, for example, if I say some of that.
134
00:15:19,390 --> 00:15:23,800
Well, in MATLAB, some would add up the elements of a vector.
135
00:15:24,070 --> 00:15:29,559
So here we do the continuous analogue, which is to integrate over the interval where F is defined.
136
00:15:29,560 --> 00:15:33,790
So that will be the integral from 0 to 10 of this function.
137
00:15:33,790 --> 00:15:39,850
F If I say F prime times g. Well, in MATLAB that would be a row vector times a column vector.
138
00:15:40,090 --> 00:15:43,960
In Turbofan it's a row function times, a column function, an inner product.
139
00:15:44,380 --> 00:15:49,510
So again, that's computed by an integral evaluated to 16 digit precision.
140
00:15:50,770 --> 00:15:56,140
If I say norm of F, the idea is if you're a MATLAB user, you automatically know what this means.
141
00:15:56,380 --> 00:15:59,410
You know, this will mean the square root of the integral of the square.
142
00:15:59,980 --> 00:16:03,250
Or if I say norm of f comma, one will get the one norm.
143
00:16:03,520 --> 00:16:06,910
Or if I say norm of f comma inf, we'll get the inform.
144
00:16:10,430 --> 00:16:17,239
Suppose I say come some of F well in MATLAB comes is the indefinite integral operation, right?
145
00:16:17,240 --> 00:16:22,340
Is the discrete cumulative sum. The continuous analogue is the indefinite integral.
146
00:16:22,340 --> 00:16:31,370
So there, there's that. And on the other direction, if I say diff of F well diff in matlab is a finite difference in TETFUND it's a derivative.
147
00:16:34,580 --> 00:16:41,330
So back to EF again. One of the key things of Tetfund and one of the most useful features is root finding, which is really wonderful.
148
00:16:41,360 --> 00:16:49,909
So if I say Roots of F, then it will compute all the points where that function goes through zero and return them as a vector.
149
00:16:49,910 --> 00:16:53,940
Ah, so there's that vector r. And let's guess plot them.
150
00:16:53,940 --> 00:16:57,450
I could say plot Avar against FLIR as dots.
151
00:16:58,950 --> 00:17:03,120
So they're the roots. Very quick way to do global root finding on an interval.
152
00:17:03,240 --> 00:17:13,440
Let's do another example. Let's say Bess equals Jeb fun of Bessel j of zero x on the interval from 0 to 1000.
153
00:17:14,040 --> 00:17:22,880
Okay, so there's a vessel function. If I plot it, you want to see its roots.
154
00:17:22,890 --> 00:17:26,400
Okay. Our equals roots of this plot.
155
00:17:26,400 --> 00:17:36,480
Hold on. Plot R against roots of a sorry against Bess of R as red dots.
156
00:17:38,430 --> 00:17:44,910
So there you see, those are the roots. And I could zoom in. How does this room work?
157
00:17:44,920 --> 00:17:52,690
How is it? I'm not doing very well.
158
00:17:52,690 --> 00:17:56,440
My zooming here. Sorry. Anyway, the roots are all there to high accuracy.
159
00:17:59,710 --> 00:18:06,150
So Japan has this global feature because things are represented globally as polynomials.
160
00:18:06,160 --> 00:18:10,840
It means that any operation you do more or less gets the right answer over the whole interval.
161
00:18:11,770 --> 00:18:17,500
So let's go back to F. And let's make another function.
162
00:18:21,110 --> 00:18:30,410
I'll say hat equals the absolute value of one minus x minus five over five, and I'm going to plot hat as a black line.
163
00:18:31,190 --> 00:18:34,370
Oops, I forgot. What did I do wrong?
164
00:18:36,420 --> 00:18:46,830
I meant one minus absolute on the inside. So plot f I meant hat equals the equals one minus the absolute value of x minus five over five.
165
00:18:52,120 --> 00:18:56,950
So in the first few years, Chevy Fun was all about globally smooth functions.
166
00:18:57,160 --> 00:19:00,880
But of course, in applications, people always have piecewise smooth functions.
167
00:19:01,120 --> 00:19:05,010
So we had to make it so that it could handle piecewise smooth things.
168
00:19:05,020 --> 00:19:09,190
And the black curve is an example of a piecewise linear function.
169
00:19:10,210 --> 00:19:13,550
We call that still a step fun, but each piece we call a fun.
170
00:19:13,570 --> 00:19:17,650
So a chair fun consists of one or more funds that one has to fund.
171
00:19:18,010 --> 00:19:27,050
And then all the applique, all the manipulations of tab funds that you might expect we've tried to implement.
172
00:19:27,070 --> 00:19:31,360
So for example, suppose I say h equals the max of f and hat.
173
00:19:33,100 --> 00:19:39,280
So H is now another type of fun, which should be the maximum of the black curve and the blue curve.
174
00:19:40,390 --> 00:19:45,680
So if I plot it, there it is, and I can do all sorts of things.
175
00:19:45,730 --> 00:19:49,870
Now, what's the maximum of H or what's the standard deviation of H or what's the norm
176
00:19:49,870 --> 00:19:56,710
of H or what's H evaluated at 5.3 or what's the infinity norm of H and so on.
177
00:19:58,300 --> 00:20:04,750
So all of these things are implemented by algorithms that do the right thing from all the pieces to find the maximum.
178
00:20:04,750 --> 00:20:08,770
We find the maximum on each piece and then find the maximum of those numbers.
179
00:20:08,980 --> 00:20:13,630
Or to do the integral, we would integrate over each piece and then add up those integrals.
180
00:20:16,410 --> 00:20:21,750
So let's do some more like that. Suppose I say HP four h prime equals the derivative of H.
181
00:20:23,160 --> 00:20:27,600
I could then say extrema. Equals the roots of the derivative.
182
00:20:29,610 --> 00:20:36,750
And then I could say plot extrema against h of extrema as black dots.
183
00:20:37,980 --> 00:20:45,450
So there you see, we found all the roots of the derivative, including those where the derivative jumps from one side to the other.
184
00:20:45,450 --> 00:20:49,110
So here the derivative jumps from negative to positive, and there's a dot.
185
00:20:49,500 --> 00:20:52,889
There's no dot here because the derivative is jumping from negative to negative.
186
00:20:52,890 --> 00:21:00,840
So there's no group there. I'll skip a little bit.
187
00:21:03,960 --> 00:21:08,640
For most of its history, Tetfund was all about cheryshev expansions and non periodic functions.
188
00:21:09,510 --> 00:21:13,770
We didn't do the periodic case because it seemed too obvious. Everybody knows about Fourier.
189
00:21:14,010 --> 00:21:18,900
Most people don't know about Gem often. But eventually we realised, even if it's obvious, it's still useful.
190
00:21:19,140 --> 00:21:24,480
So eventually a couple of years ago we added a capability for periodic functions.
191
00:21:24,900 --> 00:21:30,300
So for example, if I say E to the sign of pi x, what if I just did this?
192
00:21:31,620 --> 00:21:37,380
I get a perfectly good function. Bubs.
193
00:21:37,660 --> 00:21:45,040
Hold off. That's a Chevy chef representation of a periodic function.
194
00:21:45,250 --> 00:21:54,969
But we could also get a periodic representation. If I say trig, then it's the same thing graphically, but a completely different representation.
195
00:21:54,970 --> 00:22:04,720
It's now a 48 series. And indeed, if I say plot coefficients of F, then you can see that the 48 series has a zero component there.
196
00:22:04,720 --> 00:22:10,900
And then as you go negative and positive wave numbers, it decreases down to machine precision in the usual fashion.
197
00:22:17,270 --> 00:22:22,310
So let me show you again some piecewise smooth jab funds.
198
00:22:22,550 --> 00:22:28,850
So if we say x equals scribble, there is no fun like jab fund.
199
00:22:30,530 --> 00:22:37,430
What that does is it makes a jab fun. So let's plot and I'll say plot x axis equal.
200
00:22:38,820 --> 00:22:46,830
So this is a piecewise linear function, but the catch is it's a piecewise linear, complex function.
201
00:22:46,830 --> 00:22:54,480
So that's the real part and that's the imaginary part. It's a function of a real variable, as always with fun, but it's a complex function.
202
00:22:54,750 --> 00:23:00,060
So maybe the first piece would be that stroke of the T, and then the second piece might be that stroke of the T.
203
00:23:00,300 --> 00:23:05,910
So this has maybe 100 pieces, but often it's just a function.
204
00:23:06,120 --> 00:23:11,429
So I could do things like what's S at point three or what's the maximum of the real
205
00:23:11,430 --> 00:23:17,160
part of S or what's the maximum imaginary part of this or what's the norm of this?
206
00:23:17,970 --> 00:23:24,960
Or What's E to the s? So here we're computing.
207
00:23:26,550 --> 00:23:33,780
A complex function or what each of the three times as can anyone guess what this will look like.
208
00:23:38,750 --> 00:23:42,410
I can't hear you. What? Yeah.
209
00:23:43,510 --> 00:23:49,280
Uh. Yeah.
210
00:23:49,290 --> 00:23:57,960
So that's a rotation. So several of you said it, but here for you, there's a seven memory stick, eight gigabytes.
211
00:23:59,910 --> 00:24:01,980
Yeah. So this is just another function.
212
00:24:03,900 --> 00:24:12,810
It's piecewise smooth, no longer piecewise linear, and each piece would be 16 digit accurate, representing the curve that it's supposed to be.
213
00:24:12,960 --> 00:24:16,760
It's actually a pretty good way to explore your complex functions.
214
00:24:16,770 --> 00:24:21,719
You know, if you want to know what does the sign look like or something, you know, anyone know?
215
00:24:21,720 --> 00:24:26,970
Well, you do that and you can pretty quickly get a sense of things. So what does the hyperbolic sign look like?
216
00:24:29,270 --> 00:24:32,420
And so on. What does the square look like? Let's try.
217
00:24:36,060 --> 00:24:43,440
We'll get square s. So lots, lots to play with.
218
00:24:47,220 --> 00:24:48,840
Okay. Turning over the page now,
219
00:24:49,050 --> 00:24:56,460
I'm going to show you the stuff that was the original motivation for even though it turned out to be not the most important thing for users.
220
00:24:56,970 --> 00:25:05,370
So the original idea is one that we mentioned a few lectures ago of taking long skinny matrices and turning their columns into Continua.
221
00:25:05,910 --> 00:25:11,670
So you imagine instead of an M by N Matrix, an infinity by n matrix, where each column is a function.
222
00:25:12,150 --> 00:25:20,100
So for example, suppose X is the trivial fun on the unit interval by default.
223
00:25:20,700 --> 00:25:27,270
And suppose I make a quasi matrix, as we call it, 1xx squared, x cubed, x to the fourth.
224
00:25:29,580 --> 00:25:34,229
So hopefully you can just from that, see what it's got to mean.
225
00:25:34,230 --> 00:25:37,230
It's it has five columns and each one is a function.
226
00:25:38,010 --> 00:25:45,780
So I could do things like evaluate a I could say what's a at point three comma.
227
00:25:47,210 --> 00:25:54,950
To. Who can tell me the answer to that? Right.
228
00:25:54,980 --> 00:26:01,420
You get another memory stick. Who was that? That you. Okay. Let's do one more.
229
00:26:03,070 --> 00:26:08,930
Okay. Let's say. Point five. Karma for that.
230
00:26:09,070 --> 00:26:12,840
Happy. Somebody.
231
00:26:15,510 --> 00:26:20,580
Yeah, I think that's right. All right, so I'm running low here, but who was that?
232
00:26:22,230 --> 00:26:29,880
Sorry, who was that? You. Okay.
233
00:26:31,560 --> 00:26:34,620
So A is this object which is continuous by five.
234
00:26:34,620 --> 00:26:38,250
If you say size of A, you get infinity by five.
235
00:26:38,640 --> 00:26:44,580
So Cliff Muller, the guy who invented MATLAB, like to have fun and this is the thing he likes most.
236
00:26:44,700 --> 00:26:48,239
Every time he sees infinity by five, he just laughs.
237
00:26:48,240 --> 00:26:54,540
He loves it because you know, it's such a sweet, natural generalisation of classic MATLAB stuff.
238
00:26:55,170 --> 00:27:06,719
If I were to plot a Oh, I like spy. If I spy A you can get a sense of continuous by five or if I plot a Well,
239
00:27:06,720 --> 00:27:10,590
you know, in MATLAB, when you plot a matrix, the default is it plots each column.
240
00:27:11,190 --> 00:27:16,650
So there you see the columns of A, there's one and X and so on.
241
00:27:19,250 --> 00:27:24,230
If I do linear algebra, I get the correct continuous analogues.
242
00:27:24,560 --> 00:27:35,570
So for example, the Q, R Factorisation of A is a product of a matrix that's infinity by five by a matrix that's five by five.
243
00:27:36,800 --> 00:27:46,260
Or if I plot Q. Well, think about the QR factorisation here we have five functions in the QR.
244
00:27:46,260 --> 00:27:52,550
Factorisation we orthogonal those functions. So if I plot Q, I'll get the same functions except orthogonal.
245
00:27:55,800 --> 00:27:56,940
Who knows what those are called?
246
00:28:00,740 --> 00:28:08,450
They're legendary polynomials because the genre of polynomials are what you get when you are in lies x, x squared and so on.
247
00:28:08,450 --> 00:28:14,180
And the unit interval. And you can do things like the singular value decomposition of a.
248
00:28:14,480 --> 00:28:18,710
So what does that mean? Well, you know the picture for the SVD.
249
00:28:20,180 --> 00:28:32,590
Let's draw that on the board. So you know that if you take a matrix.
250
00:28:34,360 --> 00:28:42,280
Say an m by n matrix. Then it maps from our end.
251
00:28:44,050 --> 00:28:52,120
To our M. And it always maps the unit ball in our m to a hyper ellipsoid.
252
00:28:52,130 --> 00:29:00,610
So origin goes to origin and then the singular value decomposition is a way of getting at the principal axes of that hyper ellipsoid.
253
00:29:02,050 --> 00:29:06,940
Well, if it was infinity, it's the same thing. So now we have a quasi matrix.
254
00:29:08,970 --> 00:29:16,470
Whatever our infinity means. So again, it's mapping this end dimensional unit ball onto a hyper ellipsoid.
255
00:29:17,130 --> 00:29:21,510
This lives in an infinite dimensional space, but it only has dimension end generically.
256
00:29:21,750 --> 00:29:25,710
So it's a finite, dimensional, hyper ellipsoid in an infinite dimensional space.
257
00:29:25,920 --> 00:29:28,190
The speed has the obvious interpretation.
258
00:29:28,200 --> 00:29:36,750
So this here would be the first singular value times, the first singular vector, and this would be, if you like, the next singular value.
259
00:29:39,220 --> 00:29:45,190
Times, the next singular vector and so on, and their pre images would be vectors over here.
260
00:29:45,520 --> 00:29:49,780
So everything makes perfectly good sense mathematically in infinite dimensions.
261
00:29:49,930 --> 00:29:55,990
And chip fun has algorithms that compute that. So the SVR, we just did.
262
00:29:56,140 --> 00:29:59,350
Those are the singular values, the length of the axes.
263
00:30:00,790 --> 00:30:07,990
So this is what we were doing when Tetfund was created originally, which is more than ten years ago.
264
00:30:08,200 --> 00:30:13,300
But as far as we can tell, people don't use this stuff very much at school, but who needs it?
265
00:30:14,920 --> 00:30:18,520
What turned out to be much more important than practice was differential equations.
266
00:30:20,620 --> 00:30:23,920
So let me show you a bit of that. Let's make what we call a check up.
267
00:30:26,320 --> 00:30:30,700
So I'll say L equals check up on the interval from -20 to 20.
268
00:30:31,030 --> 00:30:38,460
So check up, of course, is going to stand for an operator, a differential operator, and let's create one.
269
00:30:38,470 --> 00:30:43,450
I'll make it define it by an anonymous function, typical MATLAB style.
270
00:30:45,940 --> 00:30:53,140
So this operator takes the second derivative and then subtracts x times you from that.
271
00:30:53,590 --> 00:30:57,010
So it's a variable coefficient linear operator in this case.
272
00:30:57,310 --> 00:31:05,950
Of course we're going to need some boundary conditions. So I'll say l dot LBC equals one held dot RBC equals zero.
273
00:31:07,540 --> 00:31:14,530
And then in tetfund you can solve this by backslash, just the way you would solve a matrix problem in matlab.
274
00:31:14,710 --> 00:31:18,760
So if I say you equals l backslash zero.
275
00:31:19,600 --> 00:31:24,880
So what that's doing is solving l u equals zero for you.
276
00:31:26,620 --> 00:31:32,110
So l u equals zero would be a differential equation. And we're using whatever algorithm it takes to solve that.
277
00:31:32,260 --> 00:31:39,879
In fact, the algorithm I can describe easily, it consists of just criticising the problem on a Chevy chef grid of size 17 and then
278
00:31:39,880 --> 00:31:46,210
33 and then 65 and so on until the constructor gets down to machine precision.
279
00:31:46,600 --> 00:31:53,980
So it's a standard Chevy chef spectral method in this automatic loop of finer and finer grids until machine precision.
280
00:31:56,090 --> 00:32:01,400
So if we do that, we have just solved for you. First time you do anything takes forever.
281
00:32:01,430 --> 00:32:04,880
Let me prove that that's true. Let's do it again. Faster.
282
00:32:07,130 --> 00:32:11,470
So there we've solved this differential equation. The solution there is an area function.
283
00:32:11,480 --> 00:32:17,090
You know, this is the area differential equation. And as you can imagine, it's very easy to play with things.
284
00:32:17,390 --> 00:32:22,490
Suppose I had changed the operator, for example, by putting a point one in front of the derivative.
285
00:32:24,080 --> 00:32:28,730
So there's a principle of differential equations that whenever you want to make the solution more interesting,
286
00:32:28,880 --> 00:32:31,940
you reduce the constant on the highest derivative.
287
00:32:32,510 --> 00:32:36,140
So if I now solve it and then plot you.
288
00:32:36,740 --> 00:32:42,910
Oops. You'll see it's a higher oscillation, but that's still a polynomial.
289
00:32:43,300 --> 00:32:47,320
It's a telephone. There's its length. What's the max of you?
290
00:32:47,350 --> 00:32:51,190
What's you at? -2.3. What's the norm of you?
291
00:32:52,750 --> 00:32:56,530
All sorts of calculations are in the same fun framework.
292
00:33:00,080 --> 00:33:08,360
And then you can do other fun, linear stuff. For example, what about the eigenvalues of this operator?
293
00:33:08,510 --> 00:33:14,960
Now, if you think about MATLAB and Eigenvalues, there's a command eigg, which gives you all the eigenvalues of a matrix.
294
00:33:15,530 --> 00:33:20,270
Now I give an operator wouldn't make sense because an operator has infinitely many eigenvalues.
295
00:33:20,480 --> 00:33:27,140
We're never going to compute infinitely many. I was, on the other hand, is the MATLAB command to get a few eigenvalues of a big matrix.
296
00:33:27,440 --> 00:33:31,430
So we've overloaded that to give eyes of an operator.
297
00:33:31,820 --> 00:33:37,280
So by default it will give you six of them. And I see because of that small coefficient, it's taking me a while.
298
00:33:37,640 --> 00:33:42,020
Suppose I only wanted three of them. I could say something like that.
299
00:33:49,310 --> 00:33:53,420
Let's do another one for fun playing with eigenvalues of Schrödinger operators.
300
00:33:53,660 --> 00:33:59,400
So for example, here I'm on the interval from -3 to 3.
301
00:33:59,420 --> 00:34:06,370
I could make a Schrödinger operator and find its eigenvalues. But for fun, we've got a special command that does that all for you.
302
00:34:06,380 --> 00:34:09,410
So if I say, well, let's say quantum states of X squared.
303
00:34:10,100 --> 00:34:18,320
Now what that does is it sets up a Schrödinger eigenvalue problem with a potential corresponding to x squared.
304
00:34:18,530 --> 00:34:25,160
And that computes by default the first ten eigen functions, and then it plots them at their appropriate height.
305
00:34:25,400 --> 00:34:31,130
So the physicists among you will recognise the spacing one three, five, seven, nine.
306
00:34:31,340 --> 00:34:37,070
The reason it's .1.3.5 is that I think Planck's constant has been set at 2.1 or something.
307
00:34:37,730 --> 00:34:40,160
So there you have eigen functions of this operator.
308
00:34:40,520 --> 00:34:46,670
This one you could do on paper, of course, but you don't have to change it very much to get something more challenging mathematically.
309
00:34:47,030 --> 00:34:51,350
So there we have the first ten eigen functions of the absolute value function.
310
00:34:51,650 --> 00:34:56,090
And there you can see it's a different shape and the spacing between the eigenvalues is different.
311
00:34:56,750 --> 00:35:02,330
If you're a physics type, you can have a lot of fun with double well potentials and illustrate all sorts of things here.
312
00:35:03,830 --> 00:35:09,140
How many people know this kind of picture? That's enough.
313
00:35:09,160 --> 00:35:15,370
Let's try to put in a double well, potential. Okay. So we'll say let's see if the is x squared.
314
00:35:16,030 --> 00:35:22,710
And I say quantum states of V. Then I get that.
315
00:35:22,730 --> 00:35:27,410
Okay, now let's put a little something in the middle. I'll say the equals.
316
00:35:28,920 --> 00:35:32,040
The max of itself.
317
00:35:32,970 --> 00:35:41,850
And then I'll say. Uh, 1.5 minus five times X squared, I'm guessing here.
318
00:35:42,780 --> 00:35:47,950
Will that be a double? Well. Let's see if I pluck V.
319
00:35:47,950 --> 00:35:51,220
Does that look good? That's what might work. You think it'll work?
320
00:35:52,270 --> 00:35:58,990
Let's try quantum states of V, see if it's interesting. Huh?
321
00:35:59,620 --> 00:36:03,000
What happened? Oh, I said absolute X instead of V.
322
00:36:10,010 --> 00:36:14,280
Oh, it worked. Okay, so here you have a double.
323
00:36:14,280 --> 00:36:17,480
Well, potential the lowest state.
324
00:36:18,020 --> 00:36:21,890
There are two island modes here with virtually identical eigenvalues.
325
00:36:22,130 --> 00:36:25,580
The lowest one would be the blue one, which is an even function.
326
00:36:25,580 --> 00:36:28,160
And the next one is the red one, which isn't on function.
327
00:36:28,370 --> 00:36:34,340
So there you see the kind of line splitting that you get in the spectroscopy are more or less the same thing here, the lowest.
328
00:36:35,230 --> 00:36:37,970
Well, these are the third and fourth eigen functions.
329
00:36:38,180 --> 00:36:44,090
One of them is approximately even and the other is approximately the green looks even and the blue looks odd.
330
00:36:44,510 --> 00:36:48,559
And then as you get near the top of the double, well, it begins to be less important.
331
00:36:48,560 --> 00:36:52,790
And once you get way above it, it looks as if there's no barrier at all.
332
00:36:53,090 --> 00:36:56,750
So, in fact, if we let's compute 30 of them instead of just ten of them.
333
00:37:02,660 --> 00:37:12,350
That's taking too long. That's annoying. So here you can see that the one kind of physics is happening down here and rather different up there.
334
00:37:13,100 --> 00:37:20,090
As a rule, telephone is supposed to be the most convenient method for solving anything available, but it's never the fastest numerically.
335
00:37:20,300 --> 00:37:23,450
I mean, it shouldn't take 5 seconds to solve that problem.
336
00:37:25,430 --> 00:37:32,720
Okay. Let me show you a little more. For a few years, telephones, differential equations were linear.
337
00:37:33,880 --> 00:37:38,740
But then we realised how we could embed them in a Newton iteration in an automated way.
338
00:37:38,920 --> 00:37:45,970
Everything done in this sort of continuous mode. So now you can also do nonlinear things, and I could do that all with check ups.
339
00:37:46,000 --> 00:37:51,430
But to keep the time under control, I'm going to go into the graphical user interface called Jeb Gooey.
340
00:37:53,070 --> 00:38:01,800
So there we are in February. And what you can do here is type a differential equation and see what happens.
341
00:38:02,100 --> 00:38:08,760
So there are a bunch of demos built in and if I went to the area equation, we'd find the kind of thing we looked at before.
342
00:38:10,630 --> 00:38:13,690
Or let's see, let's go to the an advection diffusion equation.
343
00:38:14,200 --> 00:38:20,170
So here we have you double prime plus U, prime plus U, and then some boundary conditions.
344
00:38:20,740 --> 00:38:21,760
If I solve that.
345
00:38:23,760 --> 00:38:30,480
You can see there's a boundary layer at the left end and then the plot down here is showing you the chubby shove coefficients of the solution.
346
00:38:30,720 --> 00:38:35,160
So that's a polynomial of length, about 40. And those are the Chevy chef coefficients.
347
00:38:35,640 --> 00:38:42,920
Let's make the boundary layer narrower. So I'll change point oh to 2.0 to.
348
00:38:46,670 --> 00:38:52,220
So now again, it's a smooth polynomial, but its length has gone up to 122.
349
00:38:55,030 --> 00:39:00,189
Of course, if the boundary layer were of with ten to the minus sixth, this wouldn't be an efficient way to go.
350
00:39:00,190 --> 00:39:04,749
But it's surprisingly good when you're when numbers like 100 are floating around.
351
00:39:04,750 --> 00:39:10,040
If I made it 0.0002, would that still work? See it still worked.
352
00:39:10,060 --> 00:39:15,370
It's a very narrow boundary layer, but no problem. It's only a polynomial of length 322.
353
00:39:15,580 --> 00:39:20,350
On the other hand, if I tried to make it, you know, semitone scale, we'd be in trouble.
354
00:39:22,490 --> 00:39:28,790
Let's show a couple of other examples, some nonlinear ones. So still in the boundary value problem context.
355
00:39:29,420 --> 00:39:37,040
Suppose I say, for example, the non-linear pendulum. So there you have you double prime equals minus sign of you with some boundary
356
00:39:37,040 --> 00:39:41,480
conditions and you can specify an initial guess if you want for the Newton iteration.
357
00:39:41,870 --> 00:39:45,380
And when you press solve, it goes ahead and does a down to Newton iteration.
358
00:39:46,070 --> 00:39:49,340
In the bottom left you can see the corrections that are being added to the step.
359
00:39:49,910 --> 00:39:55,200
This one has converged and there's the converged solution. And you don't have to do this in the Google.
360
00:39:55,220 --> 00:39:59,600
You can export all this to an amp file which turns it into a Jeb fun command.
361
00:40:01,230 --> 00:40:06,330
There's other fun stuff. Let's do a couple more and let's do a let's do the Lorenz equations.
362
00:40:06,390 --> 00:40:10,050
So here we have an initial value problem. There are three bodies.
363
00:40:12,520 --> 00:40:15,910
This is the classic example of a chaotic system.
364
00:40:17,320 --> 00:40:19,390
So if I solve it, it does it thing.
365
00:40:22,880 --> 00:40:30,260
And there you see a chaotic trajectory and you see three curves down here showing the chubby chef coefficients of the three components.
366
00:40:32,960 --> 00:40:38,780
Or we could play with eigenvalue problems. So for example, here's a famous one or Sommerfeld problem.
367
00:40:39,680 --> 00:40:46,160
This comes from fluid mechanics. It's a fourth order complex generalised eigenvalue problem.
368
00:40:46,400 --> 00:40:50,000
And I believe the demo here is computing 50 eigenvalues.
369
00:40:50,420 --> 00:40:54,350
So this is from fluid mechanical stability for flow between a channel.
370
00:40:54,800 --> 00:41:01,640
It's taking a while. But there the eigenvalues in the complex plane the first, the 50 rightmost eigenvalues of this operator.
371
00:41:01,910 --> 00:41:07,399
In the complex plane, there are the eigen functions plotted all on top of one another.
372
00:41:07,400 --> 00:41:10,460
But of course, you could isolate them all if you wanted to.
373
00:41:13,310 --> 00:41:17,330
And there's also some PD stuff built in here, though not quite as reliable.
374
00:41:17,720 --> 00:41:27,950
So, for example, here's the Alan Kahn equation, which is when we like, it's a time dependent PD so Chevy Chef stuff in space and other things in time.
375
00:41:29,480 --> 00:41:33,530
This is an equation whose steady state is going to be the solution minus one.
376
00:41:33,830 --> 00:41:41,000
And when we make it go, those three spikes will decrease to zero at different rates because they have different widths.
377
00:41:41,870 --> 00:41:45,530
So I think on my computer, this goes very slowly, if I remember right.
378
00:41:47,460 --> 00:41:51,900
That's pretty slow. All right. But anyway, you can solve some Pedes.
379
00:41:58,740 --> 00:42:05,400
So that brings us to about three years ago. And then we've been moving into two and soon three dimensions.
380
00:42:05,610 --> 00:42:10,050
So let me just show you a little bit about have fun in two dimensions.
381
00:42:13,520 --> 00:42:16,640
So for example, suppose I say cheap fun to.
382
00:42:18,550 --> 00:42:21,340
Of a function of X and Y, and there's a trivial function.
383
00:42:24,260 --> 00:42:29,810
And similarly, I suppose I say y equals Jeb fun to the function of x and y, another trivial function.
384
00:42:30,050 --> 00:42:35,540
Now I can play with x and Y by default on the unit square from -1 to 1 squared.
385
00:42:35,780 --> 00:42:43,310
So if I say equals cosine of 20 x for example, times e to the minus five times x squared plus y squared.
386
00:42:46,540 --> 00:42:54,490
Then it's doing a similar process of constructing a finite representation to machine precision of this function.
387
00:42:54,820 --> 00:42:58,270
So if I say plot of death, you'll get some kind of surface.
388
00:42:58,270 --> 00:43:05,230
Or if I say contour of F with 50 levels, you'll get a contour plot with a lot of levels.
389
00:43:05,950 --> 00:43:09,530
And of course, you can evaluate you can say F of zero zero.
390
00:43:09,550 --> 00:43:15,420
What will that be? I have one more memory stick now.
391
00:43:15,420 --> 00:43:28,130
I have two more memory sticks. Who said it first.
392
00:43:29,360 --> 00:43:32,820
Did you already have a memory stick? Oh, okay. Mm hmm.
393
00:43:34,490 --> 00:43:39,300
Um, but then, of course, you can do things like compute.
394
00:43:39,320 --> 00:43:46,650
You can take exponentials and so on. If I take the length of this f, it turns out what that gives you is a certain rank.
395
00:43:46,670 --> 00:43:51,620
This turns out to be a function that's separable into an x times a y component.
396
00:43:51,860 --> 00:43:54,950
On the other hand, if I start computing with it, there's G, for example.
397
00:43:55,430 --> 00:44:02,150
Length of G is rank nine. So this function is represented as a sort of a rank nine approximation.
398
00:44:02,360 --> 00:44:09,170
And the mathematics is very much connected to data compression and matrix completion and all that stuff.
399
00:44:09,350 --> 00:44:14,840
I mentioned this a little bit the other day when I mentioned that Gaussian elimination is now an intuitive algorithm.
400
00:44:15,170 --> 00:44:21,260
Well, Tetfund, too, is using an iterative form of Gaussian elimination to construct approximations.
401
00:44:21,500 --> 00:44:27,600
Let's do contour of G. So it looks the same because it's the same shape here.
402
00:44:31,010 --> 00:44:34,520
And of course you can do various things. So if this is G.
403
00:44:36,200 --> 00:44:44,210
If I say some of, gee, I get a check fund because by default some would plug some long columns.
404
00:44:44,450 --> 00:44:49,610
So if I plot some of G. You get a curve.
405
00:44:49,970 --> 00:44:52,940
On the other hand, if you want to integrate in both directions.
406
00:44:53,090 --> 00:44:58,579
Well, you could say some of some of G and that would integrate in one direction and then the other.
407
00:44:58,580 --> 00:45:08,600
Or we have a built in command some two of G. It's very good at doing things like finding Minima and Maxima.
408
00:45:08,840 --> 00:45:12,860
Let me, however, do this. Explain command. That's kind of new.
409
00:45:15,140 --> 00:45:20,560
So suppose you want to know what's happening when it constructs one of these ten fun tools.
410
00:45:21,640 --> 00:45:30,410
Now. Let's see if this works. This is your Chevy fun movie. So that's the function we're explaining.
411
00:45:35,180 --> 00:45:41,160
First it gets sampled on a grid. And then.
412
00:45:43,240 --> 00:45:50,100
It goes a bit slowly. So then it does this rank one approximation.
413
00:45:50,550 --> 00:45:57,270
So there's a row in a column. So now it's seeing whether F can be represented by rank one, this particular F can.
414
00:45:57,570 --> 00:46:01,050
So it's not a very good choice for the explained function.
415
00:46:01,260 --> 00:46:07,290
We should have done G instead. My apologies. But anyway, it then does this wonderful movie stuff.
416
00:46:09,550 --> 00:46:13,660
And explains how you've thereby reduced your two day function to a couple of
417
00:46:13,660 --> 00:46:17,920
one day functions which are then approximated with turbofan as usual fashion.
418
00:46:18,310 --> 00:46:21,970
Those are some plots of the coefficients of the X function and the Y function.
419
00:46:25,280 --> 00:46:28,490
And then I think it's about to show you that the final representation.
420
00:46:31,030 --> 00:46:35,560
Is a suitable product. But since this is rank one, it'll be a fairly trivial product.
421
00:46:39,980 --> 00:46:49,400
How is it stored? It's stored as two quasi matrices, but these quasi matrices are infinity by one, so they weren't very exciting quasi matrices.
422
00:46:49,700 --> 00:46:53,390
Now, let's see. I'll show you like one more thing. What will I show you?
423
00:46:57,760 --> 00:47:00,280
Well, I'm going to skip to number 14 and just do that.
424
00:47:00,290 --> 00:47:19,720
So suppose I say theta equals 0.9 times pi times x and phi equals pi times x and capital f equals minus one plus point three times cosine of phi.
425
00:47:21,400 --> 00:47:25,600
Stop me if you see a typo, tell me so I can fix it.
426
00:47:26,020 --> 00:47:38,950
Times sign of theta and then I'll say one plus point three times cosine of phi, times cosine theta and point three times sine.
427
00:47:38,950 --> 00:47:42,820
Anyone see any errors here? Hope that's right.
428
00:47:44,490 --> 00:47:49,000
This play. In the first line.
429
00:47:49,240 --> 00:47:52,960
That's a good point. Yes. So this will be garbage. Okay.
430
00:47:52,990 --> 00:47:58,000
Thank you very much. So I should have said five equals pi times y.
431
00:48:00,940 --> 00:48:06,320
Okay. Now, if I do a surface plot of f you see, we can do these.
432
00:48:06,340 --> 00:48:12,400
I need an access. Equal access. Equal can light show.
433
00:48:12,820 --> 00:48:20,660
So we can do this fun stuff with surfaces and through these and we're extending it to methods of computing functions on spheres and disks.
434
00:48:20,920 --> 00:48:23,980
So it's really turned out to be a wonderful organising principle.
435
00:48:24,280 --> 00:48:29,950
Just to remind you, the essential idea is always continuous analogues of familiar, discrete things.
436
00:48:31,840 --> 00:48:36,460
Okay, so that's it. Now, let's see. Mikhail is going to hand out assignment to.
437
00:48:36,670 --> 00:48:39,790
Is that the usual way through him and and through Z.
438
00:48:39,820 --> 00:48:40,660
Okay. Thanks.