Derivatives In PYTHON (Symbolic AND Numeric)

Поділитися
Вставка
  • Опубліковано 22 сер 2024

КОМЕНТАРІ • 64

  • @sergeythehandyman
    @sergeythehandyman Рік тому +20

    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

  • @shrey2419
    @shrey2419 3 роки тому +2

    found you on reddit, amazing content thanks man!

  • @AJ-et3vf
    @AJ-et3vf 3 роки тому +3

    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 ❤️

  • @JordanCarlisle
    @JordanCarlisle Рік тому +1

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

  • @abhradeepdas3210
    @abhradeepdas3210 7 місяців тому

    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!

  • @KompakterOperator
    @KompakterOperator Рік тому

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

  • @awadejamaica6666
    @awadejamaica6666 Рік тому +1

    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.

  • @3003eric
    @3003eric 3 роки тому +2

    Always great videos. Keep it up!

  • @htshamsi
    @htshamsi 2 роки тому +1

    Thank you for such a fanstastic video!

  • @barrytoppings1492
    @barrytoppings1492 2 роки тому +1

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

  • @utkarsh4784
    @utkarsh4784 3 роки тому +8

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

    • @andresderudder9950
      @andresderudder9950 3 роки тому +2

      That would be awesome, maybe also a video about line integrals and all that stuff

    • @soumyadipghosh6925
      @soumyadipghosh6925 3 роки тому +1

      @@andresderudder9950 yeah, solving vector calculus symbolically, maybe we get to see the geometry of the problem.

    • @MrPSolver
      @MrPSolver  3 роки тому +4

      Right here my dudes.
      ua-cam.com/video/Teb28OFMVFc/v-deo.html
      Not so much visualization per se, but lots of stuff with gradient, curl, finding line integrals, etc.

    • @utkarsh4784
      @utkarsh4784 3 роки тому +1

      @@MrPSolver already watched it, its a great video and helped a lot. But cannot plot the gradient function. Thanks for your content man🙌🏼

    • @MrPSolver
      @MrPSolver  3 роки тому +1

      @@utkarsh4784 Thank you for the ideas for new videos! This will likely come in the future :)

  • @geodancer7281
    @geodancer7281 2 роки тому

    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!)

  • @Nickname006
    @Nickname006 3 роки тому +1

    Amazing! Thanks for making these videos.

  • @arvidlindberg3603
    @arvidlindberg3603 2 роки тому

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

  • @Bana888
    @Bana888 2 роки тому

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

  • @soumyadipghosh6925
    @soumyadipghosh6925 3 роки тому +1

    Awesome! keep up the good work

  • @opendebate
    @opendebate 3 роки тому +2

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

  • @emmanuelhaikalis1095
    @emmanuelhaikalis1095 3 роки тому +3

    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?

    • @wenhanzhou5826
      @wenhanzhou5826 3 роки тому +2

      Idk, maybe subscribe to him? He got plenty of these kinds of video

  • @georgechristou8483
    @georgechristou8483 3 роки тому +7

    Leibniz wants to know your location.

  • @joshuabardwell2294
    @joshuabardwell2294 Рік тому

    This video was a lifesaver!

  • @iksudip
    @iksudip 6 місяців тому

    thanks bro...too much helpful 🙏🏻

  • @castroh
    @castroh 9 місяців тому

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

  • @remomagalhaes4707
    @remomagalhaes4707 6 місяців тому

    thanks a lot for this excellent and very useful video.

  • @frankkoslowski6917
    @frankkoslowski6917 2 роки тому

    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.

  • @samm9840
    @samm9840 3 роки тому +1

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

  • @bishubaswal178
    @bishubaswal178 3 роки тому +1

    best guy

  • @estherlestarter7416
    @estherlestarter7416 Рік тому

    You are a master piece, love you so much

  • @andrewiglinski148
    @andrewiglinski148 2 роки тому

    Lol I just had to add this when I found out you were from Canada…
    Me: ‘Dude, you know the girl across the hall from me is an Endocrinologist?’
    Building manager: ‘(pauses to think)… oh yea! And she’s actually really nice too… she’s Canadian.’
    That was our conversation on the elevator like a week ago

  • @justinofearth
    @justinofearth 23 дні тому

    Justin here, from the future. Just wanted to let ya know that everything works out

  • @syedomar269
    @syedomar269 Рік тому

    You the best G really helped me out earn a sub!

  • @typeer
    @typeer 2 роки тому

    your vids amaze me haha thanks for sharing all this

  • @thecarlostheory
    @thecarlostheory Рік тому

    Very useful content. Like it so much. Thank you :)

  • @arods
    @arods Рік тому

    Very useful. Thank you so much. Regards.

  • @amirhossein_yz
    @amirhossein_yz 2 місяці тому

    Good video, thanks

  • @nobodyeverybody8437
    @nobodyeverybody8437 2 роки тому

    Thank you for this video. I am curious to know, whether you have an idea how to solve the drift when trying to get the velocity and position of after calculating the 1st and 2nd integration of acceleration data captured by an IMU?

  • @SGhann
    @SGhann 2 роки тому

    Mr P. Solver, how about defining a function that calculates the derivative of f with respect to x without using any libraries, do you have any videos for that?

  • @tahmidahaque6776
    @tahmidahaque6776 Рік тому

    Thanks you so much!! So well explained!! ^_^

  • @venil82
    @venil82 5 місяців тому

    Subscribed!

  • @nehakhanra9853
    @nehakhanra9853 Рік тому

    Thank you so much for the amazing explanation. Sir, I have one problem and I am unable to fix it. Can you please give me a hint as I need that? How to code this =>( Y = d^n/ dx^n * ( x^2- 1)^n) in python.🙏🙏🙏🙏🙏

  • @gieaudio8762
    @gieaudio8762 Рік тому

    Thank you!

  • @mehdismaeili3743
    @mehdismaeili3743 2 роки тому

    Excellent, thanks.

  • @BadAss_Playlist
    @BadAss_Playlist Рік тому

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

  • @MagnusAnand
    @MagnusAnand 3 роки тому +1

    cool video

  • @blewblew3555
    @blewblew3555 2 роки тому

    How to inputs a polynomial in standard algebraic notation and outputs
    the first derivative of that polynomial?(python)
    If both the inputted polynomial and its derivative
    should be represented as strings.

  • @letsfunwithshobe977
    @letsfunwithshobe977 2 роки тому

    dear mentor , I have write an program that have a problem to use nsolve , can you recommend something faster method instead of nsolve in sciepy

  • @Cordic45
    @Cordic45 2 роки тому

    how to print the mathematical formula like in the video in pycharm or colab?
    Seems only jupyter can performence like this

  • @williamcase426
    @williamcase426 2 роки тому

    Great video

  • @SarthakGamer
    @SarthakGamer 3 роки тому +1

    another qualtity video

  • @user-Matter
    @user-Matter Рік тому

    can I get the example data?

  • @stuartpaco1
    @stuartpaco1 Рік тому

    Are you on slack or discord? I need help PLEASE PLEASE

  • @ApteraEV2024
    @ApteraEV2024 10 місяців тому

    9:30 🔑 👉 👈

  • @arturocdb
    @arturocdb 2 роки тому

    There is a technique in data science called standarization.

  • @cansuilhan380
    @cansuilhan380 2 роки тому

    Did not get 7, -7 part

  • @amit80547
    @amit80547 3 роки тому

    Discord link not working for me? Is it moved or what?

    • @geodancer7281
      @geodancer7281 2 роки тому

      @Amit Sehrawat - Discord link worked for me. Perhaps try again.

  • @chainsawmanfan3002
    @chainsawmanfan3002 Рік тому

    Hey, do you have a community discord or something??