snegmajoranaoperators

◼ snegmajoranaoperators[a,b,c] declares a, b, and c to be real (Majorana) fermionic operators.

◼ Majorana operators are real: (ψ^†) = ψ.

◼ Majorana operators obey the following anti-commutation relation: \(TraditionalForm\`{ψ\_a, \ ψ\_b} = \(\(δ\_ab\)\(.\)\)\) Note that a different convention {(Subscript[ψ, a]), (Subscript[ψ, b])} = 2  (Subscript[δ, ab])is also commonly used (see the examples).

◼ Expressions featuring Majorana operators are automatically reordered in the increasing order with respect to the indexes.

◼ For operator c tagged with snegmajoranaoperators, operatorQ[c]=True and majoranaQ[c]=True.

◼ Operators have NHoldAll attribute.

◼ See also: operatorQ, majoranaQ, snegfermionoperators.

Further examples

Load sneg and define ψ to be a Majorana operator

<< sneg`sneg`;
snegmajoranaoperators[ψ];

Test basic properties

conj[ψ[1]]
nc[ψ[1], ψ[2]]
nc[ψ[2], ψ[1]]
conj[nc[ψ[1], ψ[2]]]
nc[ψ[1], ψ[1]]
antikomutator[ψ[1], ψ[1]]
antikomutator[ψ[1], ψ[2]]

Relation with Dirac fermions

c = (1/(Sqrt[2])) (ψ[1] + 
            I ψ[2])
cdg = conj[c]
antikomutator[c, c] // Simplify
antikomutator[cdg, cdg] // Simplify
antikomutator[cdg, c] // Simplify
c + cdg  // Expand

A S=1/2 spin operator can be represented by three Majorana modes

snegmajoranaoperators[η]
sx = -I nc[η[2], η[3]]
sy = -I nc[η[3], η[1]]
sz = -I nc[η[1], η[2]]
komutator[sx, sy] == I sz
komutator[sy, sz] == I sx
komutator[sz, sx] == I sy

Drone-fermion representation of S=1/2 spin operator

snegfermionoperators[f, d];
sp = nc[f[CR], d[AN] + d[CR]];
sm = nc[d[AN] + d[CR], f[AN]];
sx = Expand[(sp + sm)/2]
sy = Expand[(sp - sm)/(2  I)]
sz =  nc[f[CR], f[AN]] - 1/2

    
Simplify[komutator[sx, sy] == I sz]
Simplify[komutator[sy, sz] == I sx]
Simplify[komutator[sz, sx] == I sy]

Drone-fermion representation in mixed Fermi-Dirac representation

sp = nc[f[CR], (Sqrt[2]) ψ[1]];
sm = nc[(Sqrt[2]) ψ[1], f[AN]];
sx = Expand[(sp + sm)/2]
sy = Expand[(sp - sm)/(2  I)]
sz =  nc[f[CR], f[AN]] - 1/2

    
Simplify[komutator[sx, sy] == I sz]
Simplify[komutator[sy, sz] == I sx]
Simplify[komutator[sz, sx] == I sy]

Different normalization conditions for Majorana anti-commutation relation.

\(\(\( (*\ 
      Default\ \(\(definition\)\(.\)\)\ *) \)\(
\)\(antikomutator[ψ[1], ψ[
        1]]

 (*\ 
      Alternative\ \(\(definition\)\(.\)\)\ *) 

    \(nc[a___, op_, op_, c___] /; majoranaQ[op] := nc[a, c];\)

    antikomutator[ψ[1], ψ[
        1]]

 (*\ 
      Switch\ back\ to\ the\ default\ \(\(definition\)\(.\)\)\ *) 

    \(nc[a___, op_, op_, c___] /; majoranaQ[op] := 
        1/2\ nc[a, c];\)

    antikomutator[ψ[1], ψ[1]]\)\)\)