Generalized version of NonlinearSolver not limited to a single madness function.  
 More...
template<class T, class C = double, class Alloc = default_allocator<T>>
class madness::XNonlinearSolver< T, C, Alloc >
Generalized version of NonlinearSolver not limited to a single madness function. 
This solves the equation  where u and r are both of type
 where u and r are both of type T and inner products between two items of type T produce a number of type C (defaulting to double). The type T must support storage in an STL vector, scaling by a constant of type C, inplace addition (+=), subtraction, allocation with value zero, and inner products computed with the interface inner(a,b). Have a look in examples/testsolver.cc for a simple but complete example, and in examples/h2dynamic.cc for a more complex example.
I've not yet tested with anything except C=double and I think that the KAIN routine will need extending for anything else. 
template<class T, class C = double, class Alloc = default_allocator<T>> 
  
  | 
        
          | T madness::XNonlinearSolver< T, C, Alloc >::update | ( | const T & | u, |  
          |  |  | const T & | r, |  
          |  |  | const double | rcondtol = 1e-8, |  
          |  |  | const double | cabsmax = 1000.0 |  
          |  | ) |  |  |  | inline |