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 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 |