klampt.math.rootfind module

Python interface to C++ nonlinear, multidimensional root finding routines

klampt.math.rootfind.destroy()[source]

destroys internal data structures

klampt.math.rootfind.findRoots(startVals, iter)[source]

Performs unconstrained root finding for up to iter iterations

Parameters:
  • startVals (object) –
  • iter (int) –
Returns:

where status indicates

the return code, as follows:

  • 0: convergence reached in x
  • 1: convergence reached in f
  • 2: divergence
  • 3: degeneration of gradient (local extremum or saddle point)
  • 4: maximum iterations reached
  • 5: numerical error occurred

and x is the final point and n is the number of iterations used

Return type:

status,x,n (tuple of int, list of floats, int)

klampt.math.rootfind.findRootsBounded(startVals, boundVals, iter)[source]

Same as findRoots, but with given bounds (xmin,xmax)

Parameters:
  • startVals (object) –
  • boundVals (object) –
  • iter (int) –
Returns:

Return type:

(object)

klampt.math.rootfind.setFTolerance(tolf)[source]

Sets the termination threshold for the change in f.

Parameters:tolf (float) –
klampt.math.rootfind.setVectorField(pVFObj)[source]

Sets the vector field object.

Parameters:pVFObj (object) –
Returns:0 if pVFObj = NULL, 1 otherwise.
Return type:status (int)

See vectorfield.py for an abstract base class that can be overridden to produce one of these objects.

klampt.math.rootfind.setXTolerance(tolx)[source]

Sets the termination threshold for the change in x.

Parameters:tolx (float) –