diff --git a/README.html b/README.html index 95de81c..edec5af 100644 --- a/README.html +++ b/README.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +program print_energy @@ -385,25 +385,23 @@ This program computes the energy as:\[ - E = E_{\text{NN}} + \sum_{ij} D_{ij}\, \langle i | h | j \rangle\, - +\, \frac{1}{2} \sum_{ijkl} \Gamma_{ijkl}\, \langle i j | k l + E = E_{\text{NN}} + \sum_{ij} \gamma_{ij}\, \langle j | h | i \rangle\, + +\, \frac{1}{2} \sum_{ijkl} \Gamma_{ijkl}\, \langle k l | i j \rangle\; \textrm{ with } \; 0 < i,j,k,l \le n \] -
- -One needs to read from the TREXIO file:
integer :: n double precision :: E, E_nn @@ -413,8 +411,8 @@ One needs to read from the TREXIO file:
integer :: i, j, k, l, m @@ -429,8 +427,8 @@ One needs to read from the TREXIO file:
call getarg(1, filename) @@ -446,8 +444,8 @@ f = trexio_open (filename, 'r', TREXIO_HDF5
rc = trexio_read_nucleus_repulsion(f, E_nn)
@@ -461,8 +459,8 @@ f = trexio_open (filename, 'r', TREXIO_HDF5
rc = trexio_read_mo_num(f, n)
@@ -476,8 +474,8 @@ f = trexio_open (filename, 'r', TREXIO_HDF5
allocate( D(n,n), h0(n,n) )
@@ -489,8 +487,8 @@ W(:,:,:,:) = 0.d0
rc = trexio_has_mo_1e_int_core_hamiltonian(f) @@ -522,8 +520,8 @@ rc = trexio_read_rdm_1e(f, D)
Reading is done with OpenMP. Each thread reads its own buffer, and @@ -539,8 +537,8 @@ to be protected in the critical section when modified.
rc = trexio_has_mo_2e_int_eri(f) @@ -589,8 +587,8 @@ icount = BUFSIZE
rc = trexio_has_rdm_2e(f) @@ -634,11 +632,23 @@ icount = bufsize
-As \((n,m)\) 2D arrays are stored in memory as \((\n times m)\) 1D +When the orbitals are real, we can use +
+\begin{eqnarray*} +E &=& E_{\text{NN}} + \sum_{ij} \gamma_{ij}\, \langle j | h | i \rangle\, ++\, \frac{1}{2} \sum_{ijkl} \Gamma_{ijkl}\, \langle k l | i j +\rangle \\ + &=& E_{\text{NN}} + \sum_{ij} \gamma_{ij}\, \langle i | h | j \rangle\, ++\, \frac{1}{2} \sum_{ijkl} \Gamma_{ijkl}\, \langle i j | k l +\rangle \\ +\end{eqnarray*} + +
+As \((n,m)\) 2D arrays are stored in memory as \((n \times m)\) 1D
arrays, we could pass the matrices to the ddot
BLAS function to
perform the summations in a single call for the 1-electron quantities.
Instead, we prefer to interleave the 1-electron (negative) and
@@ -669,8 +679,8 @@ E = E + E_nn
deallocate( D, h0, G, W )
@@ -685,7 +695,7 @@ E = E + E_nn
stdint.h
Memory allocation of structures can be facilitated by using the @@ -517,8 +517,8 @@ The maximum string size for the filenames is 4096 characters.
All calls to TREXIO are thread-safe. @@ -526,10 +526,10 @@ TREXIO front end is modular, which simplifies implementation of new back ends.
For example, consider H2 with the following basis set (in GAMESS @@ -1032,8 +1032,8 @@ prim_factor =
Going from the atomic basis set to AOs implies a systematic @@ -1085,13 +1085,13 @@ shell, as in the GAMESS convention where
In such a case, one should set the normalization of the shell (in -the Basis set section) to \(\mathcal{N}_{z^2}\), which is the +the Basis set section) to \(\mathcal{N}_{z^2}\), which is the normalization factor of the atomic orbitals in spherical coordinates. The normalization factor of the \(xy\) function which should be introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
-