Solving Systems Of Equations Using Sympy And Numpy (Python)

Поділитися
Вставка
  • Опубліковано 14 жов 2024
  • In this video I go over two methods of solving systems of linear equations in python. One method uses the sympy library, and the other uses Numpy.

КОМЕНТАРІ • 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.

  • @jingyiwang4931
    @jingyiwang4931 6 років тому +15

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

  • @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 ❤

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

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

  • @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!

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

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

  • @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.

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

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

  • @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

  • @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 :)

  • @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

  • @merryjoy48
    @merryjoy48 5 років тому +1

    You look like Ryan Reynolds. Very informative vid.

  • @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

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

    Nice!
    I love it!!

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

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

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

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

  • @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?

  • @0mon0zz
    @0mon0zz 3 роки тому

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

  • @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!!

  • @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!

  • @Troglodyte2021
    @Troglodyte2021 4 роки тому

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

  • @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 ?

  • @oldelkhot
    @oldelkhot 5 років тому

    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!

  • @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.

  • @MagnusAnand
    @MagnusAnand 5 років тому

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

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

    Thank You! that was so helpful

  • @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.

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

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

  • @MathPhysicsFunwithGus
    @MathPhysicsFunwithGus 4 роки тому

    Great video!!!! Thank you!

  • @ashutoshsharma1640
    @ashutoshsharma1640 4 роки тому

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

  • @advaittrivedi5905
    @advaittrivedi5905 4 роки тому

    Awesome bro

  • @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

  • @gustavagerbo3236
    @gustavagerbo3236 6 років тому

    This is so helpful. Thanks.

  • @MagnusAnand
    @MagnusAnand 4 роки тому

    Good video

  • @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.

  • @Mark00747
    @Mark00747 5 років тому +2

    how can I assign the values to the variables?

  • @ianmcpherson5435
    @ianmcpherson5435 5 років тому +2

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

    • @0mon0zz
      @0mon0zz 3 роки тому

      Thank you!

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

    blue looks really good on you

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

    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 )

  • @Hunar1997
    @Hunar1997 5 років тому +2

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

  • @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.

  • @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?

  • @kevinja2436
    @kevinja2436 4 роки тому

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

  • @AzriRich88
    @AzriRich88 5 років тому

    cool done watch until end.

  • @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

  • @jeremycornish-ford2435
    @jeremycornish-ford2435 2 роки тому

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

  • @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.

  • @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

  • @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...)

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

    I didn't know Ryan Reynolds knew Sympy

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

    Love from *_Pakistan_* !

  • @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)

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

    great vid. looks slow after you run it though ngl

  • @belaidabdelhadi
    @belaidabdelhadi 4 роки тому +2

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

  • @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 5 років тому

    thanks

  • @davikbl
    @davikbl 5 років тому

    Great learn it from a super Saiyajin!

  • @martinhopaour5744
    @martinhopaour5744 6 років тому +12

    this dude has like one dislike per 5 videos

  • @AAAAAAAAAAAAAAAAAAAAHH
    @AAAAAAAAAAAAAAAAAAAAHH 4 роки тому

    the sp.Function lines are unnecessary

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

    please share your code here!

  • @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 4 роки тому

    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  4 роки тому +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 4 роки тому

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