komutator

◼ komutator[a, b] computes the commutator a·b-b·a.

◼ See also: antikomutator.

Further examples

Load sneg

<< sneg`sneg`;

Let c be a fermionic operator

snegfermionoperators[c]

Spin operators for level c form a representation of SU(2) algebra

{(Subscript[S, x]), (Subscript[S, y]), (Subscript[S, z])} = spinxyz[c[]]
komutator[(Subscript[S, x]), (Subscript[S, y])] == I (Subscript[S, z]) // 
      Simplify
komutator[(Subscript[S, y]), (Subscript[S, z])] == I (Subscript[S, x]) // 
      Simplify
komutator[(Subscript[S, z]), (Subscript[S, x])] == I (Subscript[S, y]) // 
      Simplify
Sp = (Subscript[S, x]) + I (Subscript[S, y]) // Expand
Sm = (Subscript[S, x]) - I (Subscript[S, y]) // Expand
komutator[Sp, Sm] == 2  (Subscript[S, z]) // 
      Simplify
komutator[(Subscript[S, z]), Sp] == Sp // Simplify
komutator[(Subscript[S, z]), Sm] == -Sm // Simplify

Jacobi indetity is satisfied by any operator commutators

doublekom[a_, b_, 
          c_] := komutator[a, komutator[b, c]];

    (doublekom[x, y, z] + doublekom[z, x, y] + doublekom[y, z, x] // 
          Expand) == 0

Jacobi identity defined using the adjoint map

ad[x_][y_] := 
        komutator[x, y];

    expr1 = ad[x][komutator[y, z]]

    expr2 = 
      komutator[ad[x][y], z] + 
        komutator[y, ad[x][z]]

    expr1 == expr2

Yet another form of the Jacobi identity

expr1 = ad[komutator[x, y]]
expr2 = 
      komutator[ad[x], ad[y]]


      
nc[a___, ad[x_], z__] := 
        nc[a, ad[x][nc[z]]] /; FreeQ[{z}, ad];

    
expr1 = nc[expr1, z]
expr2 = nc[expr2, z]
expr1 == expr2

Some identities

komutator[x, nc[y, z]] == 
      nc[komutator[x, y], z] + 
        nc[y, komutator[x, z]]
komutator[x~nc~y, z] == 
      nc[x, komutator[y, z]] + 
        nc[komutator[x, z], y]
komutator[x, nc[y, z]] == 
      komutator[nc[x, y], z] + 
        komutator[nc[z, x], y]
komutator[nc[x, y, z], w] == 
      nc[x, y, komutator[z, w]] + nc[x, komutator[y, w], z] + 
        nc[komutator[x, w], y, 
          z]


      
triplekom[x_, y_, z_, w_] := 
        komutator[komutator[komutator[x, y], z], w];

    
triplekom[x, y, z, w] + triplekom[y, z, w, x] + triplekom[z, w, x, y] + 
        triplekom[w, x, y, z] == 
      komutator[komutator[x, z], komutator[y, w]]