Difference between revisions of "CamCASP/Programming/3"
import>Am592 |
import>Am592 |
||
Line 2: | Line 2: | ||
== Outline == |
== Outline == |
||
− | + | We calculate our 4-index 2-electron integrals in the following way (chemical notation): |
|
<math> |
<math> |
||
Line 8: | Line 8: | ||
</math> |
</math> |
||
− | where we have assumed <math>p,q ~ (r,s)</math> belong to molecule A (B). |
+ | where we have assumed <math>p,q ~ (r,s)</math> belong to molecule A (B). These integrals have errors that are second order in the error in the density. Here's why: |
+ | Consider the difference |
||
− | We have: |
||
<math> |
<math> |
||
− | |pq) = |
+ | (pq|rs) - (\tilde{pq}|\tilde{rs}) = (pq-\tilde{pq}|rs-\tilde{rs}) + (\tilde{pq}|rs-\tilde{rs}) + (ps-\tilde{pq}|\tilde{rs}) |
</math> |
</math> |
||
+ | Since <math>|pq-\tilde{pq})</math> is the error made in fitting transition density <math>|pq)</math>, it appears that the error in this expression is ''linear'' in the error in the (transition)-density. But this is not the case, and Dunlap (B.I. Dunlap, Int. J. Quantum Chem. 64, 193 (1997) and Phys. Chem. Chem. Phys. 2, 2113 (2000)) has shown that the terms with linear errors actually vanish. To see this, take one of these terms, |
||
− | which implicitly defines the error <math>\delta_{pq}</math>. Using this, our approximation to the 4-index integral above can be written as |
||
<math> |
<math> |
||
− | + | (\tilde{pq}|rs-\tilde{rs}) |
|
</math> |
</math> |
||
+ | together with the expansion <math>|\tilde{pq}) = D_{pq,k} |k)</math> and the density-fitting equations |
||
− | The error in this expression is ''linear'' in the error in the (transition)-density. |
||
− | |||
− | To remove the linear error we need an alternative expression for the integral. This has been derived long ago, probably by Dulap (see Manby's 2003 JCP paper on density-fitting) and is |
||
<math> |
<math> |
||
− | + | (k|k') D_{pq,k'} = (k|pq). |
|
</math> |
</math> |
||
+ | So our 2-electron Coulomb integrals are already robust. See Fred Manby's paper in J. Chem. Phys. 119, 4607 (2003) for more details. |
||
− | where the '<math>R</math>' has been used to indicate ''ROBUSTNESS''. This robust form can be re-written as |
||
− | |||
− | <math> |
||
− | R(pq|rs) = (pq|rs) - (\delta_{pq}|\delta_{rs}). |
||
− | </math> |
||
− | |||
− | Therefore the error is now ''quadratic'' in the error made in the density. |
||
− | |||
− | |||
==Why do we need the robust form?== |
==Why do we need the robust form?== |
Revision as of 13:50, 30 April 2009
CamCASP => Programming => Robust integrals
Outline
We calculate our 4-index 2-electron integrals in the following way (chemical notation):
<math>
(pq|rs) \approx (\tilde{pq}|\tilde{rs}) = D^A_{pq,k} (k|l) D^B_{rs,l}
</math>
where we have assumed <math>p,q ~ (r,s)</math> belong to molecule A (B). These integrals have errors that are second order in the error in the density. Here's why:
Consider the difference
<math>
(pq|rs) - (\tilde{pq}|\tilde{rs}) = (pq-\tilde{pq}|rs-\tilde{rs}) + (\tilde{pq}|rs-\tilde{rs}) + (ps-\tilde{pq}|\tilde{rs})
</math>
Since <math>|pq-\tilde{pq})</math> is the error made in fitting transition density <math>|pq)</math>, it appears that the error in this expression is linear in the error in the (transition)-density. But this is not the case, and Dunlap (B.I. Dunlap, Int. J. Quantum Chem. 64, 193 (1997) and Phys. Chem. Chem. Phys. 2, 2113 (2000)) has shown that the terms with linear errors actually vanish. To see this, take one of these terms,
<math>
(\tilde{pq}|rs-\tilde{rs})
</math>
together with the expansion <math>|\tilde{pq}) = D_{pq,k} |k)</math> and the density-fitting equations
<math>
(k|k') D_{pq,k'} = (k|pq).
</math>
So our 2-electron Coulomb integrals are already robust. See Fred Manby's paper in J. Chem. Phys. 119, 4607 (2003) for more details.
Why do we need the robust form?
The main, and probably only reason is that the simple form of these 4-index integrals results in too large an error in the first-order electrostatic energy.
Implementation issues
The robust form requires T-integrals of the form OOX,AAB. That is, occupied MOs of A with the auxiliary basis of B (and OOX,BBA). These are not calculated in the present code (well they are if the dimer basis is used).