We are here to talk to you about accomplishing monumental feats. You often look around and you see these big things that people accomplish in the world and these incredible things that they get done. Some of them are really grand, some are really beautiful, and it's human nature to look around and just wonder how these things got built, how they got brought into existence, and we picture these kind of magical people behind them. And we wonder what their secrets are, how they got it all done, what kind of tricks they're using that let them accomplish these things that us normal mortals don't seem to be able to do. And as we've gone through the world and we start encountering people who are doing these larger and larger projects and accomplishing these larger things, there's one thing that we've actually found that seems to be consistent among all of them, and it's no great secret, it's no kind of magical trick that they're doing. The simple thing that we found is that people who do successful things and who accomplish big things put in a huge amount of time to get them done. And that's it, as far as we can tell, that's the secret. A ridiculous, ridiculous amount of hard work and hours and the more and the deeper that we've gotten into exploring our own pursuits and getting to meet people who have done themselves bigger and bigger things in the world. You know, we're not sure exactly why some people get things done, but again, the conclusion that we're coming to is that every single person that we've met so far that we've just been blown away by what they've done in the world, it all comes as a result of just putting in ridiculous amounts of hours. And this concept, actually, is not a new one. This goes back quite a ways, actually. So, you may have heard this before, this is Thomas Edison, of course. Genius is 1% inspiration and 99% perspiration. What does this tell us? Possibly that Thomas Edison is good at stealing excellent ideas that came well before he was around. This is Kate Sandborn. She said even earlier that talent is perspiration. And by the way, what Thomas Edison is credited for is adding the little percentages onto the saying. So that was kind of his, he mathematicized it, I guess. Very innovative, yeah. Even before that, we have, I know of no genius, but the genius of hard work, that's a self-portrait, by the way, from the fellow who said that, a nice artist, Turner. Before that, we have the Count des profan. Genius is only a greater aptitude for patients. And well before him, digging into kind of the etymology of this saying, it seems to have just been in common parlance for centuries, well before anyone was actually credited with having written it. So this is kind of a generally understood idea. But when we're living through life, it's easy to forget that. And you know, this is a concept that we found time and time again in our own pursuits. We've mentioned this before, but this art program that we ran when we first got started is an excellent example of this. In and of itself, we had artists in Portland, we gave them two free floats and asked them to just create a piece of artwork afterwards, which sounds really exciting. It sounds like a great idea. Whenever we tell that to people, that's the response we get. They're like, wow, what an inspired idea to have. But what you don't realize is that the only thing that actually makes this a substance, that makes you look back on it and say, hey, that was great, is the work that actually got put into it to make it actually get done. It wasn't just the fact that we had an art program that we ran. That involved getting submissions from about 175 to 200 separate artists. It involved setting up the entire legal rights of the entire thing, filling out a contract and having everyone sign it. It involved sending thousands of emails over the course of running this to all of these different artists, reminding them of their floats, reminding them of all of their different things that they had to do, like sending us pictures, actually getting us the artwork, everything that went into that. It took hundreds of in-person meetings. It took actually collecting the artwork itself from all these different people, which is no small task trying to get artists to meet a deadline. We had to go through and actually take photos of all these pieces of artwork. We had to take all of those photos and format them into an actual book so that we'd have an actual book at the end of it. We then had to figure out how to print a book and start a self-publishing company and go through the entire process of figuring out binding and all of that kind of stuff. And at the end, we put it all together and sent it out on an art tour, all the way around two different float centers around the U.S. All of this took a huge amount of time. And if it wasn't for each one of those steps, if all we had done was sat around and just talked about how cool this fun art program would have been, nobody here would be talking about it or have any idea that it ever existed. It would just be an interesting idea, instead of being something that created 150 pieces of float artwork in the world and has created a program that's been replicated by float centers all over the world at this point. And again, it just comes down to things take a preposterous amount of time. You have this one good idea and you're like, oh, we'll float artists and make an art book. And hundreds and hundreds and hundreds of hours later, you're like, what did I get myself into? And we're not saying that there aren't more efficient ways to work. There are definitely ways to cut down on the time that it takes you to do certain tasks.  We definitely have tools to accomplish this. What we are saying though is that these tools alone are often not enough. So that said, we thought that we'd spend just a second talking about some of the work hacking tricks that we find really valuable. And there's this misconception with the idea of work hacking, I think. And we're so intrigued as a culture with the idea of productivity and shaving off more minutes from our work time and making the absolute most of everything we throw in. And I think that we have this illusion that if we just get good enough at those tricks of the trade, that somehow we'll be able to accomplish a hundred hours of work in five hours or in two hours. Or maybe we don't have to work at all and the work just kind of completes itself. And that's just not how it happens. What happens is you get more efficient at doing work, which means you can accomplish more work in the world, but it still takes the same amount of time, which is a preposterous amount. That being said, there are a few tricks we wanted to share with you of just the things that really help us be as productive as we can be. One of those is just actually learning while you work. It's a big one that we enjoy doing, listening to podcasts as you're doing your float center construction and things like that. And above that, actually listening to podcasts at double speed, which means you can listen to twice as many. If you're ever wondering why we talk so fast, it's because we have business people rambling in our ears at twice the speed they're supposed to all the time. We also have programs on our computers that allow us to type in a short code that fills out paragraphs of text for us. If any of you were staying at the dorms this year and you got an email from me, I typed in three letters to generate that entire email that got sent out to you because I had to send hundreds and hundreds of them to individual people. So there are tools that can help you make things like that faster. Another thing that we found is just to avoid multitasking. And more and more studies come out all the time just saying how much multitasking, aside from not being a good way to work, is actually just not even possible. The human brain doesn't multitask. It switches really swiftly between different tasks. And each of those tasks that it switches between has a little bit of buffer time. So as you're going between task to task to task, you're losing some of your effort and some of your cognition and some of your time in the switching part. So what we advise people to do really, and what we try to do ourselves is to chunk our tasks together. You know, as much as possible work on things at three hours at a time.  When we're working on our talk, we try not to, despite having so much conference stuff going around that we have to plan, work on anything but the talk for a few hours stretch at a time. And dividing your time up like that instead of in 15 increments goes a long way as well. Just forcing your way through things is another really great way of getting stuff done. I can't even tell you how many times I've had to basically call people nonstop until they answer me. If you've ever been on the unfortunate end of having something that I need from you on a strict deadline, I basically start calling people once a day, and if they don't answer me, I start going to twice a day, and if they don't answer, I've gotten up to the point of calling someone every hour on the hour until they pick up the phone. And it absolutely works. No one can ignore the eighth phone call that day from you.  It's too inconvenient. One great thing that we've always done is just being comfortable knowing that you can learn how to become an expert on something. It's actually easier than you think. Like with the art book that we did, we had to figure out how to get that book printed. And I sat down one day and I was like, okay, I don't know anything about how to print a book or anything about that. And so I just looked up a bunch of printers on the internet, and I went through and I just started calling them one by one. And the very first person I called, I had no idea what I was talking about. I was like, I'm really sorry, I got to print this thing and like, do you guys have paper there? And they started explaining things to me. They're like, okay, what type of glue do you want for your binding? And I was like, oh, I don't know. What type of glues do you have? And I would call the next person and I knew a little bit more.  And I know all about that kind of stuff, buddy. And within a few hours, I was just a master at book printing at this point. Another one, of course, floating. As long as we have float tanks and we're talking about ways to make your time more productive and more useful, hopping in the float tank, absolutely, is a really good one. When we're under construction, we get a little desperate. I try to get in at least once a week. And really, I feel like I'm really on my game with my work and my regular life when I get in two to three times a week.  And I really encourage all of you, especially as you're getting into starting a float tank center, to not drop the habit of what you do for a living, to not drop the passion that got you into it and to try to float as much as you can. If I could, I would be getting in every day a week and I really try to get in two or three days. And again, all of this stuff, they do help you get work done faster. But none of this means that we're sitting around working for about five hours a week and getting everything we need to get done. This means we can be more productive with our time and we can spend the time that we are working doing bigger things and things that we wouldn't even be able to do if I had to write every single one of those emails by hand. Yep, fundamentally, things still just take a ridiculous amount of time. So, this right here is the Washington Monument. A 555-foot-tall stone obelisk in the middle of Washington, D.C. It was built to commemorate the first president of the United States and at the time it was completed it was the tallest man-made structure in the world. Plans for the Washington Monument started in 1783 when the Continental Congress voted in a bill to build a monument to honor what was then the general of the Revolutionary Army, George Washington. But the thing with George Washington and why everyone really liked him at the time was because he was this kind of representation of everything that was fighting against the Revolutionary Army. They were fighting against this monarchy and here comes this guy who was building a republic and it's something to put the power into the people's hands and George Washington had this incredible humility. The fact that after the Revolutionary War was done that he gave his post up and didn't immediately just become an emperor himself was astounding to people and that was really what people used him as this kind of idol for someone who was very humble and that was what they were really looking to represent. So they hit this interesting challenge when they wanted to build a monument to represent humility. This ended up being a really difficult task and they actually debated it over and over again for many years in Congress. There were proposals to just build an equestrian statue. It was one idea, just totally classic George Washington sitting on a horse. They're like, how about we just do the same thing everyone does, like put him on a horse? But people didn't really like that, it just kind of seemed like something bigger needed to be done. Another proposal was just for a giant tome with an engraving on it that said, stranger, read it, citizens imitate his example. So there were ideas just kind of all over the place ranging for this monument and there were lots of debates back and forth on how grand this should be, what it should look like, basically what are we going to do to create this as a symbol? And eventually what happened is they really just couldn't figure it out and those debates pretty much just kind of petered out until no one was really working on this project anymore.  So on December 24th of 1799 Congress passed a unanimous resolution for a tome to be erected for George Washington at the Capitol despite the fact that he wanted to be buried at Mount Vernon. So debate became even more heated as this part carried on. The Federalists wanted to build a giant pyramid, 100 foot pyramid commemorating him. Yeah, just wanted a strong image of Washington to represent our country. Here's another, this is one of the kind of prototype drawings of it if the Washington monument was that I just crack up thinking about it. And Republicans didn't want the kind like idols so they didn't want an actual image of Washington to be shown. They wanted something more representative. Another person suggested another type of book to represent him, one that was not a statue but in which people could actually sign their names and everyone could write kind of their own message and write what is heart dictated and that would represent Washington because Washington is kind of in all of us. And eventually they couldn't come to an agreement, they couldn't figure it out and it just kind of petered out again. That takes us up to 1833 which is the 100 year anniversary of George Washington's birth when again everyone's like, oh shit, really gotta build that monument, like this is getting pretty bad guys. So in 1833 an actual group of citizens in Washington DC decided to take this whole thing upon themselves. They formed the Washington National Monument Society and they raised private funds with the explicit goal of creating a Washington monument. In 1836 they started inviting designs and said that the monument should cost no less than one million dollars. They really wanted it to be a grand grand thing that they were building. In fact they wanted to build the highest edifice in the world and the most stupendous and magnificent monument ever erected to man. There were a few other people on the committee who had slightly different ideas. George Washington's adopted son, George Washington Parker Custis actually proposed people just coming from all over America and throwing in their labor together to just kind of get a monument up and running in a few days. Basically kind of really early crowd sourcing to try to get the Washington monument built. But the actual guy in charge of the project was really stuck on this really giant grand vision and pretty much shot that down immediately. They didn't end up choosing a design until 1845. This is now 12 years later than when this organization formed to basically do this and when they did accept the design it was by Robert Mills and it was incredibly grand in scale. This is an actual description of what it was like. So and I'll go to a little more detailed view. So Mills proposed Columnade Building was 250 feet in diameter with 30-door columns each 12 feet in diameter and 45 feet high The coat of arms of each state was ornamental on the frieze above the columns and within the Columnade 30 alcoves were reserved for the statues that would form a pantheon of revolutionary war heroes. On the outside of the monument the awesome scale continued. Topping the Columnade off the roof or grand terrace 700 foot in circumference which featured a statue of George Washington wearing a toga and driving a war chariot pulled by six horses and then rising from the center of the grand terrace just behind Mills Imperial Washington was the obelisk itself. So everyone was like, yeah, sounds like a pretty good idea. Let's build that thing. That sounds great. And they actually at this point managed to start construction on it. The very first brick was laid on July 4th, 1848. Keep in mind that at this point we are 65 years from the very first proposal to build a Washington monument. They spent 65 years just planning. Just trying to figure it out. Just trying to even come up with a design that everyone could agree on. And this is a really easy trap to fall into.  You really get stuck in this idea of everything needing to be extremely perfect and having to spend all this time making sure not a single thing you do could be wrong or not be exactly the image and symbol that you're trying to get out to people. What ends up happening is that it really just delays what you're doing. It can actually just delay you indefinitely. There's lots of people who have these ideas and get so stuck in that planning stage that they never even start the project that they wanted to work on. The truth is that if you are trying to make your plans perfect and get everything right before you ever start them, you will never start. You will never start them and launch them against the massiveness of the environment and the total chaos of the world around us and your plans are going to fall apart anyway. So another moral to take away from this is just get your stuff out there early. Get it out there fast so that you can get feedback from the environment and so that you haven't spent what was it, 30 some years at this point? 65 years. Getting to the point where now you get to find out that you can start making mistakes. When we opened our shop, we actually went into construction with a plan of opening five weeks later. Everyone at this point seems to know exactly that that was an indication that we had no idea what we were doing. And there were hundreds and hundreds of things that we did wrong. If you come out to our apprenticeship or our workshops, we're always very happy to share those with people. One of them was that we put in black rubber floors as our mats, which if you run a float center, the idea of having black floors should sound totally preposterous to you. We had no idea that we needed to have towel storage. And so we bought a bunch of towels and we're like, oh. Okay. All right. We didn't have a receipt printer when we first opened up. And even when we got one a couple weeks later, we just couldn't get it to work. So people would come in and be like, can I have a printed receipt? And we're like, oh, yes. And we'd print them out a giant 8.5 by 11 sheet of paper that just had the text huge. We tried to fold it into their wallet. The very first float that we did did not even have a door on the room that people would go into. I just found out that our first floater was coming in 30 minutes and I could not get the door on. It wasn't working.  And the guy came and I just kind of held the flat back for him and I was like, listen. I won't come in here. I promise. Enjoy your float. And he got out and he loved it. He didn't care. He did not care at all. So even when you do launch things in the world and they are not quite complete and they're not how you'd want them ideally, people are really forgiving and they do let you grow with them. And that's an important lesson to take away too. The year is now 1855. There are 150 feet of this obelisk built. Plans are moving along until a quasi-political, anti-Catholic, anti-immigration party called the Know-Nothings stormed the construction site and violently seized control of the construction of the Washington Monument. And by the way, the Know-Nothings also used to be called the Native American Party because they were so anti-immigration and they were some of the first immigrants to come over, so no more. They switched that to nativists, I guess. That's a little feedback. So this is the representative, by the way. This is Citizen Know-Nothing. It's kind of their role model who they'd follow. So they ended up violently seizing that ground because the Pope had sent in a stone block from Rome as one of their ancient temples and of course being anti-Catholic, anti-immigrant, Pope sent that block in. Nine of them went at night, took the block, ran off with it, smashed it to pieces, and then took over control of the Washington site themselves just to run it. They also rigged the election of the National Monument Society so that they could control it and take over the entire project. And they spent the next three years trying to raise funds to complete the project and over the course of those three years they raised $51.66. And then the Civil War happened. And basically all of this fell apart at this point. It just kind of fell right back into sitting and nobody working on it and this monument just kind of stagnating again. And it wasn't until the actual 100-year anniversary of the United States. So now we're in 1876. The centennial is happening. It's been 21 years that the monument is just sitting there, a third built in the middle of the capital of the United States of America. We're all getting ready to plan this 100-year party and everyone's going, man, we should really build that monument. It's really starting to get embarrassing. And so Congress decreed in the name of the people of the United States at the beginning of the second century of the national existence to assume and direct the completion finally of the Washington Monument. And then the monument goes and takes another stab at actually hitting the planning portion of its process. What lessons do we take away from this? What are we supposed to learn from this fact that the Washington Monument has been unable to get past? I mean it's bad enough that it didn't get started but to get started one-third of the way up and then just hang out there? This is probably the worst monument that you could build to someone who you appreciate. It's just a half-assed, half-complete one. The lesson that we take away is Hofstadter's law which is it always takes longer than you expect even when you take into account Hofstadter's law. And there's some good lessons here about bringing things to completion, about setting milestones for yourself that if you're not able to complete something that is the grandest project that human beings have ever done in commemoration of another human being that maybe you make it so that those chunks as they go along can reach a state of completion by themselves and then you can add on more and more grand elements instead of building a giant obelisk that you're only able to make your way one-third up. This has happened to us time and time again. We, when we first opened all those five years ago, decided to buy a few desks from IKEA. It was the day we were opening, by the way. Just to have something in place, we needed something that people could walk into and made us look like a real business. So we bought these desks with a plan of replacing them very quickly. It is five years later now and these desks are still in our space. It took us a pill about three months ago to finally switch out our main desks away from these into an actual nice kind of finished thing that we had always envisioned many, many years ago. Even how our name float on was just a placeholder name. We couldn't think of a good float center name, so we're like, well, let's just call ourselves float on until we think of something better. And sure enough, that just hung out. So the things that you put there as placeholders, the things that you get partially in place, oftentimes end up being what you have permanently in place and suddenly you just have a third-built monument hanging out there for a ridiculously long period of time. Things can go wrong all the time. Things that you can't ever plan for. There's no way to predict all of the hurdles that you're going to encounter when you set out to do something on a large scale. And if you spend all that time trying to make sure every single thing is going to go right, none of those problems are actually going to come up and a whole set of things that you never even thought about are going to be what goes wrong for you. So one day, we were going to clean our black rubber floors because we were worried about water getting underneath. We wanted to make sure they weren't getting mildewy or anything under there. We tore them up and we took them outside to wash them off and just spray them down so that we could put them back in the room. We got them outside, we washed them all off. We went back into the center to get the room all clean. We finished leaching down the floor. We went back out around to the side of our building and our floors were gone. Someone had taken them and we had no idea who. And this is the kind of stuff that comes up when you think that you know how long it's going to take to do something. Someone comes and steals your floors and you find out that a garbage company had come thought that it was refutes and was now on the way to Oregon City to drop it off and deliver it and you have to chase after them in your car. Catch up with them, get the floors back and bring them back to your center so that you can finish putting them back in the room so your floaters can float in the morning. So it takes an incredible amount of time to get anything done. And just to give you guys an example of this, we have actually spent the last year in preparation for this conference keeping track of actually the amount of hours that took us to plan this very event. So I just want to run you through kind of what this looks like.  There was a huge amount of time that went into this. I had to do various things myself to get this ready including updating the website. I'm just going to kind of tally up hours as I list these out for you. We had to obviously gather all the speakers, all the information from all those speakers. We had to reserve all the locations for the parties. We had to get all the ticketing system up and running. We had to get all of the hotels set up. We had to figure out all the videos and AV. We had to get all the Friday activities all figured out. We had to get all the tote bags ordered and everything like that. We had to get the coffee mugs. I had to print and cut and alphabetize those name tags. We put all the podcasts together and everything together that I personally have done this year totals up to 1,256 hours. That is the equivalent. If you were to take this and break it into 8-hour days, 5 days a week like a normal job, 7.2 months worth of work. And that's just me. So what else goes on to all this? Well, I obviously did not do this alone so I had other people help me design this very stage. We had to organize the lunches. We had to organize the coffee. We had to put together parties. We had to put together that CPO training that we were doing. We had to design the programs and print the programs. We had to print all the posters. We had to put together the entire float center workshop and do that entire thing. We had to actually prepare this very talk right here. When you total all the time that the people that float on have spent putting this together that actually brings us to this. 2,839 hours. This just begins. So now we hit the stage where we have 2 days of setup actually in this theater just to be able to get all of this happening. In those 2 days of setup before our workshop started we had 34 people here helping us get this all set together. Over the course of 2,8-hour days you multiply their hours together that's 544 hours spent just in setup. From there we go into the workshop and it took people to run that entire thing and make sure everything was going smoothly. There were 37 people here helping to do that. It took a slightly longer days. So if you add all that together we're at 814 hours just to get the workshop to run. And then of course we hit the actual main float conference where 300 more people show up and it takes 62 people here to run this entire event that you're seeing right now. So if you take the time that they're spending here over the next couple days and add that that is 1,302 hours. So let's total all of that up together and we're at 5,499 hours to put this conference together if you were to take all that time and turn it into a regular workdays we're talking about 2.6 years worth of time. So that's crazy You know and even the simple parts of things that you think are going to be easy that you have a good idea and you're like oh just do that like for instance planning a balloon drop turns out to be just incredibly time consuming just to get everything planned and ordered and get everything ready to go for the balloon drop it was about nine and a half hours combined of Ashkahn and Ice Time getting all of that ready From here it took 11 hours of man hours just to blow up the balloons to actually fill the balloon drop to get it all ready to go Then it took about 15 minutes last night after everyone left the theater to sneak it downstairs and when you weren't looking and there were still some people in the hallway we ran it across and hid it in here so you guys couldn't see it about one and a half hours worth of stage hand time to actually get that thing all strung up hung, make sure that it wasn't hopefully just going to start popping randomly or drop before we walk out on stage and that takes us to about 30 minutes of adding the balloon drop into this presentation and gathering all the photos and making sure that it looks good for you guys which leaves us with about 22 and three quarters hours that it took just to get that balloon drop to happen at the beginning of the presentation So over at the Washington Monument site the debate continues we now have a congressional committee meeting to bring this project to a close really trying to bring it out and now the debate has actually moved away from what the symbolic nature of this monument to be no one really cares about that anymore Instead what everyone cares about now is the actual aesthetics what is this thing really going to look like what type of pillars should we use what type of finishing should we use at this point that we're supposed to become the Washington Monument So much more ornamental than we ended up with So then this fellow Thomas Casey who was an engineer with the army came in and he was actually brought on they couldn't decide on the design of all of those crazy ones they just could not ultimately decide on anything but they were like we gotta start actually building this thing So they brought Casey in to start the initial just work and building it and he was absolutely forbidden to design anything the design would be handed down from the committee itself not coming from Casey and so that actually worked out really well for him because he was a minimalist engineer and so his whole belief in design was complete lack of design and getting it down to as simple elements as he possibly can so when they told him that he wasn't allowed to design anything I picture him just kind of maniacally in the bathroom going yes it's all according to plan and so we actually took the initial pillar from the Washington Monument which they decided to still have that pillar as the main thing and that's already a third built so finishing it was kind of job number one and he just came on board and he's like I'm gonna finish that pillar and he started stripping all the decorations off of that too some little star you see up there little plaque on the side he starts making proposals to the committee and he's like hey I'm not supposed to design things but there are design elements on here can we just remove those things since I'm forbidden to do it and so he proposed something that was much more like what we see right now is the Washington Monument another interesting note about BC is that he was incredibly stubborn once he got brought on board for the project he came in he submitted his resume they hired him and then they started trying to tell him what to do and we're like okay we voted on this here's what we're gonna do for the designs and he'd be like no no I'm not gonna do it and he just pushing his own agenda and again whenever he run into barriers he fell back on their own guidelines and he's like I honestly don't think I'm even allowed to do that like I'm supposed to finish this pillar and just engineer it and I can't even have my hands in design which is really a tricky way to go about hanging someone by their own noose this entire time that he's continuing building this thing Congress is still meeting to accept applications figure out what this thing is gonna look like they're still looking for a designer and he's just like okay great this thing built higher and higher and higher you can actually see on this photo a third of the way up is where is where that obelisk sat for many many years there's actually a visual difference if you go to Washington DC you can still see it right there the difference between the limestone which they couldn't match from the first third and top two thirds of that obelisk they got it as close as you can now once you know that too you just can't help but see it I had no idea until we started studying the Washington monument now when I look I always see just that third base sitting there underneath so there's a picture of them actually finishing up his project of just the pillar which is really amazing and that got done in I lost my place in my notes 1885 1885 and at the time it was not only the tallest man made structure in the world I was also one of the most technologically advanced and instead of having design on the exterior Casey had actually put an entire humongous elevator on the inside of the Washington monument which a variation of that is still there today a funny little anecdote too the molding around the elevator on the door leading in he thought really hard to have the molding removed so the face of the Washington monument was just a giant flat slab you couldn't even tell that there was a door in it so it's kind of like secret elevator inside so 1783 to 1885 that is 102 years to build the Washington monument of those 16 of them were actually spent building anything the Statute of Liberty was Statute of Liberty was actually built just one year after this which is really crazy to think about those seem like very different time periods but one year after this project finished the Statute of Liberty finished as well this Washington monument started before we even had a first president to the United States and it didn't finish until we had the 21st president was in office and it actually concluded and it's still incredible it actually is still the tallest stone structure in the world yep freestanding it doesn't actually have any mortar in between so all of the blocks are actually just fit with gravity and friction on there which is really pretty amazing so still a very beautiful thing even after all this time so what do we take away from all of this what are the lessons that we learn well we think that Thomas Casey was successful because he focused on getting a monument built just on simply not on worrying about pleasing everyone not on trying to get the plans perfect not on building the greatest monument to another living being that's ever been built in the world it was that there's a third finished monument to a great man in our country and he just wanted to see it done to some kind of completion that would actually mean something he had no more resources than anyone else did this is all working through the government or these places with a lot of money it's not like he managed to just have more funding to allow him to be successful yeah so when you look around you at these different things that get completed when you see grand things like the Washington monument or really anything of beauty or of scope that impresses you just know that that's what went into it it was some person really taking ownership of that project and putting in the hours and not listening to the naysayers and just putting in the work that was necessary to get that done and this is a really great thing to realize because you know this determination and this capacity for hard work that's something that everyone in this room possesses the money the expertise these things can help but in and of themselves they simply fall short without that one piece of the equation the real key to accomplishing something of this significance in this world is being willing to put in the time to get it done thank you good good there we go clean this up for them as late as the hours that it's going to take to clean all this up too thank you guys


