/* MAGMA code to compute Chern classes for the irreducible representations of the group G. R. R. Bruner 2011 */ CharacterTable(G); R := CharacterRing(G); RR := Basis(R); d := Integers()!Max([RR[i][1] : i in [1..#RR]]); print d; IP := InnerProduct; Psi := ClassPowerCharacter; function dec(x,RR) return [Integers()!IP(x,RR[i]) : i in [1..#RR]]; end function; Q := PolynomialRing(RationalField(),d); L := PolynomialRing(RationalField(),d); AssignNames(~L,["l" * IntegerToString(i) : i in [1..d]]); PP := []; print "creating pp"; for i in [1..d] do print i; tt,ll := IsSymmetric(&+[Q.j^i : j in [1..d]],L); PP[i] := ll; end for; P := PolynomialRing(RationalField(),d); AssignNames(~P,["p" * IntegerToString(i) : i in [1..d]]); pp := homL|PP>; print "pp created"; print "creating ll"; LL := [P.i : i in [1..d]]; ll := homP|LL>; for i in [2..d] do print i; tt,lp := IsSymmetric(&+[Q.j^i : j in [1..d]],L); lp := lp + (-1)^i*i*L.i; LL[i] := (-1)^i*(ll(lp) - P.i)/i; ll := homP|LL>; end for; print "ll created"; for j in [2..#RR] do print "Chern classes of repn ",j,"i.e. ",RR[j]; n := Integers()!RR[j][1]; C := PolynomialRing(RationalField(),n); CC := [L!(Binomial(n,k)) + (&+[(-1)^i*Binomial(n-i,n-k)*L.i : i in [1..d]]) : k in [1..n]]; cc := homL|CC>; psi := homR | [Psi(RR[j],i) : i in [1..d]]>; for i in [1..n] do plc := psi(ll(cc(C.i))); print "c_",i," = ",dec(plc,RR), " = ", plc; end for; end for;