def __init__(self, equations, threshold, rcond1=<NUM_LIT>, max_iter=<NUM_LIT:100>):
self.equations = equations<EOL>self.lock = np.zeros(len(equations), bool)<EOL>self.threshold = threshold<EOL>self.rcond1 = rcond1<EOL>self.max_iter = max_iter<EOL>
The constraint solver internally works with a constraint cost
function, defined as the squared sum of the constraint functions.
The constraints are satisfied by bringing the cost function to zero.
This is done in iterative fashion. At each iteration, two attempts
are made to lower the constraint cost function:

1) Take a Levenberg-Marquardt-like step.
2) If (1) fails or is too slow, take a step to fix only one of the
   constraints, i.e. the constraint which has the largest mismatch.

Arguments:
 | ``equations`` -- a list of (sign,equation) pairs. sign can be +1,
                    0 of -1. equation is a function with one
                    argument: the vector of unknowns in the
                    minimizer. It returns the value of the constraint
                    function and the gradient of that function. If
                    sign is +1, the parameters will be forced in the
                    region where the constraint function is positive.
                    (Similar for -1, constraint function is forced to
                    be negative.) When the sign is 0, the constraint
                    function is forced to be zero.
 | ``threshold`` -- The acceptable allowed deviation from the
                    constraints. The deviation is defined as the
                    euclidean norm of the (active) constraint
                    functions.

Optional arguments:
 | ``rcond1`` -- During the iterative solution of the constraint
                 equations in the shake algorithm, it may happen
                 that an ill-conditioned set of equations must be
                 solved. In that case rcond1 is the first ridge
                 parameter used to regularize these equations. If
                 needed, the ridge parameter is multiplied by 10
                 until a better fit of the constraints is found.
 | ``max_iter`` -- The maximum number of iterations in the shake
                   algorithm. This is used in several functions.