normalorder

◼ normalorder[expr] normal orders an expression by subtracting its vacuum expectation value (vev).
◼ normalorderwick[expr] normal orders an expression by subtracting its vev. Wick's theorem is used to compute the vev.

◼ The functions are defined as normalorder[expr_]:=expr-vev[expr] and normalorderwick[expr_]:=expr-vevwick[expr].

◼ By definition, the vacuum expectation value of a normal ordered expression is zero.

◼ See also: vev, wick, dd.

Further examples

Load sneg and declare c to be a fermionic operator

<< sneg`sneg`;
snegfermionoperators[c];
ordering[c] = SEA;
snegfreeindexes[k, k1, k2, k3, 
        k4, σ1, σ2, σ3, σ4];

normalorder can be used for simple expressions.

op = nc[c[CR, k], c[AN, k]]
normalorder[op]
vev[%] == 0

op = nc[c[CR, k1], c[AN, k2]]
normalorder[op]
vev[%] == 0

For longer strings of operators, normalorderwick must be used.

op = 
      nc[c[CR, k1, UP], c[AN, k2, UP], c[CR, k3, DO], 
        c[AN, k4, DO]]
normalorderwick[op]
vevwick[%] == 0

op = 
      nc[c[CR, k1, σ1], c[AN, k2, σ2], c[CR, k3, σ3], 
        c[AN, k4, σ4]]
normalorderwick[op]
vevwick[%] == 0