  We introduce an algorithm that can be used to perform stochastic perturbation
theory (sPT) to correct any non-linearly parametrized wavefunction that can be
optimized using orbital space Variational Monte Carlo (VMC). Although the
variational method gaurantees that the VMC energy can be systematically
improved the cost of doing so in practice is often prohibitive. The sPT
algorithm presented in this work represents an efficient way to improve the VMC
energies with a relatively small computational overhead. We demonstrate that
for the carbon dimer and Fe-porphyrin the sPT algorithm is able to capture
$>97\%$ and $>60\%$ respectively of the correlation energy missing from the
zeroth order wavefunction. Further, the sPT algorithm is also ideally suited
for massively parallel computations because it delivers super-linear speedup
with an increasing number of processors.
