login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for SandBoxSpeciesAldor revision 2 of 11

1 2 3 4 5 6 7 8 9 10 11
Editor: hemmecke
Time: 2008/06/12 09:02:39 GMT-7
Note:

added:
So let's find the problem. P is the polynomial domain in infinitely many variables with rational coefficients.

\begin{axiom}
p: P := 1$P
v: V := 3::I::V
t: T := power(v,2) * power(5::I::V,3)
t2: T := power(v,3) * power(1::I::V,2)
p := t :: P + 3*t2
\end{axiom}

Hmm, prints fine...

Test species in axiom/FriCAS?.

The species project is written in Aldor. Thus we need to load the libraries explicitly:

Want loading of libraries with no output.

axiom
)cd ~/combinat/src The current FriCAS default directory is /var/lib/zope/combinat/src )re ../lib/combinat.input )lib cscombinatversion.ao 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 )lib csaxcompat.ao 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 )lib csaxcompat2.ao 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 Partial is now explicitly exposed in frame initial Partial 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 Won't parse: (Type)->NIL )lib csistruc.ao 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 )lib csdistpoly.ao 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 )lib csstream.ao 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 )lib csseries.ao Reading /var/lib/zope/combinat/src/csseries.asy 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 SeriesOrder is now explicitly exposed in frame initial SeriesOrder will be automatically loaded when needed from /var/lib/zope/combinat/src/csseries )lib csidxpp.ao 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 )lib cssiprimes.ao 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 )lib cssitools.ao 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 )lib csgseries.ao 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 )lib csmultinom.ao 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 )lib csspexpr.ao 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 )lib csspecies.ao Reading /var/lib/zope/combinat/src/csspecies.asy ACIsomorphismType is now explicitly exposed in frame initial ACIsomorphismType 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 Times is now explicitly exposed in frame initial Times 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 Compose is now explicitly exposed in frame initial Compose 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 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 CombinatorialSpecies is now explicitly exposed in frame initial CombinatorialSpecies 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 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 SetSpecies is now explicitly exposed in frame initial SetSpecies 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 SingletonSpecies is now explicitly exposed in frame initial SingletonSpecies 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 )lib csexamples.ao 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 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 SetSpecies is already explicitly exposed in frame initial SetSpecies will be automatically loaded when needed from /var/lib/zope/combinat/src/csexamples Won't parse: (Type)->NIL Won't parse: (ACLabelType)->NIL )lib csinterp.ao 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 )lib csparse.ao 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

Let's define a binary tree.

aldor
#includeDir "/var/lib/zope/combinat/include" #libraryDir "/var/lib/zope/combinat/lib" #include "combinat" macro { E == EmptySetSpecies; X == SingletonSpecies; + == Plus; * == Times; } A(L: LabelType): CombinatorialSpecies L == (E + X*A*A)(L) add;
aldor
   Compiling FriCAS source code from file 
      /var/zope2/var/LatexWiki/5200085684951427974-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 
      ./5200085684951427974-25px002.lsp
   Issuing )library command for 5200085684951427974-25px002
   Reading /var/lib/zope/combinat/src/5200085684951427974-25px002.asy
   A is now explicitly exposed in frame initial 
   A will be automatically loaded when needed from 
      /var/lib/zope/combinat/src/5200085684951427974-25px002

axiom
X := A(ACInteger)
LatexWiki Image(1)
Type: Domain
axiom
)show X A ACInteger is a domain constructor. Abbreviation for A is A This constructor is exposed in this frame. Issue )edit 5200085684951427974-25px002.as to see algebra source code for A ------------------------------- Operations -------------------------------- ?=? : (%,%) -> Boolean coerce : % -> OutputForm hash : % -> SingleInteger latex : % -> String ?~=? : (%,%) -> Boolean ?<<? : (OutputForm,%) -> OutputForm IsomorphismType : () -> IsomorphismTypeCategory ACInteger cycleIndexSeries : () -> CycleIndexSeries expression : () -> SpeciesExpression generatingSeries : () -> ExponentialGeneratingSeries isomorphismTypeGeneratingSeries : () -> OrdinaryGeneratingSeries structures : SetSpecies ACInteger -> Generator % labels := set [i::ACInteger for i in 1..3]
LatexWiki Image(2)
Type: Set ACInteger?
axiom
[structures(labels)$X]$ACLIST(X) There are 1 exposed and 0 unexposed library operations named structures having 1 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op structures to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. Cannot find a definition or applicable library operation named structures with argument type(s) Set ACInteger Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need. es: ExponentialGeneratingSeries := generatingSeries()$X;
Type: ExponentialGeneratingSeries?
axiom
coeffs := [coefficient(es, i) for i in 0..10]
LatexWiki Image(3)
Type: List ACFraction? ACInteger?
axiom
os: OrdinaryGeneratingSeries := isomorphismTypeGeneratingSeries()$X;
Type: OrdinaryGeneratingSeries?
axiom
coeffs2 := [coefficient(os, i) for i in 0..10]
LatexWiki Image(4)
Type: List ACInteger?
axiom
I := ACMachineInteger
LatexWiki Image(5)
Type: Domain
axiom
Q := ACFraction ACInteger
LatexWiki Image(6)
Type: Domain
axiom
V := CycleIndexVariable
LatexWiki Image(7)
Type: Domain
axiom
T := SparseIndexedPowerProduct(V, I)
LatexWiki Image(8)
Type: Domain
axiom
P := SparseDistributedPolynomial(Q, V, T)
LatexWiki Image(9)
Type: Domain
axiom
S := CycleIndexSeries;
Type: Domain
axiom
cs: S := cycleIndexSeries()$X;
Type: CycleIndexSeries?
axiom
coeffs3: List P := [coefficient(cs, i) for i in 0..5] LISP output: ((((1 . 1))) (((1 . 1) (1 . 1))) (((2 . 1) (2 . 1))) (((5 . 1) (3 . 1))) (((14 . 1) (4 . 1))) (((42 . 1) (5 . 1))))
Type: List SparseDistributedPolynomial?(ACFraction? ACInteger?,CycleIndexVariable?,SparseIndexedPowerProduct?(CycleIndexVariable?,ACMachineInteger?))

Ooops, it seems that elements of P cannot be printed in Axiom. :-(

So let's find the problem. P is the polynomial domain in infinitely many variables with rational coefficients.

axiom
p: P := 1$P
LatexWiki Image(10)
Type: SparseDistributedPolynomial?(ACFraction? ACInteger?,CycleIndexVariable?,SparseIndexedPowerProduct?(CycleIndexVariable?,ACMachineInteger?))
axiom
v: V := 3::I::V
LatexWiki Image(11)
Type: CycleIndexVariable?
axiom
t: T := power(v,2) * power(5::I::V,3)
LatexWiki Image(12)
Type: SparseIndexedPowerProduct?(CycleIndexVariable?,ACMachineInteger?)
axiom
t2: T := power(v,3) * power(1::I::V,2)
LatexWiki Image(13)
Type: SparseIndexedPowerProduct?(CycleIndexVariable?,ACMachineInteger?)
axiom
p := t :: P + 3*t2
LatexWiki Image(14)
Type: SparseDistributedPolynomial?(ACFraction? ACInteger?,CycleIndexVariable?,SparseIndexedPowerProduct?(CycleIndexVariable?,ACMachineInteger?))

Hmm, prints fine...