Dice Fortran Backend Documentation
vqmc.f90 File Reference

Go to the source code of this file.

Modules

module  vqmc
 Contains routines for handline random number generation, the main VQMC algorithms and routines for determining ideal parameters.
 

Functions/Subroutines

subroutine vqmc::init_ran1 ()
 Initialiser for the random number generator. More...
 
subroutine vqmc::ran1 (sample, dseed)
 Implementation of Press et al's random number generator. More...
 
real(real64) function, dimension(:), allocatable vqmc::linspace (start, end, num)
 Adaptation of numpy's linspace function. More...
 
subroutine vqmc::random_normal (dim, x)
 Draws a sample from a normal distribution using the Box-Muller transform. More...
 
subroutine vqmc::vqmc_qho (sigma, N, burn, thin, alpha_const, X_burnt, accept_rate, energy_chain, energy_mean, energy_variance, x_start)
 Performs VQMC for the QHO system. More...
 
subroutine vqmc::grid_qho (alpha_array, energies, acc_rates, variances)
 Performs VQMC on an array of values for the variational parameter \( \alpha \). More...
 
subroutine vqmc::equil_qho (alpha_array)
 Performs VQMC on an array of values for the variational parameter \( \alpha \), outputting energy traces for each. More...
 
subroutine vqmc::vqmc_h_2_plus (sigma, N, burn, thin, c_const, R_a, R_b, X_burnt, accept_rate, energy_chain, energy_mean, energy_variance, DphiDc_chain, x_start)
 Performs VQMC for the \( H_{2}^{+} \) system.
More...
 
subroutine vqmc::auto_h_2_plus (c_in, bond_length, c_out, energy_out, variance_out, accept_out, converged)
 Automatically finds the best variational parameter \( c \) for the \( H_{2}^{+} \) problem at given bond length. More...
 
subroutine vqmc::grid_h_2_plus (c_array, bond_length, c_out, energy_out, variance_out, accept_out)
 Performs a grid search to find the optimal value for the variational parameter \( c \) in the \( H_{2}^{+} \) problem. More...
 
subroutine vqmc::equil_h_2_plus (c_array, bond_length, bonds_pos)
 Performs VQMC on an array of values for the variational parameter \( c \), outputting energy traces for each. More...
 
subroutine vqmc::vqmc_h_2 (sigma, N, burn, thin, a, beta, R_a, R_b, X_1_burnt, X_2_burnt, accept_rate, energy_chain, energy_mean, energy_variance, DphiDbeta_chain, x_start_1, x_start_2)
 Performs VQMC for the \( H_{2}^{+} \) system.
More...
 
subroutine vqmc::auto_h_2 (a, beta_in, bond_length, beta_out, energy_out, variance_out, accept_out, converged)
 Automatically finds the best variational parameter \( \beta \) for the \( H_{2}^{+} \) problem at a given bond length. More...
 
subroutine vqmc::grid_h_2 (a, beta_array, bond_length, beta_out, energy_out, variance_out, accept_out)
 Performs a grid search to find the optimal value for the variational parameter \( \beta \) in the \( H_{2} \) problem. More...
 
subroutine vqmc::equil_h_2 (a, beta_array, bond_length, bonds_pos)
 Performs VQMC on an array of values for the variational parameter \( \beta \), outputting energy traces for each. More...
 

Variables

integer, parameter vqmc::ntab = 32
 Variable controlling the RNG sequence. More...
 
integer(int64), dimension(ntab), save vqmc::iv = 0
 Variable controlling the RNG sequence. More...
 
integer(int64), save vqmc::iy = 0
 Variable controlling the RNG sequence. More...
 
integer vqmc::logfrac = 10
 1/logfrac is the fraction of samples to report in the log, if shared_data::write_log is TRUE. More...