And then you just have to keep in mind, when you use that fft you'd better know that the fft is doing the shifting. And you could ask, well, why not, why the, why make it, why not shift it back? Why, why make me shift it back?" Cuz a lot of times when you're doing computation, you're not gonna necessarily go look at the spectrum all the time. You, the reason it stays shifted is because, remember, speed is everything. Speed is everything in terms of the computing. You want, if you got, if you got n log n speed, you wanna add you know, stuff on top of it. You can do that on your own time. With this computing, keep it at n log n, fast. Okay? In my last class, I talked in my last course, 581. I always tell people you may get the right answer. But it's wrong if you did it the slow way. Okay? Part of computing now is not just about oh, I can compute and I got this really, I got this method that can compute it right. It's not about that anymore, it's about not only can I compute it right, I can compute it faster than you. Okay. It's not that, it's not that I guess you know, competitive. But, but actually, you know it kind of is. If you're trying to write a paper in this area, that's what you're trying to say actually all the time. It's like oh, I can compute this faster than you can. And here is why. Okay? That's, that's how you write a paper in scientific computing. You tell people how much awesomer you are. Okay? Alright. But, see, the nice thing with your data analysis skills, you might be working, I don't know, in atmospheric sciences or geology geologoy or something. With your skills you'll be able to say how much better you are also. See, then I'll, then we'll all have won. Okay? Alright. So there you go. that's the simple implementation. Now I'm gonna use it to do a trick. Okay? Yes? So, the actual coefficients are positive and negative alternating. This is. Yeah. This is the absolute value. If it's complex you know, most people, by the way, when you get a complex spectrum, what you normally do what people call the power spectrum. I don't know if you've heard this. Okay? Well that's an aggressive word just like the competition. It's all, it's all like smackdown for comp, computing. So the power spectrum is always the absolute value of the spectral content, cuz that's what you want to know is how much frequency content, not necessarily what phase it's in. Okay? Alright. So, there's that. And now, for my next trick, I will differentiate a function, computation. Are you ready? I, I don't know if you guys are ready. Let's, can I have the lights on real quick, upfront? There's this very nice relationship, that's actually worked out in the notes, which says the following. It says the following, the hat represent Fourier transform by the way, and this represents the nth derivative. If I take the nth derivative of a function and I wanna find what that is, the Fourier transform of the nth derivative is the same as taking the function itself, and Fourier transforming it, and multiplying by ik to the nth power. Okay? So if I want to compute the third derivative, all I gotta do is take the function, Fourier transform it, multiply this by k^3 inverse Fourier transform it. That's it. By the way, this is one of the most, if, if your boundary conditions work for you, like here the boundaries go to zero, right? And there's supposed to be a periodic function, but here the boundaries are pretty much going to zero. This is probably one of the most accurate ways you can compute a derivative, spectrally accurate. Okay? So let's compute a derivative, and here's the thing I'm gonna compute. oh actually, we can go back with the lights down. Okay. So I'm gonna take this function u here. and I'm gonna do the dollowing function. Here is my favorite function, hyperbolic secant x. I don't know if you have a favorite function yet. It's just a little bit of time before you graduate to pick one out. This one's taken by the way, don't even try. and by the way. its derivative, it's called ud is sech * tanh. Now what I'm going to do is try to compute t hat derivative accurately. And by the way, second derivative, let's call it ud2 for the second derivative will be sech x - two * sech x^3. something like that, pretty close. I think I actually have it in the notes here. sorry, give me just a second here. yeah, actually yeah, that's right. Okay. and what I'm gonna do is, now, compute these derivatives using my Fourier transform. So let me write at the top. There is u, second or first derivative. And first of all, if I wanna calculate the derivatives, first I have to have Fourier transform of the function. There it is and I'm gonna calculate now the first derivative. Okay? So, to calculate the first derivative, remember, what I gotta do is take i * k and multiply it by Fourier transform. There it is. And then, what I gotta do with this is inverse Fourier transform it. Right?'Cuz Cuz what this is, is the derivative of the it's the Fourier transform of the first derivative. So what I can do is just say, okay, if I want the first derivative, let's call it my ud s for spectral approximations, first derivative is spectral is ifft. By the way that's how you invert a Fourier transform, ifft and fft are the pairs. Okay? And by the way, the second derivative, let's call it ud2s is equal to ifft of i times k. That being squared now, times ut. There you go. I, I want to call this u, right? So I'm kind of done. So, let's make some plots. I'm going to plot here the function and for short here I'm going to say, call it ks for k shift will be the fftshift(k) and so that way I can make this be just, first I'm gonna plot the function. And then I'll plot, in addition to the function, I'm gonna plot the derivative of the function, so x versus ud. And my approximation, let's plot that in a red line and then I'm gonna plot my approximation to the derivative uds, and I'll plot that with magenta circles. what I'm plotting is here is the exact answer, right there, x, ud, that's the exact answer and I'm plotting my approximation to the exact answer. Oh, that's just the original function. We don't have to have that in there. Would you like to take it away? We can just do that. What's that? Oh that was the fft, yeah we don't want the fft of the original function. We just want the function. Oh, by the way. There you go, look at that. The red line is exact, the magenta line is my approximation. Who likes that approximation? Give it up you all. Okay. So listen, I know it's the first day of class, we're just warming up. We'll have a dance party about midway. We can get disco balls and you know, we can shine that light on there. It's pretty sweet. Okay. Alright so there is my approximation. By the way, let's zoom in a little bit. Let's just see how well we really did. Let's see how long it takes for that magenta ball to fall off. Oh, oh, oh, oh, come on, fall off. I'm zooming in, I'm zooming in, I'm zooming in. Look, it's pretty dang accurate. Look at that. Oh, it's finally coming off there. I know it, I can sense it. Oh, look at that. But look over here on the left, it's like down to ten minus five or negative six. Pretty amazing accuracy. Now, you can screw up. Let me just show you one other thing. Suppose I take a smaller domain. Oh, not quite hold on a little smaller just real quick. Just give me two seconds for the final. Oh, crap. Okay. Come on. Let's do four. wanna, I wanna, I wanna show you what happens when you kind of start to violate, yeah, there you go, you start seeing it. Now, notice what happens here? Here, remember it's supposed to be a two pie periodic function. Right? This is clearly not periodic. Before they both went to zero, you could say kinda looks periodic. Here, it's up here above point two here. It's below negative point two. There's a jump and any time you have a jump in a Fourier transform, when you try to represent, you get what's called a Gibbs' phenomenon, which is oscillations near the jump and this is what you see over here. So it does amazingly well here and over here it starts to oscillate, not so well. Okay. We're gonna use this on Friday to do radar problems. Okay. Ha ve a good Wednesday. See you guys soon.