Hi, I am trying to write a program in python that solves a system of nonlinear equations using newton's method. I don't know what I am doing wrong. Please help from scipy import* x = array([0.0,0.0,0.0]) n=len(x) tol= 0.00001 N=30 k=1 while k <= N: def f(x): f= zeros((len(x)),float) f[0][k]= x[0][k]**2 + x[1][k]-37 f[1][k]=x[0][k]- x[1][k]**2- 5 f[2][k]= x[0][k] + x[1][k]+ x[2][k]- 3 return f[k] def J(x): J= zeros((n,n),float) for i in range(n): ei=zeros(n,float) ei[i]=1.0 J[:i]=(f(x[k]+tol*ei)-f(x[k]))/tol return J y[k] = -(J.I)*f[k] x[k+1]=x[k]+y[k] if sqrt(dot(f0,f0)/len(x)) < tol: print x else: k=k+1 print 'Too many iterations'
-- This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html. This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks Transtec Computers for their support.
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor