title: TypeError 'float' object is not callable while using a for loop
body: <pre><code># Prototype of N-R for a system of two non-linear equations
  #evaluating  functions of two variables
  # f(x,y)=1.6 * x ** 2 + 3.6 * x * y - 7.8 * x - 2.6 * y + 5.2
  # g(x,y)=0.9 * y ** 2 + 3.1 * x **2 - 6.2 * x + 6.2 * y
  
  # x = 0.5
  # y =0.4
  
  from math import *
  
  eq1 = raw_input('Enter the equation 1: ')
  eq2 = raw_input('Enter the equation 2: ')
  x0 = float(input('Enter x: '))
  y0 = float(input('Enter y: '))
  
  def f(x,y):
      return eval(eq1)
  
  def g(x,y):
      return eval(eq2)
  
  Ea_X = 1
  x = x0
  y = y0
  
  for n in range(1, 8):
  
      a = (f(x + 1e-06, y) - f(x,y)) / 1e-06   #in this one start the trouble
      b = (f(x, y + 1e-06) - f(x,y)) / 1e-06
      c = 0 - f(x,y)
      d = (g(x + 1e-06, y) - g(x,y)) / 1e-06
      eE = (g(x, y + 1e-06) - g(x,y)) / 1e-06
      f = 0 - g(x,y)
  
  
      print "f(x, y)= ", eq1
      print "g(x, y)= ", eq2
      print """x   y """
      print x, y
      print """a   b   c   d   e   f """
      print a, b, c, d, e, f
  
      print """
      a * x + b * y = c
      d * x + e * y = f
      """
  
      print a," * x  +  ",b," * y  =  ",c
      print d," * x  +  ",eE," * y  =  ",f
  
      _Sy = (c - a * f / d) / (b - a * eE / d)
      _Sx = (f / d) - (eE / d) * _Sy
  
      Ea_X = (_Sx ** 2 + _Sy ** 2)**0.5
  
  
      x = x + _Sx
      y = y + _Sy
  
      print "Sx = ", _Sx
      print "Sy = ", _Sy
  
      print "x = ", x
      print "y = ", y
  
      print "|X_1 - X_0| = ", Ea_X
  </code></pre>
  
  <p>I've been testing the Newton-Rapson method for two non-linear equations,
  the prototype code works but then I was thinking in making it more
  useful, because the prototype is about the input of the 2 equations
  and the first guesses, and it would be good to implement a for loop
  instead of starting the process like 6 or 10 to resolve just one 
  of the so many equations that I'm working with</p>
  
  <pre><code># Prototype of N-R for a system of two non-linear equations
  # f(x,y)=1.6 * x ** 2 + 3.6 * x * y - 7.8 * x - 2.6 * y + 5.2
  # g(x,y)=0.9 * y ** 2 + 3.1 * x **2 - 6.2 * x + 6.2 * y
  
  # x = 0.5
  # y =0.4
  
  
  # evaluating  functions of two variables
  
  from math import *
  
  
  eq1 = raw_input('Enter the equation 1: ')
  eq2 = raw_input('Enter the equation 2: ')
  x0 = float(input('Enter x: '))
  y0 = float(input('Enter y: '))
  
  def f(x,y):
      return eval(eq1)
  
  def g(x,y):
      return eval(eq2)
  
  Ea_X = 1
  x = x0
  y = y0
  
  a = (f(x + 1e-06, y) - f(x,y)) / 1e-06
  b = (f(x, y + 1e-06) - f(x,y)) / 1e-06
  c = 0 - f(x,y)
  d = (g(x + 1e-06, y) - g(x,y)) / 1e-06
  eE = (g(x, y + 1e-06) - g(x,y)) / 1e-06
  f = 0 - g(x,y)
  
  
  print "f(x, y)= ", eq1
  print "g(x, y)= ", eq2
  print """x   y """
  print x, y
  print """a   b   c   d   e   f """
  print a, b, c, d, e, f
  
  print """
  a * x + b * y = c
  d * x + e * y = f
  """
  
  print a," * x  +  ",b," * y  =  ",c
  print d," * x  +  ",eE," * y  =  ",f
  
  _Sy = (c - a * f / d) / (b - a * eE / d)
  _Sx = (f / d) - (eE / d) * _Sy
  
  Ea_X = (_Sx ** 2 + _Sy ** 2)**0.5
  
  
  x = x + _Sx
  y = y + _Sy
  
  print "Sx = ", _Sx
  print "Sy = ", _Sy
  
  print "x = ", x
  print "y = ", y
  
  print "|X_1 - X_0| = ", Ea_X
  </code></pre>