NumPy Tutorial (2022): For Physicists, Engineers, and Mathematicians
Вставка
- Опубліковано 5 чер 2024
- Check out my course on UDEMY: learn the skills you need for coding in STEM:
www.udemy.com/course/python-s...
This from-scratch tutorial on NumPy is designed specifically for those in physics, mathematics, and engineering. In the future, I will be making tutorial videos on all the essential python packages, so subscribe for more!
All code can be found here:
github.com/lukepolson/youtube...
0:00 Introduction
3:43 Array Operations
8:28 Indexing and Slicing (1 Dimension)
15:18 Calculus and Statistics
21:28 Examples
47:18 Multi-Dimensional Arrays
52:22 Functions on Multi-Dimensional Arrays
56:26 Linear Algebra: Matrix Operations
58:33 Linear Algebra: Systems of Equations
59:53 Linear Algebra: Eigenvalue Problems
1:02:02 Examples
1:28:42 Basic Datasets - Наука та технологія
This dude, this channel: is a blessing.
At university I've been taught Matlab but I always wanted to switch to python in order to get rid of licensing problems and fully embrace the "open-sourceness" of this programming language. This video is a blessing!
Super useful and engaging! Looking forward to the scipy and matplotlib ones.
Even after 2 years this is the most fun and informative video for numpy that i needed , really loved those exercises.
thank you for such an amazing content
Believe me, you are one of the most useful channels about python. Thank you so much.
You would deserve much more subscriptions.
What about a cython playlist?
Your tutorial are very easy to learn yet very concise, informative and in-depth. Please keep making such contents.
It's awesome mate! Your videos about these libraries really help me, and of course these are very useful in my major (physics). Thank you 🙏
Great video. Having some clear and complete tutorial on these topics is very useful!
I have shared this link with almost 75 students of mine in the MAchine learning with PYthon class. You have made my job so much easier.. thanks a TON
This is the best channel I have come across for python, as an engineering student, I am so grateful! Thank you !!
Thanks a lot mate. Please keep posting. I find these videos tremendously helpful for my Computational Nano electronics course.
U got one more subscriber. Just found you by chance, and I appreciate.
Great tutoria and very clear explanations!!!
I hope the algorithm blesses you. Best tutorial for NumPy on the internet hands down.
This video series is going to be great!
Wow, thank you so much! Because of your explanation at 29:44 I just understood those slice-operations, I allways struggled with, fell like scales from my eyes :D
Completed today. Thanks for this great resource Luke!
Nice and meaty tutorial. Have been going over it several times.
Cross-referenced many ideas and principles with information from other sources.
It can be said that If nothing else, the effort invested in studying the material,
has produced good fluency in typing LaTex Script,
and consequently, textbook-like IPython Notebook files.
Thank You!
Like many others before me, I'm just chiming in in order to thank you for these outstanding tutorials.
It's not hard to find numpy tutorials on the internet, but most of them are either very basic because of the target audience (and so they can't push the student hard enough) or deeper but still mostly amounting to a showcase of methods, functions and syntax. What I like about yours is that they can be challenging at times for a newbie but still very much rooted in the scientific problem-solving mindset and that makes them priceless and fun to watch and try out.
Exactly what you said. Chiming x 2
Very good tutorial, thank you! I was kind of figuring out Python by myself, but this helped me put everything in context. And this finally enables me to get rid of the for loops :'D
Amigo, eres un crack! me sirvió muchísimo el tutorial. Gran calidad de videos :)
For sure, you're the best Python teacher I have met so far on UA-cam.
Thank you so much. God bless you
This was really informative! You are a genius, thank you!
I like the hands-on exercises/examples, which I followed along in my own desktop application (VSCode). And I learned that "trick" of how to get all x-values when dy/dx = 0. Incredible how something that looks hard can turn out to be so easy :D
Using Python a lot in my engineering career and NumPy is essentiel in numerical calculations!
I guess I will continue to look at your videos, starting with SciPy!
Referred to your scipy and numpy tutorials, excellent content. Thank you!!
Awesome! There are no more word to say, your lecture is awesome!
Man. So good. I really wish you the best, you are such a great teacher as well. Thanks for sharing your knowledge.
Brilliant presentation! You pretty much covered everything important for doing computational mathematics
I've learned a lot of thing with your videos rather than in Computer physics classes, thank u Bro
So underrated, what a great channel ! Thank you from a physics engineering undergraduate.
This has been fantastically helpful, thanks. I've used python a lot for the last 5 years or so for many projects, but hadn't properly acquainted with numpy. I'm currently exploring analysing captured audio signals for equipment testing, so playing with numpy and fft a bit. The array multiplication tip for finding zero crossing points is just brilliant. I've just implemented it as another way to get a frequency measurement. 👍
Amazing stuff and one of the best teachings I’ve ever seen ❤️
This is one of the best numpy tutorial for engineers on youtube!
such a great teacher you are! I am learning a lot here
very nice and in depth presentation. You deserve appreciation and subscription. Thanks
Thanks a lot for all this video. It helped me a lot in my final year project.
😊
I am migrating from Matlab to Python. Your videos are a blessing. Thanks
This stuff is pure gold. The curvefit video was excellent. Then the turkey cooking demo caught my eye. Now, you have me playing with numpy, scipy, matplotlib and sympy. Fantastic tools for engineers. I tried Jupyter but I don't see the benefit. There seems to be a big overhead when you consider that Python can be run from the most basic plain text editor.
These tutorials are really great ! Thanks man !
For my entire undergrad and masters I avoided coding like the plague, always disliked matlab and used maple a few times for checking christoffel symbols in black hole studies, other than that I am extremely inept, this tutorial saved my life, looking forward to trying all of your other videos, from one PhD student to another, god bless you
Good luck man, did the same thing. Didn't feel comfortable coding until I was out of college knowing that deadlines and everything were finally behind me. Now that I'm out though I realize what an amazing resource it is. Bet you'll have a badass thesis down the line
Good luck with your student loans
@@annakquinn7084 ???????? What kind of comment is that
@@alboz1327 real ones based on reality
@@annakquinn7084 the comment doesn't make sense. Why bringing up student loans, what does this have to do with anything in a python video
Thanks a lot and for questions we have to think of. At that places you stop and think :"Am I really remember all the elements? And did I know how exactly to use them?" All the tricks are not just for the exact implementation of the rules , it was to teach with the way of thinking!
Thank you!
This is amazing! I’m sharing this with everyone I know :-)
The illustration and speed is just amazing😎
It's gonna hit a million in no time!
Just a small remark: at 31:31 we have not found 'exactly' the locations where dydx = 0. We have just found the minimum interval available where dydx = 0 is bound to be. This is important because imagine our number of points wasn't ideally as big as 10000, in most cases we don't have the luxury of having analytic functions. And in most cases this makes it sensitive to discretization errors.
So in reality one additional step would suffice to get the most precise answer. This already gives us the number of sign changes in the interval. So we could simply use interpolation to find zeros between the x[interval],x[interval+1] to get a precise answer.
Bro you are a gift for data science & machine learning.
better than most of the other video tutorials on numpy that I have seen...
thank you so much for these videos. please keep up the good work
U r the GOAT. I already liked it and I still don't even see it. Do you think it would be possible a serie in Optimization Methods using numpy numba, etc?
Amazing algorithm for roots!! I have watched 3 times and I cetch the idea!! You are cool!!!
Thanks a ton. Please keep making your videos. Just excellent.
Thank you very much for providing this type of content to us.
Very concise explanations thanks you are a lifesaver
thank you Mr.P, as a PhD geology student entering into python this video is amazing,
These videos are great, man.
Perhaps the best explanation!!
I like watching this man, because he is thorough and is great with examples in his teaching, but his language is unique!!!
He is LOUD. He yells to learn you the material. He also repeats himself, and he is a big fan of the imperative mood in English. He's always commanding the listener to do something or remember something. He's so funny 🤣😅🤣.
Man you are amazing!!
Great work
Thanks for this great tutorial.
Dear Mr. P Solver, I am very thankful for your Python tutorial videos. I have learnt much more things. Thank you again.
do you know what software he is using in the video?
I need more, you're wholesome.
great young teacher here. fine fast ideas for my use of numpy in my elliptic curve work.thanky P. Solver
Amazing tutorial thank you very much !!
Excellent Tutorial .... Thank you ...
Thank you!!
This dude is an absolute legend
Amazing!! Some real stuff!!
Impressive, wonderful python skills.
ravel(), compared to flatten(), will often be faster since no memory is copied, but you have to be more careful about modifying the array it returns. flatten() always returns a copy. ravel() returns a view of the original array whenever possible.
omg awesome content I am learning for my passion in physics
54:45 for =anyone who didnt understand, learn aprtial derivatives and integration multivariable one is constant while other is changing and vise versa
Very good tutorial, thank you! I
Can you please explain this part E = np.swapaxes(E, 0, -1)? Why is -1 the element or inner axis?
Thank you, Luke. Can you upload the meshgrids diagram , thanks!
great! I am back to python thanks to you. what about the Maxwell equations?
Can you please make a video where you write code for a nudged elastic band calculation? You use nudged elastic band methods to calculate the structure and energy of transition state(s) for a reaction. The classic example for a nudged elastic band calculation is determining the structure and energy of the transition state for H2 splitting.
Thanks, and please continue (:
I never compliment people but...this dude is fantastic.
You are a legend
I enjoyed learning!! Please do more such tutorials. If possible, please share the codes too:)
could you explain why this code doesn't work for the last part of the 1st exercise? x[dydx==0]
@@renukavelu1701 Because it's never exactly equal to 0. We have to find the value for which it is closest to 0
You are amazing dude
At 24:31 , is there any advantage of using the * operator rather than a plain logical & operator? Both give the same result, but, coming from a programming background, I feel using a boolean operator make the meaning of the operation much clearer. Other operator, like | , don't match so cleanly to a multiplication.
very helpful video, thanks for this. very nice
your channel is over the top and your are better then my python prof, so thanks . can you also uplode a video about pandas ? to much lab results in a csv file . and again many thanks
28:00 Wow, that's an amazing trick! Last semester I had a computational physics exam. If I know this sooner, probably my grade would be better
😅
Thank you so much!!!
thanks yu sooo much ,you are awesome .
zooming in: at 13:51 you did something most coding teachers don't take into account, which is zooming in; you yourself forget to zoom in at the beginning of your excellent tutorials , but they could be much better if you remembered to zoom in at the beginning of them; ha ha. you know, some of your thousands of spectators use glasses to watch your tutorials, 13:51, thnkyou very much for your channel for your attention and thanks in advance for zooming in, ;) Ah! and removing the side bar, hiding it: everything that increases screen real state
love your content.
Thanks for having the chapters built into the video. I do have a question though. Do you see a benefit to learning math applications of python like this instead of using Matlab? My school gives us an edu license and I don't know where to spend my time learning.
Despite having access to both, I would still choose learning python over Matlab, mostly because there are so many resources available online for python. That being said, from what I understand, the two languages are very similar. If you spend a lot of time learning one, it should transfer over to the other (not the notation, per se, but the general way you approach problems). But for all intents and purposes, python has everything you need for an undergraduate degree. When I was in undergrad, my school also offered a full Matlab license, but I chose to learn python instead. Also when working with others people's code after you've graduated (grad school, industry) you'll notice that A LOT of code will be written in python.
Without any doubt: python. Matlab is proprietary bullshit and there is a reason Mathworks (the maker of matlab) is giving out free educational licenses to universities: just to trap you in their ecosystem. Stay clear from matlab unless you actually have to.
x = np.linspace(1,10,100)
f=vectorize(lambda x: 1/x**2 * np.sin(x))
dxdy=gradient(f(x), x)
that is where the vectorize comes in
Epic video!!!
Thank you very much
brilliant series, many people say that scientists use NumPy, scipy but you showed "HOW TO DO IT"
First things first, your channel is really great, I'm an engineering student learning python and you are making that process so much easier. That being said, did you know that you don't need any library to answer question 2? Just use a list comprehension!
sum([i for i in range(0, 10_001) if i % 4 != 0 and i % 7 != 0])
Very neat! Though I suspect this may be faster with numpy, as list comprehension (which is essentially just a for loop) can be slow in python. I would try this for 10 million numbers and see which method works faster.
@@MrPSolver In my tests, there is no significant improvement other than 1 ms, 100,000,000 was enough to take the runtime to over 7 s. If someone test this and find a significant improvement, I'll like to see cuz even myself thought that with numpy would be faster, lol.
Hey man ,you got one new subscriber 😊
love the camera dude
Thank you.
Hey! Thank you so much for the video! As a beginner, I found this really helpful!
13:59 when I tried doing names[first_letter_j] I got an error saying that "TypeError: Only integer scalar arrays can be converted to a scalar index"
31:30 Here the function appears to have derivative = 0 between 2 and 6, but we have values 1.472 and 4.613. Is the method really working?
Can you please clarify this?
I think in question 4,the last term of y-axis should be E(t/k) rather than E(tk)
You have used np.cumsum() and sum() for doing the integration ..which one is we follow for integration ?
so useful