qsimulate-open / smith2

Automated code generation program for general order CC and CC-F12 methods
GNU General Public License v2.0
4 stars 1 forks source link

Question about factors #1

Open aoleynichenko opened 6 years ago

aoleynichenko commented 6 years ago

Dear Mr Shiozaki, I'm trying to understand the SMITH2 code and have some questions: 1) Does SMITH2 use antisymmetrized formalism for diagrams? 2) For example, if we consider expression for the correlation energy in the CCD model: <0| g( f1 v2 ) x( t2 ) |0> SMITH2 will give the following result:

t(p3+p4+ h1h2 ; p3+p4+ h1h2) v(h1+h2+ p3p4 ; h1+h2+ p3p4) Operation: h2a0p2P0 Memory: h0a0p0P0

[D(; ) -> D(; )] [t(p3+p4+ h1h2 ; p3+p4+ h1h2) v(h1+h2+ p3p4 ; h1+h2+ p3p4) -> D(; )]

Here the factor before contraction is equal to 1.0, however, the "book" expression for the CCD energy is 1/4 \sum_{ijab} <ij||ab> t_ij^ab (factor is equal to 0.25!) Please, could you point me out, what is wrong in my consideration? 3) How do permutations P(ij), P(ij|ab) needed to be introduced into CCD-Doubles (for example) equations are taken into account? Is this information shown anywhere in the SMITH2 output or I should evaluate them somehow on the stage of the Fortran code generation?

Thank you in advance, King regards, Alexander Oleynichenko, Lomonosov Moscow State University email: alexvoleynichenko@gmail.com

shiozaki commented 6 years ago

Hi Alexander, (1) Yes, these are all anti-symmetrized tensors. (2) The factor of 1/4 is implicitly absorbed in the compressed summation loop: when h1h2 is summed over (indices without separation), index restriction like h1<h2 is implicit (because that's the way you code up). (3) Permutation information is included in the second set of index pairs (each tensors have two lists of indices, one is unpacked, the other is packed). If you write a specific example that includes permutation operator, I can let you know.

Toru