So, notice that when you say low text requires both columns to be of the same length, what do we mean? The number of lines of data must be the same for both. You cannot have some columns empty for the some rows empty for one column, because it is we noted that arrays are homogeneous data structures. So, it has to be filling every value. So, for that purpose you have to ensure that the data is in the right format. So, are we all comfortable with loading data? This is the most useful probably the most common use case you will do. Read existing information into a file or have an existing information in the form of a file, read that data into variables using low text. We note that low text will directly do the so much of work it is doing. Read one line at a time, convert, parse it, break it into pieces, convert to float then load it into an array. All that is done in worth one line of code. So, unlike primes it is not a simple sequence. So, if you notice I read it into variable called l t the full file name is of not real interest. It is essentially the low text. So, now for this to work both should have the same columns all that we said. Once you have done that what do you get? You get a single array of arrays so to speak. So, that may not be very comfortable. You may have you may be more comfortable saying you know I want two arrays so that one is l, one is t. You can do that. If you say unpack equal to true you will get it nicely unpacked into two things. You can see l is the first column t is the second column. So, whichever way you want you can get it. You can either get it as an array of two arrays which I did in l t. So, l t gives you one pair it gives you a list of pairs of l and t values, but it may make more sense for you to have all the l values in one variable and all the t values in one variable. That is done by using the unpack argument. Let us repeat low text is essentially a convenience which reads a set of data, parses it, converts the data type and loads it. It is almost always what you want. Rare occasion if it is not you have to do stuff the wrong way, but in those cases you are better off using the shell scripting you learn to take the data chop it into pieces reassemble it and then do a simple low text rather than trying to write python code to change it. Supposing there is some text data low text will vomit anything other than numeric data gives low text indigestion. So, the best way is to not write special python code instead write a simple bash script which removes the column and then use that resultant file as input to a low text. Now, we want to plot l versus t square and produce an approximate straight line. So, we have a function called square which we can use we could also iterate over we have done for loops and all that right. We could laboriously go say x equal to something then x equal to x plus t star t for t in t all that you could write, but that is not how scientific computing people like to think you like to write like mathematicians. So, simply write plot l comma tsq like this can even do better and you will get sorry c l f would be preferable. You will get a lovely looking straight line like that if you squint it even looks like a straight line. Obviously, this is not the case for drawing a continuous line correct this is experimental data. So, you should have plotted using points are you in agreement those of you are awake at least are you in agreement sleepers we do not have to worry about. So, this is more like it this tells you that yes there is a linear tendency and that is about it all right. Now, please note that in two lines of code low text plot we have managed to read a whole data file do data conversion and produce a plot.  Experimental data also contains errors you normally do not get you have limits of error in an observation. So, we normally like to do error bar plots rather than plotting a single point you plot a symbol that measures the spread within which the point can exist anywhere all right. So, that we do by the error bar. So, we now have a four column data L t the error in L the error in t is available as four columns we can read it with one line that slash is for continuing a long line across two lines. So, L comma t comma L here equal to load text pendulum error dot text unpack equal to true insures you get four variables rather than and one array of four arrays. So, you can do t s is equal to t and then this instead of using plot you use error bar to plot you will get you do not have a capture. So, this command reads it L t L r t here unpack equal to true reads it into four. Now, we need to instead of plot this is the error bar plot essentially captures the possibility of the error in each of our data points. Effectively when you say error bar you are drawing that many graphical items. So, which is why the screen will be full of mat plot lip objects for each of the 90 points you are drawing one graphical object. And there are different format for how you want to draw them how do you find out what are the formats simply go through the error bar man page. If you do not do error based plots you are not really going to appreciate what is happening, but if you essentially the idea is all experimental data has some range or tolerance or a range of expected error rather plotting a point which is fictitious because your data is not that your data is anywhere between length is L plus delta L plus there minus delta L. Similarly, your time is delta t plus delta minus delta t within that range. So, you should actually say my point allies anywhere within this square. So, the error bar which is essentially a way of seeing graphically showing that this is what is happening. As you can see there is a lot more error in the L side and lot less on the vertical side. The graph is a little any questions error bar is essentially a shorthand for one plot followed by 90 plot or 90 line drawing and you have different format for error bars. Can we move on your other plots? Yes the scatter plot you could do pie charts. In a sense the plot of L versus t square was a scatter plot in the way we did it. Notice the d type equal to int type of int because you do not want years to be shown in the x axis as 2002.0. That would not make sense nothing special about a scatter plot. Even the L by t square plot we did earlier is a scatter plot. You do not have to call it a scatter plot simply say plot L comma t square with O gives you essentially a scatter plot. Here you do not are you are not specifying. In a sense you can think of scatter as nothing but a shorthand for a specific plotting style. It is the same as plot year comma profit comma O. Can we move on? You can do a pie chart, you can do a log log chart each one of which you will avoid the typing practice. I presume if you understand what the various features are you will be able to replicate it. Can we move on? Let us talk about arrays. Like we made a comment earlier arrays are similar to lists but arrays are homogeneous. They are much faster than lists. The slides arrays are faster than arrays in a slightly self referential metaphysical way but ignore it. It is a typo it should be arrays are much faster than lists. Because they are homogeneous and immutable the underlying code can do a lot more of optimization. So, that is why arrays are much faster. So, instead of list instead of simply putting in square bracket 1, 2, 3, 4 you have to use the key word array a 1 equal to array of a list. So, it 1, 2, 3, 4 in square bracket is a list that is converted into an array by the constructor array. You remember both low text also returned arrays, low text returned arrays, lint space returned arrays. So, we have been using arrays till now without drawing too much attention to the fact.  You can also think of arrays as matrices. You squint in a particular way they are matrices. So, identity 3 gives you a there is a concept of shape for arrays. Concept of length for arrays does not make as much sense as shape because length will only tell you one dimension. So, shape tells you please note unlike length shape is a property. So, array dot property it is not a function. So, identity gives you an array 3 by 3 unit matrix write out identity of 3 try out 0s 4, comma 5. So, what is the idea of 0s like instead of specifying a shape which is what 0s takes please note it is a shape you have to give it a tuple that 4 comma 5 within brackets is required you cannot give it. So, 0s like instead of a shape looks at an existing array and says of the same shape. Why is it better? In a program you may not know the actual shape of an array you are getting. For example, if you have read through using low text you do not know what shape it is, but you may want an identity matrix of the same shape for some mathematical matrix operations. So, in that case 0s like or 1s like will become useful you do not have to check for the shape and then create another. Is that idea clear? There is a similarly 1s like and 1s empty empty and so on and operations on arrays I will use one of the existing arrays I have I have an array. So, what do you mean by operations on arrays? L star 2 gives me a new array where each element is multiplied by 2. This is what a mathematician would like would write with a matrix 2 a means a scalar multiplication of a matrix and so on. So, you can also write a star a which will result in not matrix multiplication element wise multiplication the corresponding element will be multiplied. So, this is one of the biggest advantages of using arrays your whole code becomes very very simple. How many of you are teaching computer science particularly CS 101? I am sure one of your biggest lab exercises is multiplying two matrices. We do not do any such thing we simply write a star b. We do not have to worry about indices as keeping track incrementing the index variables none of that. So, this is the power of the idea of using arrays. One of my students in an earlier batch used a phrase which I have started using myself I carry it think wholesale do not think retail. I like that expression in python you think wholesale you use the array in wholesale rather than one element at a time. So, and please remember arrays are immutable. So, you cannot say a equal to a star 2 and things like that that is not recommended. Similarly, when you say a 1 star 2 a new array is created which is each element is twice the previous one. So, you want to use it you say b equal to a 1 star 2 and so on. You are going to have a little bit of a tricky thing with keeping track of the proper what is properly happening a star 2 what is happening a 1 plus 2 what is this supposed to do all the elements remember that think wholesale do not think last element first element some 2 is added some some honor no remember that. Similarly, a 1 star a 2 which is at the bottom again is it is not matrix multiplication all things are element to element. If a 1 plus a 1 is creating a new array whose first element is the sum of the first element. Similarly, a 1 star a 2 is a new array of the same size the first element is a product. If you write a equal to b star c the first element of a is the product of the first element of b and the first element of c. Where is that useful? It is useful in some areas it is not matrix multiplication sir, but I want matrix multiplication you can get it using a function called dot. So, dot a comma b will give you the dot product of a and b which is essentially the a dot b which is the matrix multiplication. In lists you would have seen something called slicing correct same ideas carry over to arrays. Once again think wholesale slices allow you to think wholesale even when manipulating pieces. So, a of 2 is an array if you have c c of 2 comma 3 is another array. So, your code becomes very expressive and very simple. So, here we have an example change the last row into all 0 c of minus 1 you could have simply written c of minus 1 equal to 0 is like. Now, you do not even want to know what is the size you do not want to type that many zeros. This is the most powerful facility given to you to go back to that joke which is in my opinion very useful think wholesale.  You would write it like you write it in mathematical notation. You can ask again c colon comma 2 is another array which array is this is essentially the third column not second column remember indices started 0 minus 1 is the last column and so on. You want to access a row you would set c of 2 because c is a two dimensional array c of 2 will give you the third row c colon comma 2 will give you the third column. If you have done slicing we are essentially extending the idea a little that is all if you have done this slicing. Any questions on how to look at arrays are essentially matrices in a certain manner of speaking if you as long as you remember star is element wise multiplication not matrix multiplication that is a separate function available for you to do matrix multiplication. You can say arrays are matrices which gives us a very powerful way of doing certain classes of image processing. An image is essentially an array how image has a certain size so many pixels by so many pixels and in each pixel position some data is available. What is the data that is all for an image more than 0 or 1 there is an RGB value that is a actually 4 integers are there running from 0 to 255 correct slightly more noise will convince me you are not yet fully asleep yes or no. So essentially an image is a what size star a we can do that by doing this I am read is given available so I am read is a wrapper around reading of graphics file and bringing it up providing it an interface as if it is array data. So do this you should be able to see so if you do this I is an array how do you know that the array 300 by 300 so how do you do this sort of image processing meaning I just want the top left hand quadrant of this image how do I get it we are told this shows this road load the image let us do this I am show so that tells you the colors are a little off but they are red and blue. So given that this is your image and this is loaded into an array which is an array for all practical purposes for us to manipulate how do you do certain image processing namely how do I get back this top left quadrant time to really wake up and start talking 0 0 to 150 150 how do you do that. 0 to 150, I hope you understand this is going up to 0 to 149 which is correct sorry does not give me anything I have to do I am show I am show which is we got 0 to 149 which is essentially what we wanted. So if you remember all the manipulation of array is available to you and the array is loaded as an array a whole class of image processing problems become simple array manipulation problems for example you want to reduce the resolution of an image by picking up every alternate pixel very simple to do you want the center of a picture again simple to do you want to rotate a picture you can think of whatever you want to do do the manipulation on the array and the result as an image gives you what you want we are by no means suggesting this is the way to do image processing in python there is a huge python imaging library till and there is open cv which is computer vision library which is available in python. So those are the ways to go if you are interested in serious image processing but quite often we are looking for some very quick minor manipulation which is more than sufficient for this sort of an approach you want to do serious image processing you are of course point recommended that you pick up the appropriate libraries p i l and open cv come to mind but fairly often what you need is a very simple tweak of an image this approach will give you more than enough to do here is a laundry list of operations just to complete the picture whatever you want to do you can do in one shot think whole sale once again using arrays transpose dot t so you want to transpose an array or do a consider and operate something as a matrix it is an array dot t gives you the transpose of that matrix the product the matrix product or matrix multiplication as noted earlier is obtained by using dot of course inverse and determinant available there is also a rather peculiar sum I do not ever recall requiring to add every element in a matrix but then eigenvalues and eigenvector singular value decompositions all of that is available as a very simple one call function all right once again just think of the matrix composition let us do whole sale you will find one operation to do what you need you do not ever have to code the nuts and bolts of any matrix manipulation because it is all done for you already we nicely so if you look at this essentially the l by t square plot for the pendulum now a straight line does not make any sense if you have to do this does not make any sense does it this line has no relevance meaning it is ridiculous to draw even such a line so what is the correct straight line to draw for these points we know there is a linear trend what is the correct straight line to draw for this the least square fit so least square fit is something which is often useful so you can do a least square fit fairly straight forward do this now comes little bit of heavy lifting we essentially are saying for each t value there is a m and c we have to find and in a sense take the best average of m and c for each l t value there is one m and c which you know can be thought of as existing that is why there are so many different looking lines so if you are able to say in some sense I need to average out this m and c so that I can get a single line that is one way of looking at a least square fit so you have to get used to looking at equations in the matrix form rather than the more traditional form so t squared equal to m and l plus c so t square is this you can think of it as p s q equal to a dot p where dot is the matrix multiplication and p is your m c now if we can find the best m and c then we can plot and that is very easily done now you see the use for once like what do we need once like l that is l by the way it is not once like one it is once like l capital l might be nicer anyway you have a built in function called l s t s q it returns a lot of stuff the first is the m comma c if you do that you can then plot and see a much better line which goes through the middle of this band which is how the best least square fit line would be all right so you have the slides with you I suggest you read this do the least square fit and show it to me if you have any doubts ask you plot the points and the least square line so that you can see how the least square line is somewhere in the middle of the points for some values of the word middle the machinery required is stated as l s t s q then the transpose once like and in order to understand where the once like comes from we have written out the equation here you can see that one column coming so you need once like and this is in this form you know l 1 is a row vector so you need to transpose without even those things you should be transposing but this is why I wanted you to do it because you are now becoming typing you I say something you type without bothering what we are typing please do not stop that just a little bit of extra effort and you can do it so run once like by itself in this type once like question mark once underscore like question mark it will happen there will be many things which we do not cover which you will need to know so go back to the built-in help see we have this this is produced by t square correct this is produced by l this once you require where does it come from why once like otherwise to find this size and then feed it there is a whole idea of once like you do not do two steps find the size and then shape and then say simply this and these are in this form but but actually l 2 and l 1 will be in the other form you need that for multiplication correct that is why transpose I made this point earlier ok the question is related to something we talked about precisely showing this I talked about yes or no I am a very nasty teacher I know exactly when I talked about what showing this I said please note it is a tuple we are giving a shape it is not two arguments it is not two numbers four and five that is being given what we are giving is four comma five matrix of size four into five that is different from two numbers four and five the shape four into five is different from two numbers four comma five right how am I how do I tell you I am passing one shape description rather than two numbers good question but unfortunately it was explained long long ago alright can we move on let me repeat this is recipe based cooking style take this dump you will get it eighty percent reasonable food you will get ok so far if you notice we have not written one line of code he said ok how do I get a plot type plot how do I do x do this this complete this whole session is the recipe based how do I get x done for different values of x we have done it how do I get interactive plotting how do I save to script for each one there is one or two points to remember that is all but real world work requires putting together lot of these things for example a recipe may simply say how to make rasam but if you want to prepare a feast for ten people you have to make seven eight item so in that sense you have to put together many of these tweak them a little once in a while you might consider calling up somebody a without a tomato how do I make this so combination of all of this works but at a simple level this whole session is about you know what it is very easy to do some fairly complicated thing pretty easy to do if anyone has ever generated a chart in say C or any other language as anyone had that misfortune do you know how many lines of code you have to write and how much of debugging you have to do with those libraries here you get it in one shot plot a comma v so that is the whole idea of covering what we are covering so both for your own consumption and when you are training other students please try to focus on how very simply fairly complex things can be done that is a moral of the story you have to focus on do not get lost in all these zeros like ones like commas and full stops the most important thing is you are giving a toolkit for an engineering or a science student which has uncomparable power and ease of use two lines of text a student can read data and get a plot load text followed by a plot I cannot overemphasize how powerful and empowering it is in all this syntax I do not want to us to lose track of why we are doing this program is not for filling up those forms and making them jump through hoops to send a wire transfer that is not the objective of the exercise objective is to provide students of science and engineering courses are very powerful easy to use toolkit in all this hall of we are forgetting that in our own individual struggles with the computer with typing with all the small letters with these new language let us not lose track of that we are here to reveal how easy many important things are for an engineering student with how easy they are to accomplish in the choice of platform we are discussing that is why today's whole approach in this whole advanced python session you do not see write n lines of code to do x you did not have to write more than two lines to do anything yes or no rarely you might have had to do three lines you will see the continuum you want to solve equations you will spend more time typing looking at this slide than actually solving the equation because solving the equation is child's play it takes more time to type the damn setup of the problem solution is half a second it takes lot more donkey's work to set up the problem as usual you are discussing thousand by thousand arrays they can be loaded in by using load text obviously we are showing three by three for showing solve if you are doing large scale optimization problem with matrices of the order of 500 by 500 and their coefficients are in a file once again load text is your friend load it you got the array till the same solve am I communicating let me repeat it takes lot more time to explain than to do these things it takes lots more time to type than to do these things so how do you verify we actually solve you know x this brings us to one interesting problem namely floating point round original is supposed to be one minus two zero but you get some non zero number it is actually what we could call machine epsilon meaning the smallest representable floating point value round of error so the computer decides you know what it is not zero 10 power minus 16 is as good as zero for all practical purposes but we do not know whether it is zero so there is a built in function called all close which allows you to verify if they are different are they different above a significance or below a significance you know there is a built in round off so all close verifies that if there is a difference between a x and b is that worth considering is it significant or is it simply carry over round off type of problem in this case it says all close a x comma b is true in which that means a x is close to b in other words that solution is as good once again think of it as a recipe how do I verify whether it is a solution do not verify by saying a x equal to b instead all close a x comma b because all close has that one bit of extra intelligence built in it checks whether two things are near enough if you want to use mathematical language sufficiently near a minus x less than epsilon for sufficiently small values of epsilon that is the need for all close and when you teach I would also suggest you think about teaching it that way rather than what all close does all close is something you use to ensure you got the solution and this is the purpose once more you will spend more time looking at the slide then solving you want to solve a polynomial equation you will spend more time setting up the polynomial only one bit of thing to remember the highest degree coefficient comes first another half a bit of thing to remember if a term is missing there must be a 0 here if you can remember all this then you can solve polynomial equations simply say roots of that is it now you have obviously this does not draw you are showing you the drawing to see that 3 and 2 is where the roots are so solving polynomial equation is very simple this actually raises a certain class of problems in the pedagogic and academic world you have a paper called numerical methods how many of you have to teach it or have to be around when it is taught any of you numerical methods probably they will teach for whole whole session how to solve using Newton-Raphson iteration and all that obviously we are going to use Python to do numerical methods you have a major problem in fact Tuna University is having that problem they somebody decided oh Python is so lovely so how do you do Newton-Raphson iteration using Python how do you explain that I think this is all you cannot see Newton or Raphson anywhere here so if you are going to use this to teach numerical methods remember it is a bad idea you are better off using a lower language like C if you want to use nr to extract a root go Python way if you want to understand how to implement any of those algorithms going to Python is the wrong idea because if you are going to use built in if you want to write by hand yourself that is fine you can write in Python if you are going to implement re-implement roots yourself that is perfectly okay but do not use the existing library functions to teach any of the algorithms it is a waste of time student will come over it is all of very nonsense we are the wasting so much time teaching this it is simply half a code that is not what you want to leave them there all right this is a what about x squared minus pi x plus 6 obviously known is ever going to use anything like anything like an artificial thing to solve you will probably solve it mentally and say x minus 3 into x minus 2 and be done with it but that is not the point we are trying to explain the method but if I have a solution like this sin z plus cos square z the 0 of that function here now we are discussing non polynomial functions and 0 of such non polynomial functions those require a little bit of extra work what is the extra work you have to import using this particular mantra has to be chanted once and you have to import that f solve and the argument you have to give to that is a function itself has to be given as an argument what you mean by that so I want to solve sin x plus cos squared x near 0 right so f solve takes two arguments the function and an initial value we wanted near 0 so let us say boom it says name z is not defined so we have not really understood how to use f solve not much of a news note carefully we do not declare it is not working we say we have not understood how to use f solve it is very much working it is complaining correctly so how did we solve this typically we had a z or x equal to lin space now z we have not defined that is the problem let us say z equal to we want a solution around 0 so let us define z over minus 1 to plus 1 z equal to lin space minus 1 comma 1 comma 200 now let us run our f solve it is even more angry now that is earlier the message could be understood now it is saying numpy dot indie array object is not callable translated to English it means it expects a callable as the first argument we instead gave it an array y array z is an array so sin z is an array you know that by now right so what we mean by a callable we have to give it a function but f solve is a function how is it supposed to get a function as an argument welcome to the world of modern intelligent languages python is a language where functions are first class objects functions can be passed as arguments to other functions functions can be returned from function as return values functions can return multiple values each one of which will give indigestion to a c programmer and nightmares to a java programmer so what we need to do we need to define an executable function and then give it the way to define a function we already know I presume define f of x is return sin of x star sin of x plus x sorry this is a pure function x is a place holder so now we go back to f solve and say here we cannot give x because z is the only you do not have to give z or anything actually you simply have to give f because f is a function what do you mean f is a function let us see what do you mean by f is a function functions are first class objects in python so I can do this now alpha is a callable it evaluates f all right so we need to say f solve we do not need all the complications simply say f and you get the answer the key the biggest thing we introduced here is the power of the language in that it allows passing a function as an argument another function essentially what is it doing you gave it an initial value 0 so it will evaluate f of 0 and evaluate f of 0 plus some alpha and f of 0 minus alpha how can it evaluate because f is a callable it will give two values on both sides of 0 evaluate then look at it and decide which way it should move in order to go to 0 so it will iterate many steps and go that is all so it requires the ability to evaluate the function f so we need to pass it the function itself in other words we need to follow it pass it a if you are writing this in C what would be the closest equivalent for f anybody if you are trying to write the equivalent in C what will be the closest equivalent for f what is called a pandering value that is a function pointer f is nothing but a pointer to a function made very simple to use inside python no complicated declarations complicated brackets and stars all over not knowing which combines faster nothing you need to know functions are first class objects they get moved around do you understand the idea the function f solve takes two arguments sorry I solved the wrong one I solved sin square z plus cos z that is why I got a different answer but the function f solve takes two argument the first is a function so we have to define it and then pass it note the absence of an argument we are not passing a specific value we are not evaluating the function at a specific point and passing that value you are passing the function itself loosely speaking think of it as we are giving it the function pointer so that the function f solve can repeatedly invoke g and we are giving 0 as the starting point because we want a root near 0 nonlinear solutions are notorious for instability problems so you have to give an initial value which is close to the 0 you want otherwise sometime they may not converge even now they may not in which case python will report the first time for 50 iterations there was no convergence so you have to either change the number of iterations or say that there is no real solution around that place for example it may simply have a point of inflection around that area rather than a function rather than a 0 so multiple evaluations on both side will simply give you a different signs but there is no real 0 there but those are issues only if you are going to solve very complicated equations for the purpose of teaching probably you do not have to worry beyond the important implication is the functions as first class objects in python concept to repeat functions can be passed as argument to other functions functions can be returned as return values from other functions and almost in passing functions can return multiple values every one of which makes for wonderfully easy readable and bug free program writing can we move on ok ODE is same story slightly different chanting to be done this time from sci pi dot integrate instead of optimize import ODE in then this is the differential equation you are setting up once you have done that you can solve a differential equation it suggest you look at it come up with the plot yourself and then also look at the next to two once again you will spend more time typing than doing if you appreciate this is the equation you are trying to solve d y by d t the number of infected people is why so d y by d t measures the rate at which new people are being infected we hypothesize it is the product of infected people and non-infected people and we want to investigate if this is the model of spread if we say the rate of spread is proportional to the product of the number of people and the number of uninfected people and the number of infected people then how does the epidemic spread that is the question we are trying to analyze and so we set up a differential equation of this type and in normal world what do you mean by a solution we are used to a solution is y equal to f of t a function but when we are discussing numeric or scientific computation for as a solution is a set of values for this t value this is the y value for this t value this is the y value essentially two arrays are the solution because we cannot okay we can that is called symbolic and if you remember professor Karnan's lecture there he did talk about symbolic computation in python also sage can do it but we are not discussing symbolic computation regular solution in normal terms means you will produce one set of values for the dependent variable and the corresponding set of sorry one set of values for the independent variable and the corresponding set of values for the dependent variable then you are deemed to have solved the differential equation for this t value this is the y value so if I want I can plot y versus t I didn't I do not attempt to provide a closed form analytical y equal to f of t where f is some complicated function that is not the goal of solution solving of equations in these sort of context agreed for example in the quadratic equation we don't try to apply b square minus 4 ac we arrive at the number directly because that is the purpose of this sort of computation. So once again setting up takes more time orient like notice e p i d is the function we just now set up which is essentially translation from maths to python of dy by dt equal to k into y into l minus y that is maths translated to python the same thing is here so that is e p i d having done that 0 to 12 61 points over that then we are looking at one year's time 12 months 5 points when each month you can think of it as time that is the scale you are looking at so how do I solve in other words how do I get the corresponding number of infected people at each of these points of time at point 0 what is it at the end of one fifth of the month how many people are infected that is the answer I will get in the y array so how do I get it simply type y equal to o d e into e p i d 250 t over where is the 250 coming from that is part of the initial conditions number of infected people at the start is 250 that is it and you will get something like this which is very cheerful it says ultimately everybody will get infected and that is when the infection will stop spreading further because there is no one else to infect not very cheerful but ok that is what the model is here please remember luckily you are not applying for a ph. t in biotechnology no one will give us that this sort of model but the goal was not that either ok but I want you to appreciate this key thing and also convey the same thing to the students what is the idea of solving in a numerical context mean it means arriving at this sort of value that is all not coming up with a close form answer that is something you will have to convey because in my experience students get very confused when they say we have solved it but they would not see a function because traditionally solving is associated with coming up with a close form analytic function when you do your research or your thesis work you are aware of no there is a difference but the average student may not be aware of this distinction. The next bit is about one more more complicated example of ODE here we are showing how we can solve a higher order differential equation by treating as a system of first order differential equations because a system means matrix and we know what to do with matrices you have lot of functions to play around with matrices and that is exactly what the next set of the exercise does set it up and you will arrive at the solution which essentially is the plot of both amplitude and what are the two things we are looking at and angular velocity as over time because that is what the equations were set up for theta and omega we decided to solve it as two differential equations theta and d theta by dt and d omega by dt. So, when solved solved within quotes you will get theta plotted as a function of time and omega plotted as a function of time if you look carefully you will see that when theta is maximum omega is minimum etcetera you know that when it goes to the end of oscillation the angular velocity is minimum, but the displacement is maximum and when it comes to the center the angular velocity is maximum, but the displacement is minimum which is a physical description of a pendulum which is why where it crosses the 0 and where that crosses 0 both of which you can understand looking at it and say yeah this describes a simple pendulum. Let me repeat there is nothing interesting or even remotely intelligent about solving using typing ODE into because there is nothing to it this is the two lines setting it up is again bookkeeping work you simply need to know how to set up your equations which is more of a bookkeeping work that is all having done that solving is typing two lines of course you have chosen a simple problem, but remember more complex problems simply mean more typing to set up solution is still the same online when it is all equal to ODE into this and that that is it you will spend more lot more time typing up this probably am I communicating stop here for a quick review just ran through some of the higher end modules the key observation with those modules is using them is very very simple once again it is simply typing half a word or one and a half words to get anything you want the actual process of using them requires some amount of setup some amount of bookkeeping, but once you do that the actual using for solving polynomial equations for solving linear equations or solving non-linear equations or solving differential equations is ridiculously ludicrously simple. If ever you have struggled with doing any of this for actual computation for any particular work then you will appreciate this lot more this is given more as see what all can be done rather than because we expect your students to be solving ODE is using Python as part of their program I do not know about postgraduate students may be they would be requiring, but chances are low for the others so for the others your goal in teaching these sessions to be to show how powerful and easy to use it is rather than you cannot be taking over the role of teaching them differential equations you have enough trouble as it is that is one piece of trouble we do not need all right.


Ah, one pillow, two pillow, now I sit down and boop, look how high I am. I know, I know, very cute of me, I'm six foot three, or 190 centimeters or something like that and I still need to put pillows on my chair so I can be on the same level as my camera. Ba ba ba, today is Jung's Star, today, woo! My gold trap bias, Jung Jung's got his own show, it's called Jung's Star and I can't wait to know what happens to this, what happens to me, it cannot wait to be dead laughing. Nah, but for real, I can't wait to freaking watch this, woohoo! The energy I have, it's overflowing, hmmm! Nah, but for real, I see so many similarities, similarities, similarities, similarities between Jung Jung and I. One, we fall over all the time because we're clumsy. Two, we're very energetic. And three, we're just meant to be, we're just meant to be, okay? Nah, but for real, I love that man, super funny, knows how to bring joy to everyone without even trying, or, trying. I love it and man. Oh, man. I wish I could like just meet Golcha one day and Greet them in their native tongue because I'm starting to study Korean once again I got like my books that I've had for like a while now and It's hard to study by myself. So if anyone wants to teach me Korean, then please help me I'll probably even pay you. I don't know how much we'll discuss it But please someone teach me Korean, but anyways Wow Yeah, jake star. Let's go jake star Let's go.   It's like you're taking care of yourself during COVID-19, right? Hi, how are you? Ding-ha, ding-ha! Hi, hi, hi, hi, hi. You're wearing a band-aid. I thought you were going to sleep today, but you didn't. What's up? It's your first walk with Dingo, right? Until I become a superstar, I'll do my best to help Dingo. Let's go! I'm wearing a very comfortable pants. My wife is Kim Do-an. Today, we're going to take a walk with Dingo. Oh, my goodness. That's why we're here. Oh, thank you. What should we do? Do you think we're going to play a game? A game? But does Mac also play a game? But I'm from the Galaxy. You can, but not that well. There's not a lot of games to support it by Mac. How many hours do you have here? In a good way. I'm going to take a book. The best... Didn't I say that? Wait, wait, what? What was your thought after hearing that you would film for six hours in a room?  This man! This man! This man's as wild as a wild cowboy. Get him! Where does my life come to when I support it? Hey, Dingo. Jung, Jordan and I? Yeah, I don't know.  Hmm. Yes? Ah... Samsung. Ah, let's read this together. Oh, he's sponsored by Samsung, so we can't... Ah, mm-hmm. Not Samsung. Oh, without you. That's a good apple. This is Jang Jun. The highest on the street. This must be the one. The body is 178cm. Ah, it looks good on you. Next is the hobby. Ah, film and playing. You were very innocent at that time. If you use it now, it's a drink, right? Yes.  Oh! Support! Turn the channel upside down. Oh! Yeah, I'm excited. I mean, I've gone for like two bottles of wine the last few days. So, I mean like... Yeah, mm-hmm. And they only give me tipsy. Mm-hmm. That's why I can't wait to like go to Korea and just drink there. Because, oh bro, I reckon I can handle it a lot. I made some tipsy. Oh! I'll use that to make a bridge. What? A bridge? No, no, no. Wow, there are so many. First of all, I'll start with the easy ones. I need to give you an insight.  Oh! Oh! Mm-hmm. It's no use. Oh, then... Okay, everyone, I'll raise a big line for you. Two bottles of wine... Yeah. He bowed twice, so I'll do the other 106, okay?  Oh, that was terrible. Why did I do that? I did it for you, John. Was that worth it? I have no idea, but you know what I do have no idea about?  You know what? I agree. I really agree. I would rather eat poop instead of do that again.  Anyways, let's just get back to this. I'm a struggle with this. I'll join you. I've been waiting for this moment. I got lemon juice. Can this really be that sour? Yeah, yeah, it can. Yeah. I got pork belly in the fridge, and I'm cooking it tomorrow. No jokes. Going from lemon juice to coffee. Oh, hello. I'm salivating. Salivating. Maybe that's because of the lemon juice. You know, why else? Oh, yeah. Okay. My mouth tastes terrible. I'll do a golden child. If I laugh, I drink lemon juice challenge because I don't want to laugh. Okay, why else do you make your coffee? I'll drink my coffee, my guy. I'm smiling. One, two, three. Bro, that was me after 106 pounds because you did two.  Oh, there she looks so good. Oh, God, I can't dance. I love to learn how to dance. When I get a bit more fit, I'll try and dance the culture as music, okay? Can you say something to Dora Starbucks? I'm going to a different course. Oh, yeah. Cappies? Wake up, boy. Oh, why? Damn. Question, you were saying when doing the cross stitch, I can't do the cross stitch. Must be a poop.  I want to make a song now called Jungstar. I can't handle him. I can't handle him. I can't handle him. Okay, here we go. Yeah, the Dalgona coffee looks so good. I did that for you. I did that for you, my guy. Guys, that was the first one. It's already a mess and I support it no matter what. Why he be like that? I don't know, but you know what? I support that.  Maybe I'm like, oh yeah, drinking this drink won't be that. But anyways, guys, thank you all for watching. If you guys enjoyed, show some support by leaving a like. Comment down below how much you love Jungstar. And also subscribe if you guys are new to the channel because there'll be more reactions to more Jungstar videos in the future and also to more culture videos in the future. Like tomorrow, I'm reacting to every single stage from their concert. That's going to be fun. So stay tuned, subscribe and yeah, other than that, I hope you have a great day and keep on smiling and yeah, peace.


