aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/cycles.spad.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2013-05-26 02:57:28 +0000
committerdos-reis <gdr@axiomatics.org>2013-05-26 02:57:28 +0000
commit55bb112b197664527f8cdf1c7005b5979911a0c7 (patch)
treea3a76e49be05039698f8ed5501f497498082ae5d /src/algebra/cycles.spad.pamphlet
parent15cd0ab054c2d61565ff4503fb3212e3d356ab11 (diff)
downloadopen-axiom-55bb112b197664527f8cdf1c7005b5979911a0c7.tar.gz
Revert accidental commit.
Diffstat (limited to 'src/algebra/cycles.spad.pamphlet')
-rw-r--r--src/algebra/cycles.spad.pamphlet26
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) ==