pwkond man page

pwkond — peak word condensation


pwkond [Options] <Name> [<Name> ...]


After the irreducible constituents of a module, or a number of modules, have been found with chop(1), this program can be used:

By definition, a "peak word" for the ith constituent is an algebra element which has minimal nullity on the ith constituent and which operates regularly (i.e., with nullity 0) on the other constituents.  Also for identifying words (see chop(1)), the nullity of a peak word on its constituent is equal to the degree of the splitting field for that constituent.

When more than one module is specified on the command line, the peak words found by pwkond are "global", i.e., each peak word selects exactly one of the constituents of each module.  Running pwkond successively on two modules does not generally produce global peak words, since a peak word found for module M may have a non-zero nullity on a different constituent that occurs in another module N but not in M.

The -e option can be used to exclude certain words from the search. List is a list of integers or ranges of integers, for example "-e 57,82-112,289".  Using -i, you can specify a list of words which will be tested first.  This can significantly reduce computation time if you already know one or more peak words for a given module.  The -n option disables the condensation phase.  If this option is used, the program stops after the peak words have been found.  If the -t option is specified, pwkond transforms the generators of all irreducible constituents to the standard basis defined by the peak word.

For each composition factor there are several output files.  If, for example, one composition factor is X10a, pwkond will produce the following files:

X10a.std.1 and X10a.std.1

The operation of the generators on the constituent with respect to the standard basis defined by the peak word.  These files are created only if the -t option is used.


Spin-up script for the standard basis.  See zsb(1) for details.

X10a.1k and X10a.2k

The action of the generators on the condensed module.

Condensed peak word.  This is a nilpotent matrix.

Image of the peak word.


Kernel of the peak word.

The .cfinfo file is written each time a peak word is found.  So, if the program does not terminate or dies unexpectedly the information about the peak words found so far is not lost.

If the module is semisimple, pwkond can calculate a basis that respects the decomposition into irreducible constituents.  With respect to this basis, the generators are in block diagonal form, where the blocks occur in the order determined by chop(1).  All blocks corresponding to the same constituent are equal, not only equivalent, and the blocks occur in their "natural" order (as defined by chop(1)).  This is essential for the tensor condensation procedure  (see precond(1)).  To calculate the semisimplicity basis, use the -b option.  The basis is written to Name.ssb.  Using -b with a module that is not semisimple produces undefined results.  Most probably, pwkond will stop with the error message "row index out of range", or it will write a singular matrix to Name.ssb.



Quiet, no messages.


Verbose, more messages.

-T <MaxTime>

Set CPU time limit


Produce output in GAP format.  This option implies -Q.


Find peak words only; do not condense.


Use full polynomials in peak word search.

-i <List>

Words to try first; e.g., -i 100,20-35.

-e <List>

Exclude words from search; e.g., -e 3,20-99.


Transform generators into standard basis.


Calculate a semisimplicity basis.


Compute kernel of peak words.

Implementation Details

Internally, a peak word is represented by a pair (n,p) where n is the canonical number of the word (see zmw(1)), and p is a polynomial.  The peak word represented by this pair is p(Wn), Wn being the nth word.  Without -p, pwkond considers only linear polynomials.  If the -p option is used, pwkond can find polynomials of any degree.

Whenever a peak word is found, the generalized condensation is calculated as follows: The peakword is caculated as a matrix acting on V, which is then repeatedly raised to higher powers until the nullity stabilizes.  The stable nullity equals the multiplicity k of the constituent times the degree [E:F] of the splitting field extension.  Having a power w^N of the peakword with stable nullity, the condensation onto its kernel, i.e., the projection of V onto V/w^N(V), is determined in the same way as in the zqt(1) program.

Input Files


Constituent info file.




Generators on the constituents.

Output Files


Constituent info file.


Condensed generators.


Condensed generators in standard basis (with -t).


Spin-up script for standard basis (with -t).


Condensed peak word.


Image used for condensation.


Peakword kernel (with -k or without -n).


Semisimplicity basis (with -b).

See Also

chop(1), precond(1), zmw(1), zqt(1), zsb(1)

Referenced By

chop(1), decomp(1), mkcycl(1), mkhom(1), mkhom_old(1), precond(1), pseudochop(1), rad(1), soc(1), tcond(1), tuc(1).

2.4.24 MeatAxe User Commands