3.7.1. horton.meanfield.bond_order
– Generic implementation of bond orders for mean-field wavefunctions¶
In the context bond orders and self-electron delocatization indices (SEDI’s) are always one an the same thing. For two AIM overlap perators, \(S_A\) and \(S_B\), the bond order is defined as:
\[\text{BO}_{AB} = 2 \mathrm{Tr}\left[
(D^{\alpha} S^A)(D^{\alpha} S^B) + (D^{\beta} S^A)(D^{\beta} S^B)
\right]\]
where \(D^{\alpha}\) and \(D^{\beta}\) are the density matrices of the \(\alpha\) and \(\beta\) electrons, respectively. A related quantity is the valence of an atom. It is defined as:
\[V_A = 2 N_A - \mathrm{Tr}\left[ (D S^A)(D S^A) \right]\]
where \(D\) is the sum of the \(\alpha\) and \(\beta\) electron density matrices, and \(N_A\) is the population of atom \(A\). The free valence is defined as:
\[F_A = V_A - \sum_{B \neq A} \text{BO}_{AB}\]
-
horton.meanfield.bond_order.
compute_bond_orders_cs
(dm_alpha, operators)¶ Compute bond orders, valences and free valences (closed-shell case)
Arguments:
- dm_alpha
- The density matrix of the alpha electrons
- operators
- A list of one-body operators.
Returns:
- bond_orders
- A symmetric N by N matrix with bond orders.
- valences
- A vector with atomic valences
- free_valences
- A vector with atomic free valences
-
horton.meanfield.bond_order.
compute_bond_orders_os
(dm_alpha, dm_beta, operators)¶ Compute bond orders, valences and free valences (open-shell case)
Arguments:
- dm_alpha
- The density matrix of the alpha electrons
- operators
- A list of one-body operators.
Returns:
- bond_orders
- A symmetric N by N matrix with bond orders.
- valences
- A vector with atomic valences
- free_valences
- A vector with atomic free valences