Function sequant::mbpt::closed_shell_CC_spintrace¶
Defined in File spin.cpp
Function Documentation¶
-
ExprPtr sequant::mbpt::closed_shell_CC_spintrace(ExprPtr const &expr, ClosedShellCCSpintraceOptions options = {})¶
like closed_shell_spintrace but transforms spin-free moments to biorthogonal form The algorithm (most steps are the same in V1 and V2):
factor out symmetrizer from the antisymmetrizer, “set it aside” (remove from the expression), and expand the rest of the antisymmetrizer.
spin-trace the resulting expression assuming spin-restricted basis and closed-shell reference
biorthogonalize
V2 only: collect terms that differ only by external index permutation (i.e. have same colored graph hash), for each group select the terms with the largest coefficients)
apply the particle symmetrizer and simplify
The V2 method produces an expression that becomes equivalent that of V1 by application of if the biorthogonal NNS projector (particular linear combination of permutation operators) is applied. The biorthogonal NNS projection should be performed numerically.
Warning
the antisymmetrizer is assumed to be at the front of each tensor network, hence must use “complete” canonicalization to produce the input expression.
- Parameters:
expr – input expression
options – optional parameter controlling the algorithm selection and other traits; the default is to use the V2 method