![]() |
(git:4a2d255)
|
Methods aiming for error estimate and automatic cutoff calibration. integrals. More...
Functions/Subroutines | |
| subroutine, public | calibrate_cutoff (hmat, h_inv, g_min, vol, zet_min, l_mm, zet_max, l_max_zet, n_minimax, cutoff_l, cutoff_r, tol, delta, cutoff, err_mm, err_c, c_mm, para_env, print_calib, unit_nr) |
| Find optimal cutoff minimizing errors due to minimax approximation and due to finite cutoff using bisection on the difference of the errors. | |
| subroutine, public | cutoff_minimax_error (cutoff, hmat, h_inv, vol, g_min, zet_min, l_mm, zet_max, l_max_zet, n_minimax, minimax_aw, err_mm, err_ctff, c_mm, para_env) |
| Compute upper bounds for the errors of 2-center ERI's (P|P) due to minimax approximation and due to finite cutoff, where P is a normalized Hermite Gaussian. | |
| subroutine, public | minimax_error (cutoff, hmat, vol, g_min, zet_min, l_mm, n_minimax, minimax_aw, err_mm, delta_mm, potential, pot_par) |
| Minimax error, simple analytical formula Note minimax error may blow up for small exponents. This is also observed numerically, but in this case, error estimate is no upper bound. | |
| subroutine, public | cutoff_error (cutoff, h_inv, g_min, zet_max, l_max_zet, n_minimax, minimax_aw, err_ctff, c_mm, para_env) |
| Cutoff error, estimating G > G_c part of Ewald sum by using C/3 * 1/(Gx^2*Gy^2*Gz^2)^1/3 as an upper bound for 1/G^2 (AM-GM inequality) and its minimax approximation (factor C). | |
Methods aiming for error estimate and automatic cutoff calibration. integrals.
| subroutine, public eri_mme_error_control::calibrate_cutoff | ( | real(kind=dp), dimension(3, 3), intent(in) | hmat, |
| real(kind=dp), dimension(3, 3), intent(in) | h_inv, | ||
| real(kind=dp), intent(in) | g_min, | ||
| real(kind=dp) | vol, | ||
| real(kind=dp), intent(in) | zet_min, | ||
| integer, intent(in) | l_mm, | ||
| real(kind=dp), intent(in) | zet_max, | ||
| integer, intent(in) | l_max_zet, | ||
| integer, intent(in) | n_minimax, | ||
| real(kind=dp), intent(in) | cutoff_l, | ||
| real(kind=dp), intent(in) | cutoff_r, | ||
| real(kind=dp), intent(in) | tol, | ||
| real(kind=dp), intent(in) | delta, | ||
| real(kind=dp), intent(out) | cutoff, | ||
| real(kind=dp), intent(out) | err_mm, | ||
| real(kind=dp), intent(out) | err_c, | ||
| real(kind=dp), intent(out) | c_mm, | ||
| type(mp_para_env_type), intent(in) | para_env, | ||
| logical, intent(in) | print_calib, | ||
| integer, intent(in) | unit_nr | ||
| ) |
Find optimal cutoff minimizing errors due to minimax approximation and due to finite cutoff using bisection on the difference of the errors.
| hmat | ... |
| h_inv | ... |
| G_min | ... |
| vol | ... |
| zet_min | Minimum exponent |
| l_mm | Total ang. mom. quantum number |
| zet_max | Max. exponents to estimate cutoff error |
| l_max_zet | Max. total ang. mom. quantum numbers to estimate cutoff error |
| n_minimax | Number of terms in minimax approximation |
| cutoff_l | Initial guess of lower bound for cutoff |
| cutoff_r | Initial guess of upper bound for cutoff |
| tol | Tolerance (cutoff precision) |
| delta | to modify initial guess interval |
| cutoff | Best cutoff |
| err_mm | Minimax error |
| err_c | Cutoff error |
| C_mm | Scaling constant to generalize AM-GM upper bound estimate to minimax approx. |
| para_env | ... |
| print_calib | ... |
| unit_nr | ... |
Definition at line 63 of file eri_mme_error_control.F.
| subroutine, public eri_mme_error_control::cutoff_minimax_error | ( | real(kind=dp), intent(in) | cutoff, |
| real(kind=dp), dimension(3, 3), intent(in) | hmat, | ||
| real(kind=dp), dimension(3, 3), intent(in) | h_inv, | ||
| real(kind=dp), intent(in) | vol, | ||
| real(kind=dp), intent(in) | g_min, | ||
| real(kind=dp), intent(in) | zet_min, | ||
| integer, intent(in) | l_mm, | ||
| real(kind=dp), intent(in) | zet_max, | ||
| integer, intent(in) | l_max_zet, | ||
| integer, intent(in) | n_minimax, | ||
| real(kind=dp), dimension(:), intent(out) | minimax_aw, | ||
| real(kind=dp), intent(out) | err_mm, | ||
| real(kind=dp), intent(out) | err_ctff, | ||
| real(kind=dp), intent(out) | c_mm, | ||
| type(mp_para_env_type), intent(in) | para_env | ||
| ) |
Compute upper bounds for the errors of 2-center ERI's (P|P) due to minimax approximation and due to finite cutoff, where P is a normalized Hermite Gaussian.
| cutoff | ... |
| hmat | ... |
| h_inv | ... |
| vol | ... |
| G_min | ... |
| zet_min | Exponent of P to estimate minimax error |
| l_mm | total ang. mom. quantum number of P to estimate minimax error |
| zet_max | Max. exponents of P to estimate cutoff error |
| l_max_zet | Max. total ang. mom. quantum numbers of P to estimate cutoff error |
| n_minimax | Number of terms in minimax approximation |
| minimax_aw | Minimax coefficients |
| err_mm | Minimax error |
| err_ctff | Cutoff error |
| C_mm | Scaling constant to generalize AM-GM upper bound estimate to minimax approx. |
| para_env | ... |
Definition at line 202 of file eri_mme_error_control.F.
| subroutine, public eri_mme_error_control::minimax_error | ( | real(kind=dp), intent(in) | cutoff, |
| real(kind=dp), dimension(3, 3), intent(in) | hmat, | ||
| real(kind=dp), intent(in) | vol, | ||
| real(kind=dp), intent(in) | g_min, | ||
| real(kind=dp), intent(in) | zet_min, | ||
| integer, intent(in) | l_mm, | ||
| integer, intent(in) | n_minimax, | ||
| real(kind=dp), dimension(:), intent(out) | minimax_aw, | ||
| real(kind=dp), intent(out) | err_mm, | ||
| real(kind=dp), intent(out) | delta_mm, | ||
| integer, intent(in), optional | potential, | ||
| real(kind=dp), intent(in), optional | pot_par | ||
| ) |
Minimax error, simple analytical formula Note minimax error may blow up for small exponents. This is also observed numerically, but in this case, error estimate is no upper bound.
| cutoff | ... |
| hmat | ... |
| vol | ... |
| G_min | ... |
| zet_min | Exponent of P to estimate minimax error |
| l_mm | total ang. mom. quantum number of P to estimate minimax error |
| n_minimax | Number of terms in minimax approximation |
| minimax_aw | Minimax coefficients |
| err_mm | Minimax error |
| delta_mm | ... |
| potential | ... |
| pot_par | ... |
Definition at line 240 of file eri_mme_error_control.F.
| subroutine, public eri_mme_error_control::cutoff_error | ( | real(kind=dp), intent(in) | cutoff, |
| real(kind=dp), dimension(3, 3), intent(in) | h_inv, | ||
| real(kind=dp), intent(in) | g_min, | ||
| real(kind=dp), intent(in) | zet_max, | ||
| integer, intent(in) | l_max_zet, | ||
| integer, intent(in) | n_minimax, | ||
| real(kind=dp), dimension(:), intent(inout) | minimax_aw, | ||
| real(kind=dp), intent(out) | err_ctff, | ||
| real(kind=dp), intent(out) | c_mm, | ||
| type(mp_para_env_type), intent(in) | para_env | ||
| ) |
Cutoff error, estimating G > G_c part of Ewald sum by using C/3 * 1/(Gx^2*Gy^2*Gz^2)^1/3 as an upper bound for 1/G^2 (AM-GM inequality) and its minimax approximation (factor C).
Note: usually, minimax approx. falls off faster than 1/G**2, so C should be approximately 1. The error is calculated for all l up to l_max and golden section search algorithm is applied to find the exponent that maximizes cutoff error.
| cutoff | ... |
| h_inv | ... |
| G_min | ... |
| zet_max | Max. exponents of P to estimate cutoff error |
| l_max_zet | Max. total ang. mom. quantum numbers of P to estimate cutoff error |
| n_minimax | Number of terms in minimax approximation |
| minimax_aw | Minimax coefficients |
| err_ctff | Cutoff error |
| C_mm | Scaling constant to generalize AM-GM upper bound estimate to minimax approx. |
| para_env | ... |
Definition at line 285 of file eri_mme_error_control.F.