Double precision: change default behaviour and many docs
Created by: PhilipVinc
In the old netket we were using float
and complex
as dtypes everywhere.
However those are, in jax, known as weak dtypes (which means they are converted to single precision np.float32 as soon as they meet a single precision number).
As the samplers now by default give single-precision samples, this meant that computations were being done in single precision.
I changed to use np.float64 everywhere. Also the default of RbM and other models is now float64 instead of float32 to better match legacy behaviour.
Also add tons of warnings in the docs about this.