Version 2.5 of the BettiCharacters package introduces a new internal representation of graded characters. Although character printouts look the same as in previous versions, this new representation is incompatible with the one from earlier versions of the package. The earlier representation was not sufficient to compute tensor products of characters of the semidirect product of a finite group with a torus (see Semidirect). Not only the new representation makes this possible, it also generally makes character operations more natural and sets the groundwork for functionality to be added in future versions.
To understand how characters are stored, consider the following example.
|
|
|
|
|
|
The quotient ring Q is a module concentrated in homological degree zero. It is an Artinian ring with nonzero components in degrees zero, one, two, and three. Hence, the printout of the character of Q shows four rows indexed by pairs (h,d), with h the homological degree and d the internal degree.
Internally, the character stores a single matrix for each homological degree. To separate the internal degrees, the character uses elements from the degreesMonoid of the ambient ring of Q. Factoring out the monomials of the monoid of degrees, gives the characters of the graded components.
|
|
With this setup, the character in each homological degree is a matrix with values in a "character ring". This character ring is constructed as F[M], where F is the field of coefficients of R and M is the degreesMonoid of R. The character ring is stored with each action and character, and in the cache table of the polynomial ring under the key degreesRing.
|
|
|
When different characters are combined with methods such as directSum(Character) or tensor(Character,Character), the package checks that all characters have values in the same character ring. All actions and characters of objects (rings, ideals, modules, resolutions) over the same ambient ring automatically share the same character ring.
The character ring can be defined just as well when the ambient ring is multigraded and in the presence of actions by the semidirect product of a finite group and the torus responsible for the multigrading.
|
|
|
|
|
|
|
|
To avoid issues such as incompatible character rings or character rings being recreated over and over, the handling of character rings is currently not exposed to the user.
The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/BettiCharacters.m2:3859:0.