A lazy sequence is a sequence type in which the elements are not stored, but rather generated as needed by an encapsulated function. One reason to use lazy sequences is that they effectively defer work. Rather than generating all the values of a sequence upfront, we can create a lazy sequence that generates the values only as needed. This spares our code from wasted work when the whole sequence never ends up getting read. Standard library functions generally return lazy sequences instead of non-lazy sequences for this reason. Another reason to use lazy sequences is that they may represent an infinite number of values. Because the values are only generated as needed, they aren't stored in memory and so we can have a lazy sequence that, say, represents every integer from 0 up to infinity. You should be careful when dealing with lazy sequences of infinite length because any operation that attempts to read the whole sequence will of course never succeed and so effectively hang your program. For example, simply invoking count on an infinite sequence will hang your program because count will attempt to iterate through all the values of the sequence. It's really easy to run afoul of this problem when using the closure command line because the command line prints the result of each expression, and if that result is an infinite lazy sequence or an object that contains an infinite lazy sequence, then printing the result will effectively hang the command line. For creating the most commonly used kinds of lazy sequences, closure provides a few convenient functions. The range function returns a lazy sequence of integers that span a specified range. The repeat function returns an infinite lazy sequence that repeats a value. The repeatedly function returns an infinite lazy sequence of values generated by calls to a given function. The iterate function is, like, repeatedly, but each call to the function takes the previous element as argument, and the cycle function returns an infinite lazy sequence that repeats the elements of some other sequence. Looking at some example uses, this call to range with no arguments returns an infinite lazy sequence of the integers from 0 to infinity. The second call returns an infinite lazy sequence that starts at 3 and continues to infinity, and this third call returns a finite lazy sequence that starts at 2 and stops at 10. If we provide three arguments to range, the third argument specifies a step by which to increment. A step of 1 is the same as the default, but a step of 3 skips over every two integers. When the step is negative, the range counts down rather than up. The step needn't be an integer, as we see in the last example where the sequence counts up by 0.5. As for the repeat function, this first call returns an infinite lazy sequence of nothing but the value 5.  The first call to repeatedly here returns an infinite lazy sequence of values created by calling the rand function, which returns a random number between 0.0 and 1.0.  This call to cycle returns an infinite lazy sequence that repeats the elements of the vector addInfinitem. Lastly, this call to iterate returns an infinite lazy sequence in which the first element is the provided value, but then subsequent values are produced by invoking the provided function deck with the previous element. So from the initial value 2 we get 1, then from 1 we get 0, and so forth.