wick

◼ wick[expr] returns an operator string expressed using normal ordered strings and cotnractions.

◼ Wick's theorem is used in deriving the result, hence the function's name.

◼ See also: vevwick, contraction.

Further examples

Load sneg and declare some quantities

<< sneg`sneg`;
snegfermionoperators[c, d];
ordering[d] = SEA;
Off[General::spell];
snegfreeindexes[i, j, k, 
        l, σi, σj, σk, σl];

Test the function for ordering=VACUUM

wick[1]
wick[c[CR, UP]]
wick[nc[c[CR, UP], c[AN, UP]]]
wick[nc[c[AN, UP], c[CR, UP]]]

nc[c[CR, i], c[CR, j], c[AN, k], c[AN, l]]
wick[%]
nc[c[CR, i], c[AN, j], c[CR, k], c[AN, l]]
wick[%]
nc[c[AN, i], c[CR, j], c[AN, k], c[CR, l]]
wick[%]
nc[c[AN, i], c[AN, j], c[CR, k], c[CR, l]]
wick[%] // Expand

Test the function for ordering=SEA

wick[nc[d[CR, k, UP], d[AN, k, UP]]]
wick[nc[d[AN, k, UP], d[CR, k, UP]]]

nc[d[CR, i], d[CR, j], d[AN, k], d[AN, l]]
wick[%]
nc[d[CR, i], d[AN, j], d[CR, k], d[AN, l]]
wick[%]
nc[d[AN, i], d[CR, j], d[AN, k], d[CR, l]]
wick[%]

nc[d[AN, i], d[AN, j], d[CR, k], d[CR, l]]
wick[%] // SimplifyKD
vev[%] // SimplifyKD