|
|
|
last edited 14 years ago by Bill Page |
| 1 2 3 4 5 6 7 8 | ||
|
Editor: Bill Page
Time: 2008/08/07 10:39:08 GMT-7 |
||
| Note: new version of FriCAS and Aldor interface | ||
added:
)version
Test species in axiom/FriCAS?.
The species project is written in Aldor. Thus we need to load the libraries explicitly:
)version
Value = "Thursday August 7, 2008 at 07:01:07 "
)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
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
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)lib csaxcompat2.ao
Reading /var/lib/zope/combinat/src/csaxcompat2.asy
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
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
Won't parse: (Type)->NIL)lib csistruc.ao
Reading /var/lib/zope/combinat/src/csistruc.asy
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
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)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
OrdinaryGeneratingSeries is now explicitly exposed in frame initial
OrdinaryGeneratingSeries will be automatically loaded when needed
from /var/lib/zope/combinat/src/csgseries
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)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
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
Partition is now explicitly exposed in frame initial
Partition 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
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)lib csexamples.ao
Reading /var/lib/zope/combinat/src/csexamples.asy
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
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
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/csparseWe took the decision not to rely on the Axiom algebra. Unfortunately, this means that integration in Axiom is a little unsatisfactory. Eg., instead of Integer and List, we need to use ACInteger and ACList. Often explicit coercions are necessary.
This should give the set partitions of {1,2,3,4}
l: SetSpecies ACINT := set [i::ACINT for i in 1..4]
| (1) |
[structures(l)$Partition ACINT]$ACLIST(Partition ACINT)
![]() | (2) |
#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;
Compiling FriCAS source code from file
/var/zope2/var/LatexWiki/5200085684951427974-25px003.as using
AXIOM-XL compiler and options
-O -Fasy -Fao -Flsp -laxiom -Mno-ALDOR_W_WillObsolete -DAxiom -Y $AXIOM/algebra -I $AXIOM/algebra
Use the system command )set compiler args to change these
options.
Compiling Lisp source code from file
./5200085684951427974-25px003.lsp
Issuing )library command for 5200085684951427974-25px003
Reading /var/lib/zope/combinat/src/5200085684951427974-25px003.asy
A is now explicitly exposed in frame initial
A will be automatically loaded when needed from
/var/lib/zope/combinat/src/5200085684951427974-25px003Due to types not being first class objects in the Axiom interpreter, we had to write a little interpreter to allow for user specified species:
T := Interpret([parse "Plus(SingletonSpecies, Times(Self, Self))"], ACInteger);
)sh T
Interpret([CONCATPlus(PAREN (AGGLST (CONCAT (NOTHING) SingletonSpecies) (CONCAT Times (PAREN (AGGLST (CONCAT (NOTHING) Self) (CONCAT (NOTHING) Self))))))],ACInteger) is a domain constructor. Abbreviation for Interpret is INTERPR This constructor is exposed in this frame. ------------------------------- 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 %
l := set [i::ACINT for i in 1..3]
| (3) |
[structures(l)$T]$ACLIST(T)
![]() | (4) |
We are still not 100% sure how to represent isomorphism types. So far, we had two ideas: in the iso-experiment branch, we have separate (but tightly connected) representation:
m: MultiSet ACINT := multiset([1$ACINT for i in 1..3]::ACList ACINT)
| (5) |
[isomorphismTypes(m)$MultiSet(ACINT)]$ACList(MultiSet ACINT)
| (6) |
IsoT := ACIsomorphismType(ACINT, T)
| (7) |
)sh IsoT
ACIsomorphismType(ACInteger,Interpret([CONCATPlus(PAREN (AGGLST (CONCAT (NOTHING) SingletonSpecies) (CONCAT Times (PAREN (AGGLST (CONCAT (NOTHING) Self) (CONCAT (NOTHING) Self))))))],ACInteger)) is a domain constructor. Abbreviation for ACIsomorphismType is ACISOMO This constructor is exposed in this frame. ------------------------------- Operations --------------------------------
?=? : (%,%) -> Boolean coerce : % -> OutputForm hash : % -> SingleInteger latex : % -> String ?~=? : (%,%) -> Boolean ?<<? : (OutputForm,%) -> OutputForm isomorphismTypes : MultiSet ACInteger -> Generator %
[isomorphismTypes(m)$IsoT]$ACList(IsoT)
| (8) |
debugging needed here... On my computer, the last statement yields
On my computer, the last statement yields:
(13) [r([1], ([1], [1])),r(([1], [1]), [1])]
Very likely, the bug is due to the broken aldor interface. Ralf is working hard on that.