1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Program to solve system of nonlinear equations

  1. Oct 6, 2013 #1
    1. The problem statement, all variables and given/known data

    XMEaAdV.png

    Solve the aforementioned system of nonlinear equations using newton's method. write a program to carry out the calculations (it must use gauss elimination).

    Use the values 0-3 for [itex]x_{1}^{(0)}, x_{2}^{(0)}[/itex] (ie. 16 data sets total).


    3. The attempt at a solution

    So i have hit my first roadblock: For [itex]x_{1}^{(0)}=0, x_{2}^{(0)}=0[/itex] this makes absolutely no sense.

    You end up with [itex]0 * Δx_{1}^{(0)} + 0 * Δx_{2}^{(0)} = 1[/itex] which is impossible. What the heck?
     
  2. jcsd
  3. Oct 6, 2013 #2

    fzero

    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    You will always run into problems with Newton's method if one of the iteration points is stationary, which happens whenever the Jacobian matrix is singular (##\det \mathbf{G}'(\mathbf{x}) =0##). In this case there is a line of stationary points on the ##x_2## axis, so several of the starting points listed will fail. There are alternative methods to Newton, but they would seem to be beyond the scope of the problem.
     
  4. Oct 6, 2013 #3
    Correct, i am supposed to use newton's method with gauss elimination specifically... So should i email my prof about this? Is there some sort of method to solving this case?
     
  5. Oct 6, 2013 #4

    fzero

    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    Sure, you could email the prof or grader. If your course or text didn't cover the methods for singular matrices, I don't think that you'd be expected to learn them just to do this problem. If you are interested in reading about one method, you might check out this chapter that uses Singular Value Decomposition (SVD) of the Jacobian to improve the Newton method. There's a similar (maybe equivalent) method described in this paper, but the presentation is more technical than the 1st reference. Again, I am certain you are not expected to use these methods, but it can't hurt to check with the prof.
     
  6. Oct 7, 2013 #5
    I messaged the prof and he tells me,

    Just report your findings (with a brief discussion). I am assuming that you get convergence for at least some of the initial data. You can take some liberty with the initial data ...

    Not sure what "some liberty" means but i did manage to make my program work for cases where the matrix doesn't have a row of zeros.
     
  7. Oct 7, 2013 #6

    fzero

    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    Instead of starting with a bad point on the list, you could choose an initial point a small distance away from the suggested one to see if the convergence improves.
     
  8. Oct 7, 2013 #7
    Ah, so in place of 0, i could take, say, 0.001 and try with that?
     
  9. Oct 7, 2013 #8

    fzero

    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    Yes. If you start too close to the singular point, though, it might take a relatively long time for Newton to converge, or the trajectory might actually hit the singular point. This actually seems like a good problem because it might illustrate a lot of features that would come up in realistic applications.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted



Similar Discussions: Program to solve system of nonlinear equations
  1. Solving an equation? (Replies: 2)

Loading...