Solving Systems Of Equations Using Sympy And Numpy (Python)

Поделиться
HTML-код
  • Опубликовано: 17 ноя 2024

Комментарии • 94

  • @vtrandal
    @vtrandal Год назад

    With gratitude, I thank you for making this video. You are a trailblazer. Following you is a blessing.

  • @TymeToTry
    @TymeToTry 6 лет назад +25

    You've made a typo in your first system of equations.
    You wrote: eq2 = Eq(3*x-1,-2)
    It should be: eq2 = Eq(3*x - y, -2)
    The first system yields x = -1/3 (3x = -1 => x = -1/3) and thus y = 11/3
    The second system yields x = 2 and y = 8.
    Hope that helps!

  • @BiancaAguglia
    @BiancaAguglia 5 лет назад +11

    0:00 "What's going on, smart people!" - There. That's where you lost me. 😀 Just kidding. Nice video. I didn't know about the latex trick. Thank you for sharing.

  • @rahulkumarjha5125
    @rahulkumarjha5125 3 года назад

    Andrew you just made my day . I was on rank 7 in code chef contest and used this method to solve the equation of degree 4 and got the 4th rank. Love you bro ❤

  • @jingyiwang4931
    @jingyiwang4931 6 лет назад +15

    Really helpful. BTW, I like your hair style~!!LOL

  • @googacct
    @googacct 4 года назад

    Nice video. Since this video is over a year old, you may have figured this out by now. Using control-Enter is the same as having to move your mouse to click on run.Use that for about 10 minutes and it will become instinct. The little bit of time saved can add up over a long coding session.

  • @methorogood
    @methorogood Год назад

    This is an excellent video. It helped me a ton!!! Thank you.

  • @stormbrakerable
    @stormbrakerable 5 лет назад +2

    Thanks so much! This has been a great help!
    My uni also uses python for physics programming so thanks again and do more python videos, please :)

  • @x17exeventien79
    @x17exeventien79 6 лет назад +1

    Have you tried the "Successive Over-Relaxation" method? It's an iterative method with a convergence parameter, it solves large matrices MUCH faster than Gauss-Jordan does. When you get to doing Finite Difference Methods with grids in the millions, that performance matters!

    • @AndrewDotsonvideos
      @AndrewDotsonvideos  6 лет назад +1

      I've heard of it but never used it! I'll have to think of some ways to try it out!

  • @admiralhyperspace0015
    @admiralhyperspace0015 3 года назад

    Woah, I didn't know you used to make these videos too. Awesome make more, Thanks.

  • @merryjoy48
    @merryjoy48 5 лет назад +1

    You look like Ryan Reynolds. Very informative vid.

  • @davidsanjenis2778
    @davidsanjenis2778 3 года назад

    Great tutorial! Your channel is easily becoming my favorite! :D

  • @monicapym8948
    @monicapym8948 3 года назад

    Great video!! I definitely enjoyed it and learned a couple of things!!

  • @abdelrhmandameen2215
    @abdelrhmandameen2215 3 года назад +1

    Great stuff, i''m just wondering why you didnt use numpy.array when solving the equ with numby?

  • @kamehamehaDdragon
    @kamehamehaDdragon 6 лет назад

    I did a Java program that solves matrices using Gauss-Jordan, can't wait to learn python, muh friendlier language for math.

  • @0mon0zz
    @0mon0zz 3 года назад

    What are the main advantages and disadvantages of using either sympy or numpy?
    Great video btw!

  • @philiperiskallaleal6010
    @philiperiskallaleal6010 4 года назад

    Dear Andrew Dotson,
    Thank you for your video. Most helpful.
    I was wondering if, perhaps, you could post some tips/techniques for evaluating the stability of ODE using Python.
    Recently, there has been great development in that field using Python. One example is the LMFIT Python's library, which is most straitfoward for modelling linear and non-linear syatems. Nevertheless, we still lack a proper method for evaluating stability in an ODE system.

    • @atrumluminarium
      @atrumluminarium 4 года назад

      It's easy to figure out most of the time. The equilibrium points are wherever the vector *y'* = *0* which for ODEs quadratic in *y* can be solved similarly to the method shown here. Then for stability if I remember correctly you linearise the system around the equilibrium points to obtain an equation
      *y'* = *Ay*
      And then you find det *A* , Tr *A* and follow this diagram:
      en.m.wikipedia.org/wiki/Stability_theory#/media/File%3AStability_Diagram.png

  • @selimcanpolat8664
    @selimcanpolat8664 3 года назад

    blue looks really good on you

  • @cradleofrelaxation6473
    @cradleofrelaxation6473 Год назад

    Nice!
    I love it!!

  • @nikhilnambiar454
    @nikhilnambiar454 5 лет назад +1

    Hey can you integrate (3x^2 + 1) using this library to get output as x^3 + x?
    If so, can you explain the procedure for this? Needed help for this asap

  • @oldelkhot
    @oldelkhot 6 лет назад

    Thanks for the video. I was looking for an easy way to find the initial guess for a poly nomial in order to solve the equation by fsolve from scipy.optimize and importing numpy!

  • @advaittrivedi5905
    @advaittrivedi5905 4 года назад

    Awesome bro

  • @aminoffline
    @aminoffline 6 лет назад +2

    thx for video
    i need to solve problem it look easy but it isn't
    i wanna use sympy or numpy honestly it dosn't matter any thing that solves it
    my equation has one variable but one is one side and the other is on other side and it wont come to other side easily cause it buried under 4 or 5 heavy Denominator
    so is there a way i can solve this ?
    if u know how plz help me
    ps: i will bookmark this page to look for your answers

  • @Troglodyte2021
    @Troglodyte2021 4 года назад

    Can we do Gaussian Elimination with Sympy and/or Numpy?

  • @MagnusAnand
    @MagnusAnand 4 года назад

    Good video

  • @interiorarttv8449
    @interiorarttv8449 3 года назад

    Thank You! that was so helpful

  • @Mark00747
    @Mark00747 5 лет назад +2

    how can I assign the values to the variables?

  • @chrislee4531
    @chrislee4531 4 года назад

    Would help if you had the code written out so we don't have to re-invent the wheel and type it all out?

  • @yazadjabbarc
    @yazadjabbarc 4 года назад

    Can we solve set of ODE numerically using python if we have supporting data in an Excel sheet, then would you please teach!!

  • @MathPhysicsFunwithGus
    @MathPhysicsFunwithGus 4 года назад

    Great video!!!! Thank you!

  • @gustavagerbo3236
    @gustavagerbo3236 6 лет назад

    This is so helpful. Thanks.

  • @weigengpeng105
    @weigengpeng105 6 лет назад

    what do you think i should learn first cpp or py if i want to study physics in the future? and why? thank you love your videos!

    • @zoltankurti
      @zoltankurti 6 лет назад +1

      weigeng peng I would say learn the basics of cpp, and than you can move on quickly. If you don't know much about programming, python is like black magic, I don't think one could understand what's going on behind the scenes. However, in cpp you can see all the steps.

    • @AndrewDotsonvideos
      @AndrewDotsonvideos  6 лет назад +1

      I agree with Zoltan. C++ taught me what exactly was going on behind the scenes, and python taught me that maybe I don't need to specify every little semi colon to know what I'm doing.

    • @frodobaggins3974
      @frodobaggins3974 4 года назад

      cpp - you will learn a lot about computers, and how they work under the hood. However, you will also discover that even simple things take a long time to code, and the learning curve will be quite steep. Python is a beginner friendly language, which allows you to focus on the logic of your program, and does many things in the background that you don't need to worry about, which makes code development fast, much faster than C. If you have no programming experience, I would recommend Python first, and then - if you still need to dive deeper - you could always learn cpp. C libraries can be imported into Python as modules, so it is possible to 'combine' both languages - Python for high-level abstraction and cpp for code execution speed. It's not uncommon these days to write a prototype of a programme in Python, test the logic, see how it works, debug, and then rewrite the final version in cpp. Anyway, if you think seriously about studying physics, make sure you learn maths first - this is the ultimate foundation of physics and IT!

  • @ianmcpherson5435
    @ianmcpherson5435 5 лет назад +2

    print Statement must be surrounded in(" parenthesis") for upto date working!!

    • @0mon0zz
      @0mon0zz 3 года назад

      Thank you!

  • @ashutoshsharma1640
    @ashutoshsharma1640 4 года назад

    what is the error in attribution for printing.int_printing(use_latex=True)

  • @frodobaggins3974
    @frodobaggins3974 4 года назад

    Hm... Can we really say that SymPy and NumPy are equivalent when it comes to solving equations? One is based on symbolic algebra and the other one does calculations on raw numbers. Simple equations, where we already know the solution algorithm, can be solved with NumPy. Non-linear systems, where no variable or constant matrices may be easily defined, rely on SymPy. Also, SymPy non-linear solvers (numeric methods) are much more refined than NumPy. I would suggest using NumPy for complex math and array operations (also consider that NumPy is compatible with Numba - and may run with machine code speed), and relying on SymPy to solve equations where necessary.

  • @andrewrezendes
    @andrewrezendes 6 лет назад +12

    I refuse to pronouce Numpy anything but Noom-pee. If I can't say Noom-pee, I don't wanna play.

    • @hotamohit
      @hotamohit 5 лет назад +1

      num as in number, py as in python

  • @AzriRich88
    @AzriRich88 5 лет назад

    cool done watch until end.

  • @moss3828
    @moss3828 3 года назад

    he said whats up smart people... that immediately told me this wasnt the place for me lmao

  • @mazenhazem5427
    @mazenhazem5427 3 года назад

    x=3
    y=-1
    g=Matrix([[x],[y]])
    for i in range(len(g)):
    for k in range(0,3):
    d=g[[x],[y]] - j_inv[[x],[y]]*F[[x],[y]]
    g[[x],[y]]=d[[x],[y]]
    print(d)
    ###################################
    Hello there, i need to fill the equation in the for loop with the ( [x and y values] of the matrix g at each iteration) at the second loop iteration the value of the equation of d(which should became a matrix after the first loop result) needed to replace the values(3,-1) of g.
    Finally, i need to do this process 3 times and print a schedule of x and y values at each iteration how do i do it

  • @jacktorrance2336
    @jacktorrance2336 Год назад

    I didn't know Ryan Reynolds knew Sympy

  • @MagnusAnand
    @MagnusAnand 5 лет назад

    Is it possible to solve this with a step by step solution? Like Wolfram Alpha does?

  • @detroit1988
    @detroit1988 4 года назад

    Do You know the trick to add space between variables in latex if I use it? Example "a, b = sp.symbols('a b'); a*b; will give "ab". So I prefer "a b". I have a solution : "a, b = sp.symbols('a~ b~'); but do You know something better ?

  • @captainlongtree6827
    @captainlongtree6827 4 года назад

    How would you code this if you wanted to do everything from scratch?

    • @tonynguyen8166
      @tonynguyen8166 4 года назад

      Depends u can use pprint but that doesn't show ur equation in latex. Reason sympy package is use is to show ur equations readable as latex.

  • @Hunar1997
    @Hunar1997 6 лет назад +2

    Why not just:
    display(sp.Matrix([[2,-1,-4],[3,-1,-2]]).rref())

  • @LucasDimoveo
    @LucasDimoveo 4 года назад

    Do you know of any good tutorials on how to get Sympy and Numpy into Jupyter Notebooks?

    • @ABSP5766
      @ABSP5766 3 года назад +1

      if you have Anaconda installed there is nothing you need to do. Both Numpy and Sympy (and many oyher packages) are already preinstalled. Just open your jupyter notebook and import them as in this tutorial.

  • @kevinja2436
    @kevinja2436 4 года назад

    What’s does sp.function() I removed it and it still worked 😅

  • @piyomaru479
    @piyomaru479 4 года назад +1

    Hello Andrew Dotson!😇 I've been struggling with running codes in python? After I watched your video, maybe you can help me to complete my homework which is all about Systems of Nonlinear Equation? I wish you would notice me. 😊 Godbless you and your youtube channel. More power to you.😇💯

    • @atrumluminarium
      @atrumluminarium 4 года назад +1

      What's your python version and what's the error? Do you have the libraries (sympy and numpy) installed?

  • @belaidabdelhadi
    @belaidabdelhadi 4 года назад +2

    The second row be :
    [3 . 0 . -1]

  • @Krath1988
    @Krath1988 4 года назад

    Can you please tell me how I can solve something like this:
    A = 12911
    eq1 = Eq(A+y-x, 12912)
    eq2 = Eq(eq1+y1-x1, 12333 )

  • @linachka123
    @linachka123 4 года назад

    hi good stuff
    can you please take for example lorentz or duffing nonliner system
    thanks

    • @frodobaggins3974
      @frodobaggins3974 4 года назад

      SymPy nsolve will bulldozer through non-linear systems using the Newton-Raphson method (as long as you provide realistic starting points...)

  • @bigh8438
    @bigh8438 Год назад

    great vid. looks slow after you run it though ngl

  • @linachka123
    @linachka123 4 года назад

    I want to see how you do it with sympy
    thank in advance

  • @surajshukla4031
    @surajshukla4031 5 лет назад

    When I import sympy it gives error ..That no moduled named sympy....Why??

    • @gustavom8726
      @gustavom8726 4 года назад

      go to CMD type
      pip install sympy

  • @MarcoACto
    @MarcoACto 6 лет назад

    Have you ever tried Matlab or Scilab or Octave?

    • @AndrewDotsonvideos
      @AndrewDotsonvideos  6 лет назад +1

      Yeah I've used matlab. I prefer python. Never tried the others

    • @andrewrezendes
      @andrewrezendes 6 лет назад

      Sage and Python are pretty sweet. Matlab and Mathematica def. have uses though.

    • @MarcoACto
      @MarcoACto 6 лет назад

      Sure it all comes down to personal preference and the situation in the end. I use matlab, python and javascript for different things

  • @prasoonpandey1184
    @prasoonpandey1184 6 лет назад

    Can you make the font size a little bigger?

    • @AndrewDotsonvideos
      @AndrewDotsonvideos  6 лет назад +1

      I'll keep that in mind next time. I wasn't thinking about someone not using fullscreen when I made the video, but of course people wouldn't be using full screen.

    • @prasoonpandey1184
      @prasoonpandey1184 6 лет назад

      Thanks for the reply, Andrew. Actually, I watch your videos on my phone and thus even when I go full screen, I have to look closely. I thought that there may be other people like me who have small sized mobile devices. So, I thought to mention that once.

  • @MianAffanAli
    @MianAffanAli 4 года назад

    Love from *_Pakistan_* !

  • @TheHackysack
    @TheHackysack 4 года назад +1

    Shut up, Ryan Reynolds. I can't focus on the math.
    (EDIT: Ah, well, I should have known I wasn't going to be the only person to say that. Still, though. You could pass as his more serious cousin, Bryan Reynolds.)

  • @codeWithBatta
    @codeWithBatta 4 года назад

    what if this does not have any solution

  • @rose_z_m
    @rose_z_m 6 лет назад

    thanks

  • @davikbl
    @davikbl 5 лет назад

    Great learn it from a super Saiyajin!

  • @leonardocabrera9253
    @leonardocabrera9253 3 года назад

    Hey someone know how to put initial conditions to calculate 𝐶1 and 𝐶2, and how to plot results,
    from sympy.interactive import printing
    printing.init_printing(use_latex=True)
    from sympy import *
    import sympy as sp
    x = sp.symbols('x')
    f = sp.Function('f')(x)
    diffeq = Eq(f.diff(x,x) -5*f,x)
    # initial condition
    f0 = 5
    # time points
    x = np.linspace(0,20)
    display(diffeq)
    dsolve(diffeq,f)

  • @jeremycornish-ford2435
    @jeremycornish-ford2435 2 года назад

    Saw your hair all messy, instantly knew the person of the video is smart. Thanks bro. lol jk

  • @martinhopaour5744
    @martinhopaour5744 6 лет назад +11

    this dude has like one dislike per 5 videos

  • @sayanjitb
    @sayanjitb 3 года назад

    please share your code here!

  • @AAAAAAAAAAAAAAAAAAAAHH
    @AAAAAAAAAAAAAAAAAAAAHH 4 года назад

    the sp.Function lines are unnecessary

  • @goldenpheasant5973
    @goldenpheasant5973 4 года назад

    I got wrong result

  • @KattarJ
    @KattarJ 5 лет назад

    Graph it out bro.

  • @Me-og5iy
    @Me-og5iy 3 года назад

    I see why there are so many females in the comment section

  •  5 лет назад

    guy you are genius, but your face does not convey any sort of code to us, plz reduce your face and increase the code detail, have a good day sir

  • @skordemaskin
    @skordemaskin 5 лет назад

    useless, looking for trigonometric system of equations, not a simple linear one which can be found all over the internet. Really no need for a dragged out 15 minute video on it

    • @AndrewDotsonvideos
      @AndrewDotsonvideos  5 лет назад +1

      If you already know how to solve the linear systems, then you wouldn't look up the video in the first place. To others it's not dragged out, it's thorough. Sorry it wasn't what you were looking for.

    • @skordemaskin
      @skordemaskin 5 лет назад

      @@AndrewDotsonvideos I didnt look up how to solve linear equations, I searched for trigonometric ones and your video came up first as your title is called "Systems of Equations" which can mean both linear and complex ones, I had no Idea until I watched it you was just using generic 'linear' examples. Im needing to solve for x and y in the equations,
      tan(x) - y = 0
      cos(x) - 3sin(y) = 0
      Also youre videos aren't useless, ive watched many in the past, that was just spur of the moment frustration as i've been trying to crack this question for serveral hours now and no luck. Not sure if im missing something or what.

  • @selimcanpolat8664
    @selimcanpolat8664 3 года назад

    blue looks really good on you

  • @leonardocabrera9253
    @leonardocabrera9253 3 года назад

    Hey someone know how to put initial conditions to calculate 𝐶1 and 𝐶2, and how to plot results,
    from sympy.interactive import printing
    printing.init_printing(use_latex=True)
    from sympy import *
    import sympy as sp
    x = sp.symbols('x')
    f = sp.Function('f')(x)
    diffeq = Eq(f.diff(x,x) -5*f,x)
    # initial condition
    f0 = 5
    # time points
    x = np.linspace(0,20)
    display(diffeq)
    dsolve(diffeq,f)