KSpace jastrows need more implementation
Is your feature request related to a problem? Please describe. Looks like Kspace jastrows are listed in the manual, but they lack a lot of implementation. e.g. they are not currently compatible with the default pseudopotential evaluation that uses virtual particles because it is not implemented. If you switch to algorithm = 'non-batched' to avoid virtual particle set evaluation, the code cannot optimize the coefficients because evaluateDerivRatios or evaluateDerivatiesWF are not implemented.
Describe the solution you'd like implement kspace jastrow functionality.
Describe alternatives you've considered
Additional context
- [x] Implement evaluateDerivativesWF
- [x] add unit tests for gradients, laplacians, parameter derivatives
- [ ] add APIs for batched NLPP algorithm, i.e. evauateRatios and evaluateDerivRatios
- [ ] mw_implementations
Hopefully this was not too much of a surprise. This "oversight" stems from there being no test of k-space Jastrow optimization with the batched drivers, so the code paths were never hit. However, there is also no test of k-space Jastrow optimization even with the legacy code. e.g. There is no coverage of kSpaceJastrow::evaluateDerivatives . Our historical experience is that there could be surprises in the old functionality.
I'm working now adding the derivatives testing, and then will add the other APIs I need to get this optimizable
Some of this is addressed in #5356
@camelto2 is this working now? I've seen some optimization plots involving Jk1/Jk2...
There is a path to doing the calculations, but it currently requires non-batched NonLocalECP evaluation (algorithm = "non-batched" in the input file). Additionally, all the evaluation routines are not using mw_ implementations. The checklist above is up to date regarding what is missing