Test the different Series defined for Species
axiom
)cd ~/combinat/src
The current FriCAS default directory is /var/lib/zope/combinat/src
axiom
)re ../lib/combinat.input
axiom
)lib cscombinatversion.ao
axiom
Reading /var/lib/zope/combinat/src/cscombinatversion.asy
LibraryInformationCombinat is now explicitly exposed in frame
initial
LibraryInformationCombinat will be automatically loaded when needed
from /var/lib/zope/combinat/src/cscombinatversion
axiom
)lib csaxcompat.ao
axiom
Reading /var/lib/zope/combinat/src/csaxcompat.asy
ACCharacter is now explicitly exposed in frame initial
ACCharacter will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat
ACFraction is now explicitly exposed in frame initial
ACFraction will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat
ACIntegerTools is now explicitly exposed in frame initial
ACIntegerTools will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat
ACInteger is now explicitly exposed in frame initial
ACInteger will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat
ACList is now explicitly exposed in frame initial
ACList will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat
ACMachineInteger is now explicitly exposed in frame initial
ACMachineInteger will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat
ACPrimitiveArray is now explicitly exposed in frame initial
ACPrimitiveArray will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat
ACString is now explicitly exposed in frame initial
ACString will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat
ACSymbol is now explicitly exposed in frame initial
ACSymbol will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat
Array is now explicitly exposed in frame initial
Array will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat
ACLabelType is now explicitly exposed in frame initial
ACLabelType will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat
OutputType is now explicitly exposed in frame initial
OutputType will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat
TotallyOrderedType is now explicitly exposed in frame initial
TotallyOrderedType will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat
axiom
)lib csaxcompat2.ao
axiom
Reading /var/lib/zope/combinat/src/csaxcompat2.asy
ExpressionTreeExpt is now explicitly exposed in frame initial
ExpressionTreeExpt will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat2
ExpressionTreeLeaf is now explicitly exposed in frame initial
ExpressionTreeLeaf will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat2
ExpressionTreePlus is now explicitly exposed in frame initial
ExpressionTreePlus will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat2
ExpressionTreePrefix is now explicitly exposed in frame initial
ExpressionTreePrefix will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat2
ExpressionTreeTimes is now explicitly exposed in frame initial
ExpressionTreeTimes will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat2
ExpressionTree is now explicitly exposed in frame initial
ExpressionTree will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat2
GeneratorException is now explicitly exposed in frame initial
GeneratorException will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat2
Generator is now explicitly exposed in frame initial
Generator will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat2
ExpressionTreeOperator is now explicitly exposed in frame initial
ExpressionTreeOperator will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat2
ExpressionType is now explicitly exposed in frame initial
ExpressionType will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat2
GeneratorExceptionType is now explicitly exposed in frame initial
GeneratorExceptionType will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat2
Partial is now explicitly exposed in frame initial
Partial will be automatically loaded when needed from
/var/lib/zope/combinat/src/csaxcompat2
Won't parse: (Type)->NIL
axiom
)lib csistruc.ao
axiom
Reading /var/lib/zope/combinat/src/csistruc.asy
SparseAdditiveArray is now explicitly exposed in frame initial
SparseAdditiveArray will be automatically loaded when needed from
/var/lib/zope/combinat/src/csistruc
SparseFiniteMonoidRing is now explicitly exposed in frame initial
SparseFiniteMonoidRing will be automatically loaded when needed from
/var/lib/zope/combinat/src/csistruc
IndexedFreeAdditiveCombinationType is now explicitly exposed in
frame initial
IndexedFreeAdditiveCombinationType will be automatically loaded when
needed from /var/lib/zope/combinat/src/csistruc
IndexedFreeArithmeticType is now explicitly exposed in frame initial
IndexedFreeArithmeticType will be automatically loaded when needed
from /var/lib/zope/combinat/src/csistruc
axiom
)lib csdistpoly.ao
axiom
Reading /var/lib/zope/combinat/src/csdistpoly.asy
SparseDistributedPolynomial is now explicitly exposed in frame
initial
SparseDistributedPolynomial will be automatically loaded when needed
from /var/lib/zope/combinat/src/csdistpoly
axiom
)lib csstream.ao
axiom
Reading /var/lib/zope/combinat/src/csstream.asy
DataStream is now explicitly exposed in frame initial
DataStream will be automatically loaded when needed from
/var/lib/zope/combinat/src/csstream
axiom
)lib csseries.ao
axiom
Reading /var/lib/zope/combinat/src/csseries.asy
SeriesOrder is now explicitly exposed in frame initial
SeriesOrder will be automatically loaded when needed from
/var/lib/zope/combinat/src/csseries
FormalPowerSeries is now explicitly exposed in frame initial
FormalPowerSeries will be automatically loaded when needed from
/var/lib/zope/combinat/src/csseries
FormalPowerSeriesCategory is now explicitly exposed in frame initial
FormalPowerSeriesCategory will be automatically loaded when needed
from /var/lib/zope/combinat/src/csseries
axiom
)lib csidxpp.ao
axiom
Reading /var/lib/zope/combinat/src/csidxpp.asy
SparseIndexedPowerProduct is now explicitly exposed in frame initial
SparseIndexedPowerProduct will be automatically loaded when needed
from /var/lib/zope/combinat/src/csidxpp
axiom
)lib cssiprimes.ao
axiom
Reading /var/lib/zope/combinat/src/cssiprimes.asy
SmallIntegerPrimes is now explicitly exposed in frame initial
SmallIntegerPrimes will be automatically loaded when needed from
/var/lib/zope/combinat/src/cssiprimes
axiom
)lib cssitools.ao
axiom
Reading /var/lib/zope/combinat/src/cssitools.asy
SmallIntegerTools is now explicitly exposed in frame initial
SmallIntegerTools will be automatically loaded when needed from
/var/lib/zope/combinat/src/cssitools
axiom
)lib csgseries.ao
axiom
Reading /var/lib/zope/combinat/src/csgseries.asy
CycleIndexSeries is now explicitly exposed in frame initial
CycleIndexSeries will be automatically loaded when needed from
/var/lib/zope/combinat/src/csgseries
CycleIndexVariable is now explicitly exposed in frame initial
CycleIndexVariable will be automatically loaded when needed from
/var/lib/zope/combinat/src/csgseries
ExponentialGeneratingSeries is now explicitly exposed in frame
initial
ExponentialGeneratingSeries will be automatically loaded when needed
from /var/lib/zope/combinat/src/csgseries
OrdinaryGeneratingSeries is now explicitly exposed in frame initial
OrdinaryGeneratingSeries will be automatically loaded when needed
from /var/lib/zope/combinat/src/csgseries
axiom
)lib csmultinom.ao
axiom
Reading /var/lib/zope/combinat/src/csmultinom.asy
MultinomialTools is now explicitly exposed in frame initial
MultinomialTools will be automatically loaded when needed from
/var/lib/zope/combinat/src/csmultinom
axiom
)lib csspexpr.ao
axiom
Reading /var/lib/zope/combinat/src/csspexpr.asy
SpeciesExpression is now explicitly exposed in frame initial
SpeciesExpression will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspexpr
axiom
)lib csspecies.ao
axiom
Reading /var/lib/zope/combinat/src/csspecies.asy
Plus is now explicitly exposed in frame initial
Plus will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
RestrictedSpecies is now explicitly exposed in frame initial
RestrictedSpecies will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
ACIsomorphismType is now explicitly exposed in frame initial
ACIsomorphismType will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
SetSpecies is now explicitly exposed in frame initial
SetSpecies will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
SingletonSpecies is now explicitly exposed in frame initial
SingletonSpecies will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
Augment is now explicitly exposed in frame initial
Augment will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
CharacteristicSpecies is now explicitly exposed in frame initial
CharacteristicSpecies will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
Combination is now explicitly exposed in frame initial
Combination will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
Subset is now explicitly exposed in frame initial
Subset will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
Compose is now explicitly exposed in frame initial
Compose will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
Times is now explicitly exposed in frame initial
Times will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
Derivative is now explicitly exposed in frame initial
Derivative will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
DropEmpty is now explicitly exposed in frame initial
DropEmpty will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
EmptySetSpecies is now explicitly exposed in frame initial
EmptySetSpecies will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
FunctorialCompose is now explicitly exposed in frame initial
FunctorialCompose will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
MultiCompose is now explicitly exposed in frame initial
MultiCompose will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
MultiDerivative is now explicitly exposed in frame initial
MultiDerivative will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
MultiPlus is now explicitly exposed in frame initial
MultiPlus will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
MultiSetCombination is now explicitly exposed in frame initial
MultiSetCombination will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
MultiSetPartition is now explicitly exposed in frame initial
MultiSetPartition will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
MultiSet is now explicitly exposed in frame initial
MultiSet will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
CombinatorialSpecies is now explicitly exposed in frame initial
CombinatorialSpecies will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
MultiSubset is now explicitly exposed in frame initial
MultiSubset will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
MultiTimes is now explicitly exposed in frame initial
MultiTimes will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
Multiple is now explicitly exposed in frame initial
Multiple will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
IsomorphismTypeCategory is now explicitly exposed in frame initial
IsomorphismTypeCategory will be automatically loaded when needed
from /var/lib/zope/combinat/src/csspecies
NonEmpty is now explicitly exposed in frame initial
NonEmpty will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
Partition is now explicitly exposed in frame initial
Partition will be automatically loaded when needed from
/var/lib/zope/combinat/src/csspecies
axiom
)lib csexamples.ao
axiom
Reading /var/lib/zope/combinat/src/csexamples.asy
ACBinaryTree is now explicitly exposed in frame initial
ACBinaryTree will be automatically loaded when needed from
/var/lib/zope/combinat/src/csexamples
SetSpecies is already explicitly exposed in frame initial
SetSpecies will be automatically loaded when needed from
/var/lib/zope/combinat/src/csexamples
Combination is already explicitly exposed in frame initial
Combination will be automatically loaded when needed from
/var/lib/zope/combinat/src/csexamples
Generator is already explicitly exposed in frame initial
Generator will be automatically loaded when needed from
/var/lib/zope/combinat/src/csexamples
Won't parse: (ACLabelType)->NIL
Won't parse: (Type)->NIL
axiom
)lib csinterp.ao
axiom
Reading /var/lib/zope/combinat/src/csinterp.asy
Interpret is now explicitly exposed in frame initial
Interpret will be automatically loaded when needed from
/var/lib/zope/combinat/src/csinterp
InterpretingTools is now explicitly exposed in frame initial
InterpretingTools will be automatically loaded when needed from
/var/lib/zope/combinat/src/csinterp
LabelSpecies is now explicitly exposed in frame initial
LabelSpecies will be automatically loaded when needed from
/var/lib/zope/combinat/src/csinterp
axiom
)lib csparse.ao
axiom
Reading /var/lib/zope/combinat/src/csparse.asy
MyParser is now explicitly exposed in frame initial
MyParser will be automatically loaded when needed from
/var/lib/zope/combinat/src/csparse
Composition of Species:
aldor
#includeDir "/var/lib/zope/combinat/include"
#libraryDir "/var/lib/zope/combinat/lib"
#include "combinat"
macro {
E == EmptySetSpecies;
X == SingletonSpecies;
+ == Plus;
* == Times;
}
import from ACInteger;
kSet(L:ACLabelType, k:Integer): CombinatorialSpecies L == RestrictedSpecies(SetSpecies, k)(L) add;
kSubset(L:ACLabelType, k:Integer): CombinatorialSpecies L == (RestrictedSpecies(SetSpecies, k)*SetSpecies)(L) add;
TwoSet(L:ACLabelType): CombinatorialSpecies L == kSet(L,2) add;
Graph(L: ACLabelType): CombinatorialSpecies L == FunctorialCompose(Subset, SetSpecies*TwoSet)(L) add;
aldor
Compiling FriCAS source code from file
/var/zope2/var/LatexWiki/328803476490765780-25px002.as using
AXIOM-XL compiler and options
-O -Fasy -Fao -Flsp -laxiom -Mno-AXL_W_WillObsolete -DAxiom -Y $AXIOM/algebra
Use the system command )set compiler args to change these
options.
#1 (Warning) Deprecated message prefix: use `ALDOR_' instead of `_AXL'
Compiling Lisp source code from file
./328803476490765780-25px002.lsp
Issuing )library command for 328803476490765780-25px002
Reading /var/lib/zope/combinat/src/328803476490765780-25px002.asy
TwoSet is now explicitly exposed in frame initial
TwoSet will be automatically loaded when needed from
/var/lib/zope/combinat/src/328803476490765780-25px002
kSet is now explicitly exposed in frame initial
kSet will be automatically loaded when needed from
/var/lib/zope/combinat/src/328803476490765780-25px002
kSubset is now explicitly exposed in frame initial
kSubset will be automatically loaded when needed from
/var/lib/zope/combinat/src/328803476490765780-25px002
Graph is now explicitly exposed in frame initial
Graph will be automatically loaded when needed from
/var/lib/zope/combinat/src/328803476490765780-25px002
These are the definitions of Cycle and LinearOrder? see SandBoxSpeciesAldor?
aldor
#includeDir "/var/lib/zope/combinat/include"
#libraryDir "/var/lib/zope/combinat/lib"
#assert MacrosCombinat
#assert Axiom
#include "combinat"
macro {
SPECIES == (L: LabelType) -> CombinatorialSpecies L;
V == CycleIndexVariable;
NonNegativeMachineInteger == I;
T == SparseIndexedPowerProduct(V, NonNegativeMachineInteger);
P == SparseDistributedPolynomial(Q, V, T);
}
LinearOrder(L: LabelType): with {
CombinatorialSpecies L;
coerce: % -> List L;
} == List L add {
Rep == List L;
import from Rep;
coerce(x: %): List L == rep x;
local lists(l: List L): Generator List L == generate {
empty? l => yield l;
current := l;
c := first current;
for u in lists(rest l) repeat yield cons(c, u);
assert(not empty? current);
while not empty?(tmp := rest current) repeat {
c := first tmp;
setrest!(current, rest tmp); -- remove c from l
for u in lists l repeat yield cons(c, u);
setrest!(current, tmp); -- put c back into l
current := tmp;
}
}
structures(s: SetSpecies L): Generator % == generate {
for l in lists(s :: List L) repeat yield per l;
}
local LinearOrderIsomorphismType: IsomorphismTypeCategory L
== add {
isomorphismTypes(s: MultiSet L): Generator % == never;
(x:%) = (y:%): Boolean == never;
(tw: TextWriter) << (x: %): TextWriter == never;
}
IsomorphismType: IsomorphismTypeCategory L == LinearOrderIsomorphismType;
generatingSeries: ExponentialGeneratingSeries == {
(stream(1$Q)$DataStream(Q)) :: ExponentialGeneratingSeries;
}
isomorphismTypeGeneratingSeries: OrdinaryGeneratingSeries == {
(stream(1$Z)$DataStream(Z)) :: OrdinaryGeneratingSeries;
}
local cisGenerator: Generator P == generate {
import from I, T, P;
x1: V := 1::V;
for n: I in 0.. repeat yield power(x1, n) :: P;
}
cycleIndexSeries: CycleIndexSeries == cisGenerator :: CycleIndexSeries;
import from String;
expression: SpeciesExpression == leaf("LinearOrder");
}
Cycle(L: LabelType): with {
CombinatorialSpecies L;
coerce: % -> List L;
cycle: List L -> %;
} == List L add {
Rep == List L;
import from I, Rep;
local cisCycle(ao: I): Generator P == generate {
macro PrimePowerProduct == SparseIndexedPowerProduct(I, I);
local multiply(k: PrimePowerProduct): I == {
r: I := 1;
for ep in k repeat {(e, p) := ep; r := r * p^e}
r;
}
local eulerPhi(t: SparseIndexedPowerProduct(I, I)): I == {
phi: I := 1;
for ep in t repeat {
(e, p) := ep;
phi := phi * p^(e-1) * (p-1)
}
phi;
}
local cisCoefficient(n: I): P == BugWorkaround(
PrimePowerProduct has with {
divisors: % -> Generator %;
/: (%, %) -> %;
}
){
import from Z, V, SmallIntegerTools;
nn: PrimePowerProduct := factor n;
p: P := 0;
for m in divisors nn repeat {
k: PrimePowerProduct := nn/m;
q: Q := (eulerPhi(k) :: Z) / (n :: Z);
xk: V := multiply(k) :: V;
t: T := power(xk, multiply m);
p := [q, t]$P + p;
}
p;
}
yield 0$P;
for n:I in 1.. repeat yield cisCoefficient(n);
}
coerce(x: %): List L == rep x;
cycle(l: List L): % == per l;
structures(s: SetSpecies L): Generator % == generate {
import from LinearOrder L;
if not empty? s then {
l: List L := s :: List L;
u := first l;
for t in structures(set rest l)$LinearOrder(L) repeat {
yield per cons(u, t :: List L);
}
}
}
local CycleIsomorphismType: IsomorphismTypeCategory L
== add {
isomorphismTypes(s: MultiSet L): Generator % == never;
(x:%) = (y:%): Boolean == never;
(tw: TextWriter) << (x: %): TextWriter == never;
}
IsomorphismType: IsomorphismTypeCategory L == CycleIsomorphismType;
local cycleOrder(): SeriesOrder == 1 :: SeriesOrder;
egsCycle(ao: I): Generator Q == generate {
import from Z, Q;
yield 0;
for n:I in 1.. repeat yield inv(n :: Z);
}
generatingSeries: ExponentialGeneratingSeries == new(egsCycle, cycleOrder);
ogsCycle(ao: I): Generator Z == generate {yield 0$Z; yield 1$Z};
isomorphismTypeGeneratingSeries: OrdinaryGeneratingSeries == {
new(ogsCycle, cycleOrder);
}
cycleIndexSeries: CycleIndexSeries == new(cisCycle, cycleOrder);
import from String;
expression: SpeciesExpression == leaf("Cycle");
}
Perm(L: ACLabelType): CombinatorialSpecies L == Compose(SetSpecies,Cycle)(L) add;
aldor
Compiling FriCAS source code from file
/var/zope2/var/LatexWiki/1726705911677297462-25px003.as using
AXIOM-XL compiler and options
-O -Fasy -Fao -Flsp -laxiom -Mno-AXL_W_WillObsolete -DAxiom -Y $AXIOM/algebra
Use the system command )set compiler args to change these
options.
#1 (Warning) Deprecated message prefix: use `ALDOR_' instead of `_AXL'
"/var/zope2/var/LatexWiki/1726705911677297462-25px003.as", line 86:
){
.^
[L86 C2] #2 (Warning) Suspicious juxtaposition. Check for missing `;'.
Check indentation if you are using `#pile'.
Compiling Lisp source code from file
./1726705911677297462-25px003.lsp
Issuing )library command for 1726705911677297462-25px003
Reading /var/lib/zope/combinat/src/1726705911677297462-25px003.asy
Perm is now explicitly exposed in frame initial
Perm will be automatically loaded when needed from
/var/lib/zope/combinat/src/1726705911677297462-25px003
Cycle is now explicitly exposed in frame initial
Cycle will be automatically loaded when needed from
/var/lib/zope/combinat/src/1726705911677297462-25px003
LinearOrder is now explicitly exposed in frame initial
LinearOrder will be automatically loaded when needed from
/var/lib/zope/combinat/src/1726705911677297462-25px003
axiom
Z := ACInteger;
Type: Domain
axiom
labels: SetSpecies Z := set [1::Z,2::Z, 3::Z, 4::Z, 5::Z]
Type: SetSpecies
? ACInteger
?
axiom
[structures(labels)$kSet(Z,5)]$ACLIST(kSet(Z,5))
Type: ACList
? kSet(ACInteger
?,5)
axiom
[structures(labels)$kSet(Z,2)]$ACLIST(kSet(Z,2))
Type: ACList
? kSet(ACInteger
?,2)
axiom
[structures(labels)$kSubset(Z, 2)]$ACLIST(kSubset(Z, 2))
Type: ACList
? kSubset(ACInteger
?,2)
axiom
[structures(labels)$TwoSet(Z)]$ACLIST(TwoSet(Z))
Type: ACList
? TwoSet
? ACInteger
?
axiom
labels3: SetSpecies Z := set [10::Z,20::Z]
Type: SetSpecies
? ACInteger
?
axiom
[structures(labels3)$TwoSet(Z)]$ACLIST(TwoSet(Z))
Type: ACList
? TwoSet
? ACInteger
?
axiom
[structures(labels)$Perm(Z)]$ACLIST(Perm(Z))
Type: ACList
? Perm ACInteger
?
Some problems are appearing, calling
[structures(labels3)ACLIST(Graph(Z))
axiom
es: ExponentialGeneratingSeries := generatingSeries()$Perm(Z);
Type: ExponentialGeneratingSeries
?
axiom
[count(es, i) for i in 0..10]
These are the binomial coefficients of 2 and 4, respectively.
axiom
es: ExponentialGeneratingSeries := generatingSeries()$kSubset(Z,2);
Type: ExponentialGeneratingSeries
?
axiom
[count(es, i) for i in 0..10]
axiom
es: ExponentialGeneratingSeries := generatingSeries()$kSubset(Z,4);
Type: ExponentialGeneratingSeries
?
axiom
[count(es, i) for i in 0..10]
axiom
es: ExponentialGeneratingSeries := generatingSeries()$Graph(Z);
Type: ExponentialGeneratingSeries
?
axiom
[coefficient(es, i) for i in 0..5]
Type: List ACFraction
? ACInteger
?
axiom
os2: OrdinaryGeneratingSeries := isomorphismTypeGeneratingSeries()$Perm(Z);
Type: OrdinaryGeneratingSeries
?
axiom
[coefficient(os2, i) for i in 0..5]
Looking in IndexedOneDimensionalArray(FormalPowerSeries(SparseDistributedPolynomial(ACFraction(
ACInteger()), CycleIndexVariable(), SparseIndexedPowerProduct(CycleIndexVariable(),
ACMachineInteger()))), ??) for apply with code 376666083
>> System error:
FOAM-USER::|fiRaiseException| is invalid as a function.
???
axiom
os: OrdinaryGeneratingSeries := isomorphismTypeGeneratingSeries()$Graph(Z);
Type: OrdinaryGeneratingSeries
?
axiom
[coefficient(os, i) for i in 0..5]
axiom
cs: CycleIndexSeries := cycleIndexSeries()$Graph(Z);
axiom
cs5:=coefficient(cs, 5)
Type: SparseDistributedPolynomial
?(ACFraction
? ACInteger
?,CycleIndexVariable
?,SparseIndexedPowerProduct
?(CycleIndexVariable
?,ACMachineInteger
?))
The identity in fixes every graph, so the coefficient of must be equal to coefficient(es, 5). This is the background to the equation
"es = cs(1,0,0,0...)"
axiom
coefficient(es, 5)
Type: ACFraction
? ACInteger
?
Each transposition fixes the same number of graphs, because of symmetry. We want to know how many graphs are fixed by transposition. Therefore we have to
multiplicate the coefficient of by factorial(n) and divide by the number of transposition in :
axiom
32/3*factorial(5)/(5*4/2)
Type: Fraction Integer