|
|
|
last edited 15 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:
(1) -> )version
"FriCAS 1.4.0 compiled at Fri 16 Oct 16:10:51 CEST 2026"
)cd ~/combinat/src
The current FriCAS default directory is /var/aw/var/LatexWiki
)re ../lib/combinat.input
The file ../lib/combinat.input is needed but does not exist.
We 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]
There are no library operations named SetSpecies Use HyperDoc Browse or issue )what op SetSpecies to learn if there is any operation containing " SetSpecies " in its name.
Cannot find a definition or applicable library operation named SetSpecies with argument type(s) Variable(ACINT)
Perhaps you should use "@" to indicate the required return type,or "$" to specify which version of the function you need.
#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/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/5200085684951427974-25px003.as
using Aldor compiler and options
-O -Fasy -Fao -Flsp -lfricas -Mno-ALDOR_W_WillObsolete -DFriCAS -Y $FRICAS/algebra -I $FRICAS/algebra
. Use the system command )set compiler args to change these
options.
#1 (Warning) Could not use archive file `libfricas.al'.
"/var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/5200085684951427974-25px003.as", line 3:
#include "combinat"
^
[L3 C1] #2 (Error) Could not open file `combinat'.
The )library system command was not called after compilation.Due 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);
There are no exposed library operations named parse but there are 3 unexposed operations with that name. Use HyperDoc Browse or issue )display op parse to learn more about the available operations.
Cannot find a definition or applicable library operation named parse with argument type(s) String
Perhaps you should use "@" to indicate the required return type,or "$" to specify which version of the function you need.
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)
There are no library operations named MultiSet Use HyperDoc Browse or issue )what op MultiSet to learn if there is any operation containing " MultiSet " in its name.
Cannot find a definition or applicable library operation named MultiSet with argument type(s) Variable(ACINT)
Perhaps you should use "@" to indicate the required return type,or "$" to specify which version of the function you need.
IsoT := ACIsomorphismType(ACINT,T)
There are no library operations named ACIsomorphismType Use HyperDoc Browse or issue )what op ACIsomorphismType to learn if there is any operation containing " ACIsomorphismType " in its name.
Cannot find a definition or applicable library operation named ACIsomorphismType with argument type(s) Variable(ACINT) Variable(T)
Perhaps you should use "@" to indicate the required return type,or "$" to specify which version of the function you need.
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.