Macaulay2 » Documentation
Packages » BettiCharacters > character > character(ActionOnComplex)
next | previous | forward | backward | up | index | toc

character(ActionOnComplex) -- compute all Betti characters of minimal free resolution

Synopsis

Description

Use this function to compute all nonzero Betti characters of a finite group action on a minimal free resolution. This function calls character(ActionOnComplex,ZZ) on all nonzero homological degrees and then assembles the outputs in a hash table indexed by homological degree.

To illustrate, we compute the Betti characters of a symmetric group on the resolution of a monomial ideal. The ideal is the symbolic square of the ideal generated by all squarefree monomials of degree three in four variables. The symmetric group acts by permuting the four variables of the ring. The characters are determined by five permutations with cycle types, in order: 4, 31, 22, 211, 1111.

i1 : R = QQ[x_1..x_4]

o1 = R

o1 : PolynomialRing
i2 : J = intersect(apply(subsets(gens R,3),x->(ideal x)^2))

                                             2 2   2 2   2 2   2 2   2 2 
o2 = ideal (x x x , x x x , x x x , x x x , x x , x x , x x , x x , x x ,
             2 3 4   1 3 4   1 2 4   1 2 3   3 4   2 4   1 4   2 3   1 3 
     ------------------------------------------------------------------------
      2 2
     x x )
      1 2

o2 : Ideal of R
i3 : RJ = res J

      1      10      15      6
o3 = R  <-- R   <-- R   <-- R  <-- 0
                                    
     0      1       2       3      4

o3 : ChainComplex
i4 : G = { matrix{{x_2,x_3,x_4,x_1}},
           matrix{{x_2,x_3,x_1,x_4}},
           matrix{{x_2,x_1,x_4,x_3}},
           matrix{{x_2,x_1,x_3,x_4}},
           matrix{{x_1,x_2,x_3,x_4}} }

o4 = {| x_2 x_3 x_4 x_1 |, | x_2 x_3 x_1 x_4 |, | x_2 x_1 x_4 x_3 |, | x_2
     ------------------------------------------------------------------------
     x_1 x_3 x_4 |, | x_1 x_2 x_3 x_4 |}

o4 : List
i5 : A = action(RJ,G)

o5 = ChainComplex with 5 actors

o5 : ActionOnComplex
i6 : character(A)

o6 = Character over R
      
     (0, {0}) => | 1 1 1 1 1 |
     (1, {3}) => | 0 1 0 2 4 |
     (1, {4}) => | 0 0 2 2 6 |
     (2, {4}) => | -1 0 -1 1 3 |
     (2, {5}) => | 0 0 0 2 12 |
     (3, {6}) => | 0 0 -2 0 6 |

o6 : Character

See character(ActionOnComplex,ZZ) for more details on this example.

See also

Ways to use this method: