Optimized implementation for calculation and fast-update of Pfaffians installed to the open-source fermionic variational solver mVMC
In this article, we present a high performance, portable and well templated implementation for computing and fast-updating Pfaffian and inverse of an even-ranked skew-symmetric (antisymmetric) matrix. It is achieved with a skew-symmetric, blocked variant of the Parlett-Reid algorithm and a blocked update scheme based on the Woodbury matrix identity. Installation of this framework into the geminal-wavefunction-based many-variable Variational Monte Carlo (mVMC) code boosts sampling performance to up to more than 6 times without changing Markov chain's behavior. The implementation is based on an extension of the BLAS-like instantiation software (BLIS) framework which has optimized kernel for many state-of-the-art processors including Intel Skylake-X, AMD EPYC Rome and Fujitsu A64FX.