Function sequant::mbpt::open_shell_CC_spintrace¶
Defined in File spin.cpp
Function Documentation¶
-
std::vector<ExprPtr> sequant::mbpt::open_shell_CC_spintrace(const ExprPtr &expr)¶
Like open_shell_spintrace but uses minimal expansion of the antisymmetrizer.
This function is designed for integrating spin out of expressions obtained as (k,k)-moment of a fermionic operator: A_{p_1 .. p_k}^{q_1 .. q_k} <a^{p_1 .. p_k}_{q_1 .. q_k} op> with A antisymmetric tensor, op an arbitrary fermionic operator, and the expectation value is with respect to an open-shell Fermi vacuum. Antisymmetrizer is expanded partially to produce antisymmetrizer for spin-up and spin-down columns.
Warning
the “antisymmetrizer” tensor A is assumed to be at the front of each tensor network, hence must use “complete” canonicalization to produce the input expression.
- Parameters:
expr – the input expression
- Returns:
vector of spin-traced expressions for each spincase