Derivatives In PYTHON (Symbolic AND Numeric)

preview_player
Показать описание
Check out my course on UDEMY: learn the skills you need for coding in STEM:

In this video I go over three different types of scenarios where one needs to take derivatives in python: symbolic, numeric, and quasi-symbolic.

Code:

How to get girls using python:

Link to discord server:

0:00 Intro
1:34 Symbolic Derivatives
6:49 Numerical Derivatives
12:58 Quasi-Symbolic Derivatives
Рекомендации по теме
Комментарии
Автор

Just came across this video while trying to derivate some earthquake records for an assignment. Thank you very much for this tutorial. I particulary appriciate that you explain the codes with specific examples, making them easy to relate to other problems. You speak in clear and pragmatic ('practical') terms. Keep up the good Work. Regards from Norway

sergeythehandyman
Автор

I used to really confused when they taught me calculus in school. And look now here I am performing the same thing in Python. And tbh, I am having fun. Thank you!

abhradeepdas
Автор

Your tutorials are fantastic! I'm working on economic models and this is saving me a ton of time.

JordanCarlisle
Автор

Awesome video about this man! Love this. Highly informative and motivating at the same time. For the numpy gradient function, you can actually specify the edge_order to be equal to 2: edge_order=2. This way, the left and right endpoint derivatives will be calculated using three-point forward and backward differentiation formulas which are order O(h^2) (same as the derivatives for the interior points computed using the CFD formula) as opposed to just O(h). This doesn't make too much difference if you just need the first derivative, but if you will take the second derivative or more, you might see sharp straight lines connecting your first and second points; and your penultimate and last points. Then, it between, it will be a way smoother curve. That was my experience when I would apply the gradient function recursively.

For the last part in the Quasi-Symbolic case, I loved learning about the vectorize function and it's use case! It's perfectly applicable when solving a boundary-value problem ordinary differential equation and you want to solve it using the shooting method: you define the shooting function whose root you can solve for using scipy.optimize's root_scalar function. One can also plot the shooting function, but, without "vectorizing" the shooting function, it would be tedious and inefficient to plot the function since one would be forced to use for loops and Python for loops are slow. But with numpy's vectorize function, plotting it would be nice and simple.

(The same could also be actually achieved using Python's map function: y = np.array( list( map(function, iterable) ) ). This may have similar performance to np.vectorize since I read that the map function uses C code underneath.)

Lastly, for SciPy's derivative function, an alternative to getting more accurate derivatives with is using higher order formulas by specifying the order of it with an odd number greater than the derivative order you're taking: derivative (f, x dx, n=2, order=5). I find this more preferable than using very low values of dx like 1e-6 since while it could yield very accurate results for the first derivative, higher derivatives starting from the second derivative are way less accurate due to round off error, since from the finite difference formulas, the h term in the denominator gets a higher degree with each higher derivative.

Anyway, I got too carried away. I just love sharing my experiences with Python and additional learnings from this channel ❤️

AJ-etvf
Автор

found you on reddit, amazing content thanks man!

shrey
Автор

I felt my (work)life changing while watching this, thanks very much for bringing this package to my attention

KompakterOperator
Автор

To filter the noisy data use a low pass filter it's much more simple to what you did, thanks for the information I did enjoy the video.

awadejamaica
Автор

This was fantastic and is exactly what I want to learn coding for - solving mathematics and engineering problems. Do you have any videos you can point me towards to start learning python for this purpose?

emmanuelhaikalis
Автор

Nice video. By the way, what environment are you using to display the math formulas below the code ?

castroh
Автор

Awesome dude! just missing a tutorial for linear algebra and you are golden.

arvidlindberg
Автор

Great videos. I received my engineering degree long before Python was created.

barrytoppings
Автор

Thanks to you, I have my first working introduction to Sympy. This was definitely worth my time. (I worked this in PyCharm & Jupyter. Definitely cooler in Jupyter!)

geodancer
Автор

Would you be so kind to make a Math Series in Python for topics like Calculus, Linear Algebra, etc. ?

opendebate
Автор

Can you make a video on visualizing gradient, divergence and curl with python. Thanks!

utkarsh
Автор

Does all this get replaced by AutoGrad or Automatic Differentiation, like that implemented in modern Deep Learning libraries or packages like CasADi?

samm
Автор

Fantastic video, clear explanations, and sample code to demo important points.

Bana
Автор

Thank you for such a fanstastic video!

htshamsi
Автор

how to calculate the derivative, if the data have 4 dimention (time, high level, longitude, and latitude), i want calculate derivative in each dimention ?

BadAss_Playlist
Автор

filename = "data/test.txt"
xx, yy = np.loadtxt(filename)
For this to work, I had to create arrays `x`, `y` first, then save them like this
np.savetxt('data/test.txt', (x, y))
to then marvel at the way NumPy presents the information in a text file.
Frankly, I don't think I would ever want to enter test data by hand into a file, that on loading, demands that type of format.
The format may be suitable for an automatic data logger, presenting floating-point numbers in scientific notation without delimiters for all values of `x`, followed by all `y` values directly beneath, making the file contents not only look very compressed but any changes made by hand deviating from that numeric format might not be read correctly at all as was found when trying to construct common floating-point data by hand inside the text editor.

frankkoslowski
Автор

Amazing! Thanks for making these videos.

Nickname