inner

◼ inner[a, b] returns the inner product between a and b using nc as multiplication operation.

◼ NOTE: in versions of sneg prior to 1.117, an equivalent function mdot existed.

◼ See also: VMV, outer

Further examples

Load sneg and declare some quantities.

<< sneg`sneg`;
snegfermionoperators[c, d]

The scalar product of spin and isospin operators on a single lattice-site is zero.

s = spinxyz[c[]]
i = isospinxyz[c[]]
inner[s, i] == 0

Total spin operator (S^2) defined on a single lattice-site.

s2 = inner[s, s]
SnegSimplify[s2]
nc[s2, VACUUM] == 0
nc[s2, c[CR, UP], VACUUM]
nc[s2, c[CR, DO], c[CR, UP], VACUUM] == 0

Total spin operator (I^2) defined on a single lattice-site.

i2 = inner[i, i]
SnegSimplify[i2]
nc[i2, VACUUM]
nc[i2, c[CR, UP], VACUUM] == 0
nc[i2, c[CR, DO], c[CR, UP], VACUUM]

Relation between (S^2) and (I^2).

Simplify[s2 == 3/4 - i2]

Spin operator for two sites: ((((Subscript[S, c]) + (Subscript[S, d])))^2)

s = spinxyz[c[]] + spinxyz[d[]] // Simplify
s2 = inner[s, s] // Simplify
Simplify[s2, 
      TransformationFunctions -> allsnegsimplifyrules]