Ask Your Question

Revision history [back]

Here are some immanants:

n = 3
G = SymmetricGroup(n)
R = PolynomialRing(ZZ, n, n, var_array=('x',))
x = {(i, j) : R.gen(n*i + j) for i in range(n) for j in range(n)}
for lamb in SymmetricGroupRepresentations(n):
    chi = lamb.to_character()
    imm = sum(chi(sigma)*prod(x[i,sigma(i+1)-1] for i in range(n)) for sigma in G) 
    print(imm)

Output:

x02*x11*x20 + x01*x12*x20 + x02*x10*x21 + x00*x12*x21 + x01*x10*x22 + x00*x11*x22
-x01*x12*x20 - x02*x10*x21 + 2*x00*x11*x22
-x02*x11*x20 + x01*x12*x20 + x02*x10*x21 - x00*x12*x21 - x01*x10*x22 + x00*x11*x22

Here are some immanants:

n = 3
G = SymmetricGroup(n)
R = PolynomialRing(ZZ, n, n, var_array=('x',))
x = {(i, j) : R.gen(n*i + j) for i in range(n) for j in range(n)}
for lamb in SymmetricGroupRepresentations(n):
    chi = lamb.to_character()
    imm = sum(chi(sigma)*prod(x[i,sigma(i+1)-1] for i in range(n)) for sigma in G) 
    print(imm)

Output:

x02*x11*x20 + x01*x12*x20 + x02*x10*x21 + x00*x12*x21 + x01*x10*x22 + x00*x11*x22
-x01*x12*x20 - x02*x10*x21 + 2*x00*x11*x22
-x02*x11*x20 + x01*x12*x20 + x02*x10*x21 - x00*x12*x21 - x01*x10*x22 + x00*x11*x22

To do it for a single partition, use e.g. SymmetricGroupRepresentation([3,2]) to create the representation; see SymmetricGroupRepresentation.