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