On Mon, Jul 29, 2013 at 10:39 AM, Ralf Hemmecke <hemme...@gmail.com> wrote: >> Bill Page made a project on cloud called "Test Aldor in Sage Cloud", >> added me to it, and I've now added you to it. >> I "apt-get install"'ed the packages you mentioned above. There's a >> directory in the project called "fricas" and a terminal "fricas.term" >> opened there. I tried running your instructions and it didn't work. >> Any chance you can take a look and fix things to at least build >> locally in that project? Once I have a script to automate the build, >> then this new fricas will be a standard part of cloud.sagemath >> henceforth. > > Hi Bill, hello William, > > take a look into $HOME/fricas/rhx-instructions. Using > > bash rhx-instructions > cd fricas && make install > > will install fricas locally into $HOME/local. I'm sure you find the > --prefix if you want to install it globally. > > I've tested with the myfib.as, but I don't pretend that everything is > working fine. > > Anyway, it's a good opportunity to get more feedback wrt the > FriCAS-Aldor connection.
Thanks. The next update of https://cloud.sagemath.com that I'm making at the moment will include fricas built this way, so users can type "fricas" in the terminal and it will start fricas. Let me know next time I should update this systemwide. -- William > > And indeed, there seem to be issues with the fricas-aldor interface (see > below). > > Waldek, do you have any idea where this error might come from. Looking > at the very bottom seems to suggest that it's something connected to the > exponent in the series. > > I don't quite understand the problem since it works with L, but not with > S, although S (FunnySeries) is, in fact, only calling the respective > operations from L. > > Ralf > > ======= funny.as ======================== > #include "axiom" > > L ==> UnivariateLaurentSeries(F, v, c); > > FunnySeries(F: Field, v: Symbol, c: F): Field with { > coerce: L -> %; > coerce: % -> L; > } == add { > Rep == L; > import from L; > coerce(l: L): % == per l; > coerce(x: %): L == rep x; > (x: %) + (y: %): % == per (rep x * rep y); > (x: %) * (y: %): % == per (rep x + rep y); > (x: %) = (y: %): Boolean == rep x = rep y; > coerce(x: %): OutputForm == { > OF ==> OutputForm; > import from List OF; > hconcat ["funny(" :: OF, rep(x) :: OF, ")" :: OF]; > } > hashUpdate!(h: HashState, x: %): HashState == hashUpdate!(h, rep x); > 0: % == per(0$Rep); > 1: % == per(1$Rep); > _-(x: %): % == per(-rep x); > characteristic(): NonNegativeInteger == characteristic()$Rep; > } > ======================================== > (1) -> )co funny.as > Compiling FriCAS source code from file > /home/hemmecke/scratch/funny.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. > Internal warning: Use Env called outside gl0Prog (glvLexFormats is NULL) > Compiling Lisp source code from file ./funny.lsp > Issuing )library command for funny > Reading /home/hemmecke/scratch/funny.asy > FunnySeries is now explicitly exposed in frame frame1 > FunnySeries will be automatically loaded when needed from > /home/hemmecke/scratch/funny > (1) -> I ==> Integer > > Type: > Void > (2) -> Q ==> Fraction I > Type: > Void > (3) -> L ==> UnivariateLaurentSeries(Q, v, c) > Type: > Void > (4) -> S ==> FunnySeries(Q, v, c) > Type: > Void > (5) -> c: Q := 0 > > (5) 0 > Type: > Fraction(Integer) > (6) -> v: Symbol := "z" :: Symbol > > (6) z > Type: > Symbol > (7) -> l1: L := 1$L > > (7) 1 > Type: > UnivariateLaurentSeries(Fraction(Integer),z,0) > (8) -> lx := integrate(l1) > > (8) z > Type: > UnivariateLaurentSeries(Fraction(Integer),z,0) > (9) -> s1: S := l1 :: S > > (9) funny(1) > Type: > FunnySeries(Fraction(Integer),z,0) > (10) -> sx := lx :: S > > (10) funny(z) > Type: > FunnySeries(Fraction(Integer),z,0) > (11) -> s2 := s1 * s1 > > (11) funny(2) > Type: > FunnySeries(Fraction(Integer),z,0) > (12) -> l2 := s2 :: L > > (12) 2 > Type: > UnivariateLaurentSeries(Fraction(Integer),z,0) > (13) -> integrate l2 > > (13) 2z > Type: > UnivariateLaurentSeries(Fraction(Integer),z,0) > (14) -> s2x := integrate(l2)::S > > (14) funny(2z) > Type: > FunnySeries(Fraction(Integer),z,0) > (15) -> s2x * sx > > (15) funny(3z) > Type: > FunnySeries(Fraction(Integer),z,0) > (16) -> lx * lx > > 2 > (16) z > Type: > UnivariateLaurentSeries(Fraction(Integer),z,0) > (17) -> sx2:=(lx * lx) :: S > > 2 > (17) funny(z ) > Type: > FunnySeries(Fraction(Integer),z,0) > (18) -> sx2*sx > > 2 > (18) funny(z + z ) > Type: > FunnySeries(Fraction(Integer),z,0) > (19) -> sx2*sx*s1 > > 2 > (19) funny(1 + z + z ) > Type: > FunnySeries(Fraction(Integer),z,0) > (20) -> sx2+sx2 > > > >> System error: > The value 2 is not of type CONS. > > (20) -> sx+sx2 > > > >> System error: > The value 1 is not of type CONS. > > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com. > To post to this group, send email to sage-devel@googlegroups.com. > Visit this group at http://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/groups/opt_out. > > -- William Stein Professor of Mathematics University of Washington http://wstein.org -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/groups/opt_out.