diff options
Diffstat (limited to 'src/algebra/cycles.spad.pamphlet')
-rw-r--r-- | src/algebra/cycles.spad.pamphlet | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/src/algebra/cycles.spad.pamphlet b/src/algebra/cycles.spad.pamphlet index 0a92b83a..7b1b7c0d 100644 --- a/src/algebra/cycles.spad.pamphlet +++ b/src/algebra/cycles.spad.pamphlet @@ -54,15 +54,15 @@ CycleIndicators: Exports == Implementation where ++\spad{alternating n} is the cycle index of the ++ alternating group of degree n. - cyclic: NNI -> SPOL RN --cyclic group + cyclic: PI -> SPOL RN --cyclic group ++\spad{cyclic n} is the cycle index of the ++ cyclic group of degree n. - dihedral: NNI -> SPOL RN --dihedral group + dihedral: PI -> SPOL RN --dihedral group ++\spad{dihedral n} is the cycle index of the ++ dihedral group of degree n. - graphs: NNI -> SPOL RN + graphs: PI -> SPOL RN ++\spad{graphs n} is the cycle index of the group induced on ++ the edges of a graph by applying the symmetric function to the ++ n nodes. @@ -100,20 +100,24 @@ CycleIndicators: Exports == Implementation where trm: PTN -> SPOL RN trm pt == monomial(inv(pdct(pt) :: RN),pt) + list: Stream PTN -> L PTN + list st == entries complete st + complete i == i=0 => 1 - +/[trm pt for pt in entries partitions i] - - even?: L I -> B - even? li == even?( #([i for i in li | even? i])) + +/[trm pt for pt in list partitions i] + + + even?: PTN -> B + even? p == even?( #([i for i in parts p | even? i])) alternating i == - 2 * _+/[trm p for p in entries partitions i | even? p] + 2 * _+/[trm p for p in list partitions i | even? p] elementary i == i=0 => 1 - +/[(spol := trm partition pt; even? pt => spol; -spol) - for pt in entries partitions i] + +/[(spol := trm pt; even? pt => spol; -spol) + for pt in list partitions i] divisors: I -> L I divisors n == @@ -157,7 +161,7 @@ CycleIndicators: Exports == Implementation where prod := c * prod2 * prod xx * prod - graphs n == +/[trm2 p for p in entries partitions n] + graphs n == +/[trm2 p for p in list(partitions n)] cupp: (PTN,SPOL RN) -> SPOL RN cupp(pt,spol) == |