class_docstr: 1d-solver generating pairs of approximative root and error.
  
  Ridders' method to find a root of f in [a, b].
  Is told to perform as well as Brent's method while being simpler.
  
  Pro:
  
  * very fast
  * simpler than Brent's method
  
  Contra:
  
  * two function evaluations per step
  * has problems with multiple roots
  * needs sign change
  
  http://en.wikipedia.org/wiki/Ridders'_method
class_docstr_tok: ["1d-solver","generating","pairs","of","approximative","root","and","error",".","Ridders","'","method","to","find","a","root","of","f","in","[","a",",","b","]",".","Is","told","to","perform","as","well","as","Brent","'s","method","while","being","simpler",".","Pro",":","*","very","fast","*","simpler","than","Brent","'s","method","Contra",":","*","two","function","evaluations","per","step","*","has","problems","with","multiple","roots","*","needs","sign","change","http",":","\/\/en.wikipedia.org\/wiki\/Ridders'_method"]
code: def __init__(self, ctx, f, x0, **kwargs):
      self.ctx = ctx
      self.f = f
      if len(x0) != 2:
          raise ValueError(
              "expected interval of 2 points, got %i" % len(x0)
          )
      self.x1 = x0[0]
      self.x2 = x0[1]
      self.verbose = kwargs["verbose"]
      self.tol = kwargs["tol"]
  
imports: from __future__ import print_function
  from copy import copy
  from ..libmp.backend import xrange
label_desc: Use image node_id 1 to create a new Ridder object  with example: obj = Ridder(ctx, f, x0)