 All right. So I've had too many glitches and I'm afraid I won't really be able to give a proper demo anyway. So I'm Shivam Butz. I'm a third year student at ID Kharagpur and I'm a developer at SimPy. So SimPy is a symbolic mathematics library. So how many of you attended the SimPy workshop? Eh, nice. So right. So those of you who did attend SimPy is a symbolic mathematics library. And the difference between symbolic mathematics is the difference between PI and 3.14, the value of PI. So symbolic mathematics is everywhere, right? So anytime you're actually doing a calculation, the first initial first steps are actually symbolic. So the idea of SimPy is that you write a whole library in Python. Now, obviously the first drawback that every that comes to that comes first to your mind is Python is slow and you're writing a library that calculates things in Python. And as it turned out that Python is not slow, the data structures and the code that you're writing, that makes it slow. So despite using Python, you can actually write pretty cool and pretty fast code. So I did a GSOC this summer on something called series expansion. So I hope that everybody knows that's Taylor expansion, you know, like sign X can be approximated by a series, that's it's series expansion. And it turns out that series expansions are used a lot. I mean, in any application where you're using angles, sign of that angle, cost of that angle, you're actually using series expansion. So the series expansion module of SimPy is actually quite slow. I mean, for simple things like sign X, if you're calculating five terms, okay, but if you're calculating 500 terms or like 100 terms, you'll be waiting for it for like 10 seconds. So the plan was to give you a demo, but my laptop is like a stool, so it couldn't handle the new technology. Well, let's see. So, okay, so this is supposedly sign X, you have to trust me. So I'm calculating the series, yeah, series with respect to X for about zero for, let's say, 10 terms. And I'm going to time it. Right, so trust me on this one. All right, and this is using the standards expansion of series, right? So this took around 114 milliseconds. That's fine. Now let's try the same thing. Oh, screw it. So it's not gonna work. Anyway, the idea is, and trust me, I tried this on my laptop, that, I don't know, there's a problem with the screen. So the idea is that if you try this for 500 series, it's gonna take you 12 seconds. And if you're using an application that does this, that's run this piece of code for, let's say, 100 times, you're screwed. So what I did was I made it run in eight milliseconds using Python, pure Python code. So the, thank you. So the question is, how did I do this? So it's pure Python code, what it actually changed was the representation of the series and the algorithm was using to calculate the series. So, like, okay, there was a board there, right? So a series in simple used to be represented and still represented as an, as a syntax tree. So, like, you have, let's say you want to represent X plus Y, it's add of X comma Y, right? If you have a long series, it's like multiple ads and multiplication of things. So if you're storing it that way, every time you have to do a calculation, you have to, you know, pass the whole expression and then do things with it. What we, the idea we used was that they present a series with simple tuples. So if I say, I'm going to only only use X and Y, all right, those are my only variables. And if I have to use X plus Y, I'll say one comma one, that is my X plus Y, right? And if I want to give the powers of that, so for example, I'll say X, so I'll say X, one comma one stands for X to the power one. All right, comma, one comma one stands for Y to the power one. That is my rule, right? I'll agree with the computer beforehand. And then if you have to just raise the X to the power of two, you simply say one comma two, right? The X was raised to the power of two by simply incrementing one number. Whereas in the older representation, you had to pass the whole string and then do weird things with it to arrive at any calculation. So the whole point is if you're stuck at some particular point in your application and if you're blaming Python for being too slow. Well, one problem solution is that the algorithm and the data structure that you are using is not correct, or maybe you are to blame, right? So don't blame Python all the time for being slow, try to be a bit smarter, that is it. By the way, if anybody wants to look at it actually and try to run it, you can go to the website of SimPy, all right, and just try to learn about ring series, all right. So it's called ring series. I won't talk about why it is called ring series. Try to read about it and ping me if you want to know the details. So I'm Shivam Watz. That's my GitHub user ID. So thanks.