Skip to content

v0.18.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 02:35
· 79 commits to master since this release

Characters, and a projection

The closure was a union over an orbit. It is now the support of a
projection: each element of the group contributes the value a character takes
at it to every cell it carries the material onto, and what survives is where
the coefficient does not vanish. The scaling by the order is dropped,
because the only question ever put to a coefficient is whether it is zero.

The character has to be the trivial one and no other. An indicator is
nowhere negative, so under a character that is everywhere one nothing in a
sum can cancel anything else and a cell survives exactly when some element
reaches it. Under a character taking more than one value, cells reachable by
elements of opposing sign fall out - which on the dihedral family costs
seventeen of thirty-three cells, and on the cyclic family costs nothing at
all, since the sign character is trivial there. That last coincidence is
visible in --emit-group, which now prints the characters beside the Cayley
table.

The family is a condition on a character rather than on a determinant: the
cyclic one is the kernel of the sign character, the dihedral one everything
the relations admit. Three characters are named, and each has work: the sign
picks the family, the trivial one drives the projection, and the standard one

  • the trace of the defining representation - is what the group reports about
    itself.

Only layer 2 changes. The four backends and the front end written in GSL-2
compute an orbit as they always did, so the thirteen tiers agreeing on every
generated program is what stands behind the claim that the two are the same
thing.

Full Changelog: v0.17.0...v0.18.0

LOC: 14150