I created a repository to illustrate my algorithm https://github.com/Konjkov/pycasino
You can install it with the command (under Linux to virtualenv) pip install . from project root directiry.
You can execute the test task by running any path from the file
https://github.com/Konjkov/pycasino/blo ... /casino.sh
mpiexec pycasino stowfn/He/HF/QZ4P/CBCS/Slater/
The code that performs the varmin optimization is at
https://github.com/Konjkov/pycasino/blo ... no.py#L544
procedure that projects parameters is at
https://github.com/Konjkov/pycasino/blo ... fn.py#L191
it calls Jastrow, backflow and Slater corresponding procedures, for example in Jastrow
https://github.com/Konjkov/pycasino/blo ... ow.py#L825
which make projection matrix to project unconstrained Jastrow gradient w.r.t. parameters to constrained one.
unfortunately due to numba issue https://github.com/numba/numba/issues/4830
before each launch, approximately 150 seconds are spent on caching numba classes.
This can be fixed by creating a client-server architecture, maybe in the near future.
General discussion of quantum Monte Carlo in electronic structure theory