mirror of
https://github.com/TREX-CoE/trexio.git
synced 2025-01-03 01:56:13 +01:00
Removed RDM down-up which was redundant with up-down
This commit is contained in:
parent
fb711e1bed
commit
87035ba5c8
59
trex.org
59
trex.org
@ -426,7 +426,7 @@ prim_factor =
|
|||||||
|
|
||||||
All the functions $V_{A\ell}$ are parameterized as:
|
All the functions $V_{A\ell}$ are parameterized as:
|
||||||
\[
|
\[
|
||||||
V_{A \ell}(\mathbf{r}) =
|
V_{A \ell}(\mathbf{r}) =
|
||||||
\sum_{q=1}^{N_{q \ell}}
|
\sum_{q=1}^{N_{q \ell}}
|
||||||
\beta_{A q \ell}\, |\mathbf{r}-\mathbf{R}_{A}|^{n_{A q \ell}}\,
|
\beta_{A q \ell}\, |\mathbf{r}-\mathbf{R}_{A}|^{n_{A q \ell}}\,
|
||||||
e^{-\alpha_{A q \ell} |\mathbf{r}-\mathbf{R}_{A}|^2 }
|
e^{-\alpha_{A q \ell} |\mathbf{r}-\mathbf{R}_{A}|^2 }
|
||||||
@ -452,7 +452,7 @@ prim_factor =
|
|||||||
hand, it can be attributed to the maximum angular momentum of the
|
hand, it can be attributed to the maximum angular momentum of the
|
||||||
ECP that replaces the core electrons.
|
ECP that replaces the core electrons.
|
||||||
*Note*, that the latter $\ell_{\max}$ is always higher by 1 than the former.
|
*Note*, that the latter $\ell_{\max}$ is always higher by 1 than the former.
|
||||||
|
|
||||||
*Note for developers*: avoid having variables with similar prefix
|
*Note for developers*: avoid having variables with similar prefix
|
||||||
in their name. The HDF5 back end might cause issues due to the way
|
in their name. The HDF5 back end might cause issues due to the way
|
||||||
~find_dataset~ function works. For example, in the ECP group we
|
~find_dataset~ function works. For example, in the ECP group we
|
||||||
@ -868,7 +868,7 @@ power = [
|
|||||||
} ,
|
} ,
|
||||||
#+end_src
|
#+end_src
|
||||||
:end:
|
:end:
|
||||||
|
|
||||||
* Multi-determinant information
|
* Multi-determinant information
|
||||||
** Slater determinants (determinant group)
|
** Slater determinants (determinant group)
|
||||||
|
|
||||||
@ -966,7 +966,7 @@ power = [
|
|||||||
on a reference wave function $\Psi$, where $\hat{T}_1$ is the single excitation operator,
|
on a reference wave function $\Psi$, where $\hat{T}_1$ is the single excitation operator,
|
||||||
|
|
||||||
\[
|
\[
|
||||||
\hat{T}_1 = \sum_{ia} t_{i}^{a}\, \hat{a}^\dagger_a \hat{a}_i,
|
\hat{T}_1 = \sum_{ia} t_{i}^{a}\, \hat{a}^\dagger_a \hat{a}_i,
|
||||||
\]
|
\]
|
||||||
|
|
||||||
$\hat{T}_2$ is the double excitation operator,
|
$\hat{T}_2$ is the double excitation operator,
|
||||||
@ -986,7 +986,7 @@ power = [
|
|||||||
|
|
||||||
\[ |\Phi\rangle = e^{\hat{T}}| \Psi \rangle \]
|
\[ |\Phi\rangle = e^{\hat{T}}| \Psi \rangle \]
|
||||||
|
|
||||||
The reference wave function is stored using the ~determinant~ and/or
|
The reference wave function is stored using the ~determinant~ and/or
|
||||||
~csf~ groups, and the amplitudes are stored using the current group.
|
~csf~ groups, and the amplitudes are stored using the current group.
|
||||||
The attributes with the ~exp~ suffix correspond to exponentialized operators.
|
The attributes with the ~exp~ suffix correspond to exponentialized operators.
|
||||||
|
|
||||||
@ -1043,8 +1043,7 @@ power = [
|
|||||||
\gamma_{ij} = \gamma^{\uparrow}_{ij} + \gamma^{\downarrow}_{ij}
|
\gamma_{ij} = \gamma^{\uparrow}_{ij} + \gamma^{\downarrow}_{ij}
|
||||||
\]
|
\]
|
||||||
|
|
||||||
The $\uparrow \uparrow$, $\downarrow \downarrow$, $\uparrow \downarrow$, $\downarrow \uparrow$
|
The $\uparrow \uparrow$, $\downarrow \downarrow$, $\uparrow \downarrow$ components of the two-body density matrix are given by
|
||||||
components of the two-body density matrix are given by
|
|
||||||
\begin{eqnarray*}
|
\begin{eqnarray*}
|
||||||
\Gamma_{ijkl}^{\uparrow \uparrow} &=&
|
\Gamma_{ijkl}^{\uparrow \uparrow} &=&
|
||||||
\langle \Psi | \hat{a}^{\dagger}_{k\alpha}\, \hat{a}^{\dagger}_{l\alpha} \hat{a}_{j\alpha}\, \hat{a}_{i\alpha} | \Psi \rangle \\
|
\langle \Psi | \hat{a}^{\dagger}_{k\alpha}\, \hat{a}^{\dagger}_{l\alpha} \hat{a}_{j\alpha}\, \hat{a}_{i\alpha} | \Psi \rangle \\
|
||||||
@ -1052,15 +1051,19 @@ power = [
|
|||||||
\langle \Psi | \hat{a}^{\dagger}_{k\beta}\, \hat{a}^{\dagger}_{l\beta} \hat{a}_{j\beta}\, \hat{a}_{i\beta} | \Psi \rangle \\
|
\langle \Psi | \hat{a}^{\dagger}_{k\beta}\, \hat{a}^{\dagger}_{l\beta} \hat{a}_{j\beta}\, \hat{a}_{i\beta} | \Psi \rangle \\
|
||||||
\Gamma_{ijkl}^{\uparrow \downarrow} &=&
|
\Gamma_{ijkl}^{\uparrow \downarrow} &=&
|
||||||
\langle \Psi | \hat{a}^{\dagger}_{k\alpha}\, \hat{a}^{\dagger}_{l\beta} \hat{a}_{j\beta}\, \hat{a}_{i\alpha} | \Psi \rangle \\
|
\langle \Psi | \hat{a}^{\dagger}_{k\alpha}\, \hat{a}^{\dagger}_{l\beta} \hat{a}_{j\beta}\, \hat{a}_{i\alpha} | \Psi \rangle \\
|
||||||
\Gamma_{ijkl}^{\downarrow \uparrow} &=&
|
|
||||||
\langle \Psi | \hat{a}^{\dagger}_{k\beta}\, \hat{a}^{\dagger}_{l\alpha} \hat{a}_{j\alpha}\, \hat{a}_{i\beta} | \Psi \rangle \\
|
|
||||||
\end{eqnarray*}
|
\end{eqnarray*}
|
||||||
and the spin-summed one-body density matrix is
|
and the spin-summed one-body density matrix is
|
||||||
\[
|
\[
|
||||||
\Gamma_{ijkl} = \Gamma_{ijkl}^{\uparrow \uparrow} +
|
\Gamma_{ijkl} = \Gamma_{ijkl}^{\uparrow \uparrow} +
|
||||||
\Gamma_{ijkl}^{\downarrow \downarrow} + \Gamma_{ijkl}^{\uparrow \downarrow} +
|
\Gamma_{ijkl}^{\downarrow \downarrow} + \Gamma_{ijkl}^{\uparrow \downarrow}.
|
||||||
\Gamma_{ijkl}^{\downarrow \uparrow}
|
|
||||||
\]
|
\]
|
||||||
|
The density matrices are normalized such that
|
||||||
|
\begin{eqnarray*}
|
||||||
|
\sum_{ij} \Gamma_{ijij}^{\uparrow \uparrow} & = & N_\uparrow\, (N_\uparrow-1)/2 \\
|
||||||
|
\sum_{ij} \Gamma_{ijij}^{\downarrow \downarrow} & = & N_\downarrow\, (N_\downarrow-1)/2 \\
|
||||||
|
\sum_{ij} \Gamma_{ijij}^{\uparrow \downarrow} & = & N_\uparrow\, N_\downarrow \\
|
||||||
|
\sum_{ij} \Gamma_{ijij} & = & (N_\uparrow+N_\downarrow)\, (N_\uparrow+N_\downarrow-1)/2.
|
||||||
|
\end{eqnarray*}
|
||||||
|
|
||||||
The total energy can be computed as:
|
The total energy can be computed as:
|
||||||
\[
|
\[
|
||||||
@ -1094,7 +1097,6 @@ power = [
|
|||||||
| ~2e_upup~ | ~float sparse~ | ~(mo.num, mo.num, mo.num, mo.num)~ | \uparrow\uparrow component of the two-body reduced density matrix |
|
| ~2e_upup~ | ~float sparse~ | ~(mo.num, mo.num, mo.num, mo.num)~ | \uparrow\uparrow component of the two-body reduced density matrix |
|
||||||
| ~2e_dndn~ | ~float sparse~ | ~(mo.num, mo.num, mo.num, mo.num)~ | \downarrow\downarrow component of the two-body reduced density matrix |
|
| ~2e_dndn~ | ~float sparse~ | ~(mo.num, mo.num, mo.num, mo.num)~ | \downarrow\downarrow component of the two-body reduced density matrix |
|
||||||
| ~2e_updn~ | ~float sparse~ | ~(mo.num, mo.num, mo.num, mo.num)~ | \uparrow\downarrow component of the two-body reduced density matrix |
|
| ~2e_updn~ | ~float sparse~ | ~(mo.num, mo.num, mo.num, mo.num)~ | \uparrow\downarrow component of the two-body reduced density matrix |
|
||||||
| ~2e_dnup~ | ~float sparse~ | ~(mo.num, mo.num, mo.num, mo.num)~ | \downarrow\uparrow component of the two-body reduced density matrix |
|
|
||||||
| ~2e_cholesky_num~ | ~dim~ | | Number of Cholesky vectors |
|
| ~2e_cholesky_num~ | ~dim~ | | Number of Cholesky vectors |
|
||||||
| ~2e_cholesky~ | ~float sparse~ | ~(mo.num, mo.num, rdm.2e_cholesky_num)~ | Cholesky decomposition of the two-body RDM (spin trace) |
|
| ~2e_cholesky~ | ~float sparse~ | ~(mo.num, mo.num, rdm.2e_cholesky_num)~ | Cholesky decomposition of the two-body RDM (spin trace) |
|
||||||
| ~2e_upup_cholesky_num~ | ~dim~ | | Number of Cholesky vectors |
|
| ~2e_upup_cholesky_num~ | ~dim~ | | Number of Cholesky vectors |
|
||||||
@ -1103,8 +1105,6 @@ power = [
|
|||||||
| ~2e_dndn_cholesky~ | ~float sparse~ | ~(mo.num, mo.num, rdm.2e_dndn_cholesky_num)~ | Cholesky decomposition of the two-body RDM (\downarrow\downarrow) |
|
| ~2e_dndn_cholesky~ | ~float sparse~ | ~(mo.num, mo.num, rdm.2e_dndn_cholesky_num)~ | Cholesky decomposition of the two-body RDM (\downarrow\downarrow) |
|
||||||
| ~2e_updn_cholesky_num~ | ~dim~ | | Number of Cholesky vectors |
|
| ~2e_updn_cholesky_num~ | ~dim~ | | Number of Cholesky vectors |
|
||||||
| ~2e_updn_cholesky~ | ~float sparse~ | ~(mo.num, mo.num, rdm.2e_updn_cholesky_num)~ | Cholesky decomposition of the two-body RDM (\uparrow\downarrow) |
|
| ~2e_updn_cholesky~ | ~float sparse~ | ~(mo.num, mo.num, rdm.2e_updn_cholesky_num)~ | Cholesky decomposition of the two-body RDM (\uparrow\downarrow) |
|
||||||
| ~2e_dnup_cholesky_num~ | ~dim~ | | Number of Cholesky vectors |
|
|
||||||
| ~2e_dnup_cholesky~ | ~float sparse~ | ~(mo.num, mo.num, rdm.2e_dnup_cholesky_num)~ | Cholesky decomposition of the two-body RDM (\downarrow\uparrow) |
|
|
||||||
|
|
||||||
#+CALL: json(data=rdm, title="rdm")
|
#+CALL: json(data=rdm, title="rdm")
|
||||||
|
|
||||||
@ -1119,7 +1119,6 @@ power = [
|
|||||||
, "2e_upup" : [ "float sparse", [ "mo.num", "mo.num", "mo.num", "mo.num" ] ]
|
, "2e_upup" : [ "float sparse", [ "mo.num", "mo.num", "mo.num", "mo.num" ] ]
|
||||||
, "2e_dndn" : [ "float sparse", [ "mo.num", "mo.num", "mo.num", "mo.num" ] ]
|
, "2e_dndn" : [ "float sparse", [ "mo.num", "mo.num", "mo.num", "mo.num" ] ]
|
||||||
, "2e_updn" : [ "float sparse", [ "mo.num", "mo.num", "mo.num", "mo.num" ] ]
|
, "2e_updn" : [ "float sparse", [ "mo.num", "mo.num", "mo.num", "mo.num" ] ]
|
||||||
, "2e_dnup" : [ "float sparse", [ "mo.num", "mo.num", "mo.num", "mo.num" ] ]
|
|
||||||
, "2e_cholesky_num" : [ "dim" , [] ]
|
, "2e_cholesky_num" : [ "dim" , [] ]
|
||||||
, "2e_cholesky" : [ "float sparse", [ "rdm.2e_cholesky_num", "mo.num", "mo.num" ] ]
|
, "2e_cholesky" : [ "float sparse", [ "rdm.2e_cholesky_num", "mo.num", "mo.num" ] ]
|
||||||
, "2e_upup_cholesky_num" : [ "dim" , [] ]
|
, "2e_upup_cholesky_num" : [ "dim" , [] ]
|
||||||
@ -1128,8 +1127,6 @@ power = [
|
|||||||
, "2e_dndn_cholesky" : [ "float sparse", [ "rdm.2e_dndn_cholesky_num", "mo.num", "mo.num" ] ]
|
, "2e_dndn_cholesky" : [ "float sparse", [ "rdm.2e_dndn_cholesky_num", "mo.num", "mo.num" ] ]
|
||||||
, "2e_updn_cholesky_num" : [ "dim" , [] ]
|
, "2e_updn_cholesky_num" : [ "dim" , [] ]
|
||||||
, "2e_updn_cholesky" : [ "float sparse", [ "rdm.2e_updn_cholesky_num", "mo.num", "mo.num" ] ]
|
, "2e_updn_cholesky" : [ "float sparse", [ "rdm.2e_updn_cholesky_num", "mo.num", "mo.num" ] ]
|
||||||
, "2e_dnup_cholesky_num" : [ "dim" , [] ]
|
|
||||||
, "2e_dnup_cholesky" : [ "float sparse", [ "rdm.2e_dnup_cholesky_num", "mo.num", "mo.num" ] ]
|
|
||||||
} ,
|
} ,
|
||||||
#+end_src
|
#+end_src
|
||||||
:end:
|
:end:
|
||||||
@ -1150,7 +1147,7 @@ power = [
|
|||||||
following:
|
following:
|
||||||
- ~CHAMP~
|
- ~CHAMP~
|
||||||
- ~Mu~
|
- ~Mu~
|
||||||
|
|
||||||
*** CHAMP
|
*** CHAMP
|
||||||
|
|
||||||
The first form of Jastrow factor is the one used in
|
The first form of Jastrow factor is the one used in
|
||||||
@ -1159,7 +1156,7 @@ power = [
|
|||||||
\[
|
\[
|
||||||
J(\mathbf{r},\mathbf{R}) = J_{\text{eN}}(\mathbf{r},\mathbf{R}) + J_{\text{ee}}(\mathbf{r}) + J_{\text{eeN}}(\mathbf{r},\mathbf{R})
|
J(\mathbf{r},\mathbf{R}) = J_{\text{eN}}(\mathbf{r},\mathbf{R}) + J_{\text{ee}}(\mathbf{r}) + J_{\text{eeN}}(\mathbf{r},\mathbf{R})
|
||||||
\]
|
\]
|
||||||
|
|
||||||
|
|
||||||
$J_{\text{eN}}$ contains electron-nucleus terms:
|
$J_{\text{eN}}$ contains electron-nucleus terms:
|
||||||
|
|
||||||
@ -1212,17 +1209,17 @@ power = [
|
|||||||
built such that the leading order in $1/r_{12}$ of the effective
|
built such that the leading order in $1/r_{12}$ of the effective
|
||||||
two-electron potential reproduces the long-range interaction of the
|
two-electron potential reproduces the long-range interaction of the
|
||||||
range-separated density functional theory. Its analytical
|
range-separated density functional theory. Its analytical
|
||||||
expression reads
|
expression reads
|
||||||
|
|
||||||
\[
|
\[
|
||||||
J(\mathbf{r}, \mathbf{R}) = J_{\text{eeN}}(\mathbf{r}, \mathbf{R}) +
|
J(\mathbf{r}, \mathbf{R}) = J_{\text{eeN}}(\mathbf{r}, \mathbf{R}) +
|
||||||
J_{\text{eN}}(\mathbf{r}, \mathbf{R})
|
J_{\text{eN}}(\mathbf{r}, \mathbf{R})
|
||||||
\].
|
\].
|
||||||
|
|
||||||
The electron-electron cusp is incorporated in the three-body term.
|
The electron-electron cusp is incorporated in the three-body term.
|
||||||
|
|
||||||
\[
|
\[
|
||||||
J_\text{eeN} (\mathbf{r}, \mathbf{R}) =
|
J_\text{eeN} (\mathbf{r}, \mathbf{R}) =
|
||||||
\sum_{i=1}^{N_\text{elec}} \sum_{j=1}^{i-1} \, u\left(\mu, r_{ij}\right) \,
|
\sum_{i=1}^{N_\text{elec}} \sum_{j=1}^{i-1} \, u\left(\mu, r_{ij}\right) \,
|
||||||
\Pi_{\alpha=1}^{N_{\text{nucl}}} \, E_\alpha({R}_{i\alpha}) \, E_\alpha({R}_{j\alpha})
|
\Pi_{\alpha=1}^{N_{\text{nucl}}} \, E_\alpha({R}_{i\alpha}) \, E_\alpha({R}_{j\alpha})
|
||||||
\]
|
\]
|
||||||
@ -1245,17 +1242,17 @@ power = [
|
|||||||
\[
|
\[
|
||||||
E_\alpha(R) = 1 - \exp\left( - \gamma_{\alpha} \, R^2 \right).
|
E_\alpha(R) = 1 - \exp\left( - \gamma_{\alpha} \, R^2 \right).
|
||||||
\]
|
\]
|
||||||
|
|
||||||
In particular, if the parameters $\gamma_\alpha$ tend to zero, the
|
In particular, if the parameters $\gamma_\alpha$ tend to zero, the
|
||||||
Mu-Jastrow factor becomes a two-body Jastrow factor:
|
Mu-Jastrow factor becomes a two-body Jastrow factor:
|
||||||
|
|
||||||
\[
|
\[
|
||||||
J_{\text{ee}}(\mathbf{r}) =
|
J_{\text{ee}}(\mathbf{r}) =
|
||||||
\sum_{i=1}^{N_\text{elec}} \sum_{j=1}^{i-1} \, u\left(\mu, r_{ij}\right)
|
\sum_{i=1}^{N_\text{elec}} \sum_{j=1}^{i-1} \, u\left(\mu, r_{ij}\right)
|
||||||
\]
|
\]
|
||||||
|
|
||||||
and for large $\gamma_\alpha$ it becomes zero.
|
and for large $\gamma_\alpha$ it becomes zero.
|
||||||
|
|
||||||
To increase the flexibility of the Jastrow and improve the
|
To increase the flexibility of the Jastrow and improve the
|
||||||
electron density the following electron-nucleus term is added
|
electron density the following electron-nucleus term is added
|
||||||
|
|
||||||
@ -1268,9 +1265,9 @@ power = [
|
|||||||
The parameter $\mu$ is stored in the ~ee~ array, the parameters
|
The parameter $\mu$ is stored in the ~ee~ array, the parameters
|
||||||
$\gamma_\alpha$ are stored in the ~een~ array, and the parameters
|
$\gamma_\alpha$ are stored in the ~een~ array, and the parameters
|
||||||
$a_\alpha$ are stored in the ~en~ array.
|
$a_\alpha$ are stored in the ~en~ array.
|
||||||
|
|
||||||
*** Table of values
|
*** Table of values
|
||||||
|
|
||||||
#+name: jastrow
|
#+name: jastrow
|
||||||
| Variable | Type | Dimensions | Description |
|
| Variable | Type | Dimensions | Description |
|
||||||
|---------------+----------+---------------------+-----------------------------------------------------------------|
|
|---------------+----------+---------------------+-----------------------------------------------------------------|
|
||||||
@ -1285,7 +1282,7 @@ power = [
|
|||||||
| ~een_nucleus~ | ~index~ | ~(jastrow.een_num)~ | Nucleus relative to the eeN parameter |
|
| ~een_nucleus~ | ~index~ | ~(jastrow.een_num)~ | Nucleus relative to the eeN parameter |
|
||||||
| ~ee_scaling~ | ~float~ | | $\kappa$ value in CHAMP Jastrow for electron-electron distances |
|
| ~ee_scaling~ | ~float~ | | $\kappa$ value in CHAMP Jastrow for electron-electron distances |
|
||||||
| ~en_scaling~ | ~float~ | ~(nucleus.num)~ | $\kappa$ value in CHAMP Jastrow for electron-nucleus distances |
|
| ~en_scaling~ | ~float~ | ~(nucleus.num)~ | $\kappa$ value in CHAMP Jastrow for electron-nucleus distances |
|
||||||
|
|
||||||
#+CALL: json(data=jastrow, title="jastrow")
|
#+CALL: json(data=jastrow, title="jastrow")
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
@ -1338,7 +1335,7 @@ power = [
|
|||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
:end:
|
:end:
|
||||||
|
|
||||||
* Appendix :noexport:
|
* Appendix :noexport:
|
||||||
** Python script from table to json
|
** Python script from table to json
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user