| Literature DB >> 29806002 |
Teresa Tamayo-Mendoza1, Christoph Kreisbeck1, Roland Lindh2, Alán Aspuru-Guzik1,3.
Abstract
Automatic differentiation (AD) is a powerful tool that allows calculating derivatives of implemented algorithms with respect to all of their parameters up to machine precision, without the need to explicitly add any additional functions. Thus, AD has great potential in quantum chemistry, where gradients are omnipresent but also difficult to obtain, and researchers typically spend a considerable amount of time finding suitable analytical forms when implementing derivatives. Here, we demonstrate that AD can be used to compute gradients with respect to any parameter throughout a complete quantum chemistry method. We present DiffiQult, a Hartree-Fock implementation, entirely differentiated with the use of AD tools. DiffiQult is a software package written in plain Python with minimal deviation from standard code which illustrates the capability of AD to save human effort and time in implementations of exact gradients in quantum chemistry. We leverage the obtained gradients to optimize the parameters of one-particle basis sets in the context of the floating Gaussian framework.Entities:
Year: 2018 PMID: 29806002 PMCID: PMC5968443 DOI: 10.1021/acscentsci.7b00586
Source DB: PubMed Journal: ACS Cent Sci ISSN: 2374-7943 Impact factor: 14.553
Figure 1The center depicts the computational graph of a simple function F(x1, x2) and its elementary operations. On the left and right, we illustrate the differentiation steps of forward and backward mode, respectively. In forward mode, the evaluation of the function at a given set of parameter and the derivative with respect to x1 is evaluated by computing the intermediate variables ϕ and their derivatives following the order of the computational graph using the chain rule. The direction of the evaluation is indicated by the left arrow. In backward mode, the function is evaluated first at a given value, and later the adjoints of all the intermediate variables are computed by iterating backward through the computational graph, indicated by the right arrow. Notice, in this mode, the partial derivatives of the function with respect to the two independent variables are computed together, whereas in forward mode each partial derivative of the function has to be evaluated separately. In this example, to compute the entire gradient, the number of operations in backward mode is smaller than in forward mode.
Figure 2Diagram of the fully variational algorithm implemented in the DiffiQult package.
Figure 3One-electron basis function optimizations of H2O. (a) Optimization steps of STO-3G and STO-2G with different optimization schemes. (A) Optimizing exponents and coefficients 10 steps each twice, and (B) optimizing exponents and coefficients together, followed by optimizing positions. (b) Contour of the difference in electronic density between the STO-3G basis and the optimized one-electron basis functions under scheme (B). (c) Contours of the difference in electronic density between the conventional STO-3G basis set and the reference 3-21G basis set. (d) Contour of the difference in electronic density between the optimized (scheme (B)) STO-3G basis set and the reference 3-21G basis set. An increase of density on the optimization is displayed in blue and a decrease is in red.
Hartree–Fock Energies in Hartrees Test Molecules of the Nonoptimized and Optimized (Scheme (B)) basis sets STO-2G and STO-3Ga
| basis | |||||
|---|---|---|---|---|---|
| STO-2G | STO-3G | ||||
| molecule | none | Opt. | none | Opt. | reference: 3-21G |
| HF | –95.60 | –97.03 | –98.57 | –99.38 | –99.46 |
| H2O | –72.74 | –73.82 | –74.96 | –75.52 | –75.59 |
| NH3 | –53.82 | –54.65 | –55.45 | –55.83 | –55.87 |
| CH4 | –38.59 | –39.32 | –39.72 | –39.96 | –39.98 |
| CH3F | –133.09 | –134.96 | –137.17 | –137.43 | –138.28 |
| CH2O | –109.02 | –110.54 | –112.35 | –112.72 | –113.22 |
As a reference, we show results for the larger 3-21G basis set.