diff --git a/book/2008-06.txt b/book/2008-06.txt index 6f14f50..835c361 100644 --- a/book/2008-06.txt +++ b/book/2008-06.txt @@ -1,23 +1,17 @@ \start -From: Tim Daly Date: Sun, 1 Jun 2008 05:19:19 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080601.01.tpd.patch (bookvol8/graphics - documentation) +Subject: 20080601.01.tpd.patch (bookvol8/graphics documentation) bookvol8 -- Axiom Graphics documentation work Document the .Xdefaults, Shell variables, file formats, graphics APIs, and X11 APIs. - - - \start -From: Tim Daly Date: Mon, 2 Jun 2008 05:27:50 -0500 +From: Tim Daly To: list -Cc: Subject: 20080603.01.tpd.patch (remove src/graph/view2d) src/graph/view2d has been replaced by bookvol8. @@ -5274,13 +5268,10 @@ index 4e089c2..0000000 -\end{thebibliography} -\end{document} - - \start -From: Tim Daly Date: Mon, 2 Jun 2008 09:29:19 -0500 -To: list, axiom-math@nongnu.org -Cc: +From: Tim Daly +To: list Subject: APL, J, and Axiom documentation I have been looking at the question of documenting Axiom's algorithms. @@ -5306,21 +5297,11 @@ where Has anyone here used the language, besides myself? -Tim - - - - - - - \start Date: Mon, 02 Jun 2008 07:38:48 -0700 From: Ed Borasky To: Tim Daly -Subject: Re: APL, J, and Axiom documentation - recognized. -Cc: list, axiom-math@nongnu.org +Subject: Re: APL, J, and Axiom documentation recognized. Tim Daly wrote: > I have been looking at the question of documenting Axiom's algorithms. @@ -5345,19 +5326,6 @@ Tim Daly wrote: > j1=: 1 BesselJ > > Has anyone here used the language, besides myself? -> -> Tim -> -> -> -> -> -> -> _______________________________________________ -> Axiom-developer mailing list -> list -> http://lists.nongnu.org/mailman/listinfo/axiom-developer -> Actually, I think the "open-source" dialect of APL is called "A-Plus", not J. I don't think there's an open-source J implementation. @@ -5366,15 +5334,10 @@ I've never used any APL -- it was always on my list of things to do but I never had an opportunity to get paid for it, so other things got learned. :) - - - \start -To: Date: Tue, 3 Jun 2008 01:36:51 +0200 (CEST) From: Waldek Hebisch -Cc: open-axiom-devel , - axiom-dev +To: list Subject: Re: [fricas-devel] makeAxExportForm Ralf Hemmecke wrote: @@ -5394,21 +5357,11 @@ Above makeAxExportForm is makeAxFile which is almost identical to makeAxExportForm but prints the result to a file (named by the filename argument). --- - Waldek Hebisch -Waldek Hebisch - - - \start Date: Tue, 3 Jun 2008 14:23:37 -0700 From: Scott Morrison To: Tim Daly Subject: Re: APL, J, and Axiom documentation - boundary="----=_Part_6436_3534162.1212528217576" -Cc: list, axiom-math@nongnu.org - -------=_Part_6436_3534162.1212528217576 Hi Tim, @@ -5439,38 +5392,11 @@ documentation? I must admit, I just don't get this idea. Can you enlighten me? --- Scott - -------=_Part_6436_3534162.1212528217576 - -Hi Tim,

This seems like a bizarre idea to me.  Why would you document one program with another program?  Who's to say the J program is correct?  This would mean:

1) You have to code everything twice, with the second implementation in a very obscure language.
-2) You need to verify that both implementations are correct.  How can we ever guarantee that?
3) You need to learn an obscure language which is understood by almost nobody.

If I wanted to learn something about the implementation of the BesselJ function, seeing this would mean nothing to me.
-
-> BesselJ=: 1 : '(i.0) H. (1+m.)@(_0.25&*)@*: * ^&m.@-: % (!m.)"_'
- ->
- ->where
- -> J0=: 0 BesselJ
- -> j1=: 1 BesselJ
-
-Since the documentation for the program contains another program, doesn't that program need to be documented too?  Also, using J baffles me.  APL is known for being very concise, but nearly unreadable.  Why would that help documentation?
-
I must admit, I just don't get this idea.  Can you enlighten me?

-- Scott


- -------=_Part_6436_3534162.1212528217576-- - - - \start Date: Tue, 3 Jun 2008 19:35:20 -0400 From: Tim Daly To: Scott Morrison - (Scott Morrison) Subject: Re: APL, J, and Axiom documentation - <8b811e360806031423v5f6aa878s14963e842bc6b68a@mail.gmail.com> -Cc: list, axiom-math@nongnu.org >This seems like a bizarre idea to me. Why would you document one program >with another program? Who's to say the J program is correct? This would @@ -5537,16 +5463,11 @@ added a piecewise Gamma function to Axiom in February and have been looking at the special functions since then. J seems to be a good fit in this area, hence the original remark. -Tim - - - \start Date: Tue, 3 Jun 2008 22:52:52 -0400 From: Ted Kosan To: Tim Daly Subject: Re: APL, J, and Axiom documentation -Cc: list, axiom-math@nongnu.org Tim wrote: @@ -5567,18 +5488,11 @@ If Fortress was suitable for what you had in mind, my thought is that there is a chance that Sun would provide funding for encoding Axiom's algorithms in it. -Ted - - - \start Date: Wed, 4 Jun 2008 01:28:28 -0400 From: Tim Daly To: Ted Kosan - (Ted Kosan) Subject: Re: APL, J, and Axiom documentation - <9d9ff120806031952j4dbeace2mf4442096c4a61555@mail.gmail.com> -Cc: list, axiom-math@nongnu.org >> I have been looking at the question of documenting Axiom's algorithms. >> @@ -5655,20 +5569,11 @@ Math (Fortran), Business (COBOL), or Engineering (Fortran) departments. Maybe in 10 years.... -Tim - - - - - - \start Date: Wed, 4 Jun 2008 01:03:52 -0400 From: Ted Kosan To: Tim Daly -Cc: list, axiom-math@nongnu.org -Subject: Re: Axiom marketing and funding (was APL, J, - and Axiom documentation) +Subject: Re: Axiom marketing and funding (was APL, J, and Axiom documentation) Tim wrote @@ -5711,18 +5616,11 @@ funding, but I must warn people that my strategies are unconventional and so it may take some time to explain them. I am willing to discuss them, however, if anyone is interested in pursuing this further :-) -Ted - - - \start Date: Wed, 4 Jun 2008 01:33:37 -0400 From: Ted Kosan To: Tim Daly Subject: Re: APL, J, and Axiom documentation - <9d9ff120806031952j4dbeace2mf4442096c4a61555@mail.gmail.com> - <200806040528.m545SSI02178@localhost.localdomain> -Cc: list, axiom-math@nongnu.org Tim wrote: @@ -5752,15 +5650,10 @@ commerce" community. The marketing person in me can't help but think that Axiom's algorithms would be very useful for helping to achieve this goal. -Ted - - - \start -From: Tim Daly Date: Wed, 4 Jun 2008 03:08:01 -0500 +From: Tim Daly To: list -Cc: Subject: 20080604.01.tpd.patch (bookvol8 extract view3d) Extract the view3d function from bookvol8 during build. @@ -7343,19 +7236,11 @@ index 16267c2..1daad5b 100644 view3ddocument: ${SRC}/graph/view3d/Makefile @echo 11 documenting ${SRC}/graph/view3d - - \start Date: Wed, 4 Jun 2008 04:43:35 -0400 From: Tim Daly To: Ted Kosan - (Ted Kosan) Subject: Re: APL, J, and Axiom documentation - <9d9ff120806031952j4dbeace2mf4442096c4a61555@mail.gmail.com> - <200806040528.m545SSI02178@localhost.localdomain> - <9d9ff120806032233k5e62021ev46d3bc7234f26904@mail.gmail.com> -Cc: list, axiom-math@nongnu.org - >Another thing that comes across fairly clearly in the talk is that Sun >is planning to use Fortress as a way to create a large scientific @@ -7430,24 +7315,11 @@ that others have already climbed would be heartbreaking. -Tim - - - - - - - \start Date: Wed, 4 Jun 2008 06:20:16 -0500 From: Gabriel Dos Reis To: Tim Daly Subject: Re: APL, J, and Axiom documentation - <9d9ff120806031952j4dbeace2mf4442096c4a61555@mail.gmail.com> - <200806040528.m545SSI02178@localhost.localdomain> - <9d9ff120806032233k5e62021ev46d3bc7234f26904@mail.gmail.com> - <200806040843.m548hZZ02547@localhost.localdomain> -Cc: list, axiom-math@nongnu.org On Wed, Jun 4, 2008 at 3:43 AM, Tim Daly wrote: >>Another thing that comes across fairly clearly in the talk is that Sun @@ -7465,22 +7337,15 @@ On Wed, Jun 4, 2008 at 3:43 AM, Tim Daly wrote: > algebra system. I participated in that conference. I think people just disagreed and -did what they -thought they should do. I don't think anyone had any specific feeling -with respect to you because you were of different opinion. - --- Gaby - - +did what they thought they should do. I don't think anyone had any +specific feeling with respect to you because you were of different +opinion. \start Date: Wed, 04 Jun 2008 07:13:26 -0700 From: Ed Borasky To: Tim Daly Subject: Re: APL, J, and Axiom documentation - <200806032335.m53NZK101978@localhost.localdomain> - recognized. -Cc: list, axiom-math@nongnu.org root wrote: > J/APL has advantage of forcing you to think about the solution to @@ -7504,16 +7369,11 @@ two thirds of the spectrum. Perhaps someone would pick up the third?? But I really think the YAGNI principle needs to be observed here. You Ain't Gonna Need It! :) - - \start Date: Wed, 04 Jun 2008 07:24:36 -0700 From: Ed Borasky To: Tim Daly Subject: Re: APL, J, and Axiom documentation - <200806040528.m545SSI02178@localhost.localdomain> - recognized. -Cc: list, axiom-math@nongnu.org root wrote: > I had a 2D parser on my desk at IBM. Our Scratchpad group had an @@ -7565,17 +7425,11 @@ product. It couldn't compete in its market place and now resides (mostly) in open source. Now there's Sage, which promises to give other commercial math packages a run for their money. - - - \start Date: Wed, 4 Jun 2008 12:54:06 -0400 From: Tim Daly To: Ed Borasky Subject: Re: APL, J, and Axiom documentation - <200806032335.m53NZK101978@localhost.localdomain> - <4846A306.6020801@cesmail.net> -Cc: list, axiom-math@nongnu.org >> J/APL has advantage of forcing you to think about the solution to >> a problem in a completely orthogonal way to the usual programming @@ -7676,20 +7530,10 @@ interface. Architecturally this isn't that far from the possible, which just leaves the minor issue of coding :-) -Tim - - - - - \start Date: Wed, 04 Jun 2008 13:04:50 -0700 From: Arthur Ralfs -To: , list -Message-id: <4846F562.1010800@shaw.ca> -MIME-version: 1.0 - recognized. -Cc: +To: list Subject: aldor concern Tim, Waldek, Gaby, @@ -7711,17 +7555,11 @@ aldor for the end user but I will not continue using axiom/fricas/open-axiom if aldor becomes an essential component. -Arthur - - - \start Date: Wed, 4 Jun 2008 18:22:56 -0400 From: Tim Daly To: Arthur Ralfs - Jun 2008 13:04:50 -0700) Subject: Re: aldor concern -Cc: , list >so I put the question if any of you are 100% committed to maintaining >your project as a free software project. I do not object to @@ -7756,16 +7594,10 @@ object to being paid to do it, I wouldn't do it for the pay. :-) So be assured that Axiom will remain free. -Tim - - - - \start -To: open-axiom-devel@lists.sf.net -From: Gabriel Dos Reis Date: 04 Jun 2008 17:13:26 -0500 -Cc: list, +From: Gabriel Dos Reis +To: list Subject: Re: [fricas-devel] aldor concern Arthur Ralfs writes: @@ -7795,18 +7627,10 @@ OpenAxiom is under the BSD license and will remain so. OpenAxiom will support libraries written in Aldor, but OpenAxiom's own algebra will not depend on Aldor. --- Gaby - - - \start Date: Wed, 04 Jun 2008 17:09:59 -0700 From: Arthur Ralfs -To: list, -Message-id: <48472ED7.70902@shaw.ca> -MIME-version: 1.0 - recognized. -Cc: +To: list Subject: re: aldor concerns Tim, Waldek, Gaby, @@ -7814,30 +7638,21 @@ Tim, Waldek, Gaby, Thank you very much for allaying my fears about creeping aldorization. -Arthur - - - \start -From: Tim Daly Date: Thu, 5 Jun 2008 01:49:44 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080605.01.tpd.patch (remove view3d directory - and files) +Subject: 20080605.01.tpd.patch (remove view3d directory and files) The view3d files are now part of bookvol8. They have been removed from the source tree. ======================================================================= (patch text omitted due to size) - - \start -From: Tim Daly Date: Fri, 6 Jun 2008 03:45:08 -0500 +From: Tim Daly To: list -Cc: Subject: 20080606.01.tpd.patch (make viewman from bookvol8) Make the viewman program directly from bookvol8 @@ -8385,13 +8200,10 @@ index 5fc687f..cf4f7b6 100644 @ \subsection{The viewalone directory} - - \start -From: Tim Daly Date: Sat, 7 Jun 2008 11:20:12 -0500 +From: Tim Daly To: list -Cc: Subject: 20080606.02.tpd.patch (remove view The src/graph/viewman directory was removed. @@ -10826,15 +10638,11 @@ index d7df451..0000000 -#include "com.h" -#include "globalsm.h" - - \start -From: Tim Daly Date: Sat, 7 Jun 2008 11:30:26 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080606.03.tpd.patch (correct pathnames in - changelog) +Subject: 20080606.03.tpd.patch (correct pathnames in changelog) The pathnames in changelog for 20080606.02.tpd.patch were incomplete. ===================================================================== @@ -10871,15 +10679,11 @@ index e0e7f6f..4f67a6d 100644 20080605 tpd src/graph/Makefile extract viewman from bookvol8 20080604 tpd src/graph/Makefile remove fileformats - - \start -From: Tim Daly Date: Sat, 7 Jun 2008 12:39:46 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080607.01.tpd.patch (make viewalone from - bookvol8) +Subject: 20080607.01.tpd.patch (make viewalone from bookvol8) Make the viewalone function from bookvol8. A test case (parabola.view) is created from the data description @@ -11504,15 +11308,11 @@ index cf4f7b6..0c3407b 100644 <> - - \start -From: Tim Daly Date: Sat, 7 Jun 2008 12:50:28 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080607.02.tpd.patch (Remove src/graph/viewalone - directory) +Subject: 20080607.02.tpd.patch (Remove src/graph/viewalone directory) Remove src/graph/viewalone directory. Use bookvol8. ========================================================================= @@ -14290,15 +14090,11 @@ index af969a7..0000000 -extern char pathname[256]; - - - \start -From: Tim Daly Date: Sat, 7 Jun 2008 13:20:12 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080607.03.tpd.patch (FAQ 48: Getting Axiom - sources from git) +Subject: 20080607.03.tpd.patch (FAQ 48: Getting Axiom sources from git) FAQ 48: Getting Axiom sources from git ======================================================================= @@ -14350,13 +14146,10 @@ index d9ba9a3..4cbe9af 100644 +for further information. - - \start -From: Tim Daly Date: Sat, 7 Jun 2008 21:31:12 -0500 +From: Tim Daly To: list -Cc: Subject: 20080608.01.tpd.patch (Make gdraws from bookvol8) Make gdraws from bookvol8. @@ -14891,15 +14684,11 @@ index 0c3407b..69f0647 100644 ${SRC}/graph/viewalone/Makefile: ${BOOK} @echo 18 making ${SRC}/graph/viewalone/Makefile from ${BOOK} - - \start -From: Tim Daly Date: Sat, 7 Jun 2008 21:41:25 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080608.02.tpd.patch (remove gdraws directory, - use bookvol8) +Subject: 20080608.02.tpd.patch (remove gdraws directory, use bookvol8) remove gdraws directory, use bookvol8 ======================================================================== @@ -18121,16 +17910,11 @@ index 693428d..0000000 -\end{thebibliography} -\end{document} - - - \start -From: Tim Daly Date: Sun, 8 Jun 2008 07:53:27 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080608.03.tpd.patch (remove src/graph, - use bookvol8) +Subject: 20080608.03.tpd.patch (remove src/graph, use bookvol8) The src/graph directory no longer exists. The whole graphics subsystem is now in book volume 8. @@ -19908,15 +19692,10 @@ index ebb9f2d..5644071 100644 @ \section{The Makefile} - - \start Date: Mon, 09 Jun 2008 23:19:07 +0200 From: Ralf Hemmecke -To: axiom-dev , - open-axiom-devel , - fricas-devel < > -Cc: +To: list Subject: Attributes The file xpoly.spad.pamphlet (LIECAT.spad) contains @@ -19936,46 +19715,33 @@ relation to the AttributeRegistry in /src/algebra/attreg.spad.pamphlet? What should be considered the original source? -Ralf - - - \start -From: Tim Daly Date: Tue, 10 Jun 2008 13:44:47 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080609.01.tpd.patch (move hypertex into - bookvol7) +Subject: 20080609.01.tpd.patch (move hypertex into bookvol7) The source code for hypertex, htsearch, spadbuf, hthits, ex2ht and htadd has been migrated to bookvol7. ======================================================================= (patch text elided for size) - - \start -From: Tim Daly Date: Tue, 10 Jun 2008 14:05:29 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080609.02.tpd.patch (remove unused files in - src/hyper) +Subject: 20080609.02.tpd.patch (remove unused files in src/hyper) Since the source code is now in bookvol7, the sources in src/hyper are no longer used and have been removed. ==================================================================== (patch text removed for size) - - \start Date: Wed, 11 Jun 2008 00:04:39 +0200 From: Bertfried Fauser To: list -Subject: Re: 20080609.02.tpd.patch (remove unused files in - src/hyper) +Subject: Re: 20080609.02.tpd.patch (remove unused files in src/hyper) Hi, @@ -19992,27 +19758,12 @@ dosify has no help page, dosify -h and dosify --help give no usage. Google search for doify gives lyrics links :( deeply dosified -BF. --- -% PD Dr Bertfried Fauser -% Privat Docent: University of Konstanz, Physics Dept - -% contact |-> URL : http://clifford.physik.uni-konstanz.de/~fauser/ -% Phone : +49 1520 9874517 - - \start Date: Tue, 10 Jun 2008 16:16:31 -0600 From: Zach Smith To: Bertfried Fauser -Subject: Re: 20080609.02.tpd.patch (remove unused files in - src/hyper) - boundary="----=_Part_7805_12990695.1213136191694" - <275293a60806101504n4afbbd5n208cf5dabd44ba8b@mail.gmail.com> -Cc: list - -------=_Part_7805_12990695.1213136191694 +Subject: Re: 20080609.02.tpd.patch (remove unused files in src/hyper) Is it possible that this is just a program that changes the *nix style line-feeds terminated lines to the DOS style carrage-return + line-feeds @@ -20042,67 +19793,12 @@ Bertfried Fauser> wrote: > Google search for doify gives lyrics links :( > > deeply dosified -> BF. -> -- -> % PD Dr Bertfried Fauser -> % Privat Docent: University of Konstanz, Physics Dept -> -> % contact |-> URL : http://clifford.physik.uni-konstanz.de/~fauser/ -> % Phone : +49 1520 9874517 -> -> -> _______________________________________________ -> Axiom-developer mailing list -> list -> http://lists.nongnu.org/mailman/listinfo/axiom-developer -> - -------=_Part_7805_12990695.1213136191694 - -Is it possible that this is just a program that changes the *nix style line-feeds terminated lines to the DOS style carrage-return + line-feeds terminated lines for ascii text files?  If it just scanned over the bytes of a binary file, that would certainly screw it up.  On my Slackware box there is a program like this called `todos' and inverse command called `fromdos' which would assumedly fix the problem, if that were the problem...
-
Zach


On Tue, Jun 10, 2008 at 4:04 PM, Bertfried Fauser <Bertfried Fauser> wrote:
-Hi,
-
-sorry for posting this here, but for one of you this might be just a
-minor problem.
-
-In the aldor distribution is a program dosify, which does some
-mysterious things certain files (it destroys for example pdfs).
-By accident in a program dosify ran on my machine and destroyed many filed.
-
-Is this reversible is there an undosify?
-
-dosify has no help page, dosify -h and dosify --help give no usage.
-Google search for doify gives lyrics links :(
-
-deeply dosified
-BF.
---
-% PD Dr Bertfried Fauser
-% Privat Docent: University of Konstanz, Physics Dept
-<http://www.uni-konstanz.de>
-% contact |-> URL : http://clifford.physik.uni-konstanz.de/~fauser/
-% Phone : +49 1520 9874517
-

-
-_______________________________________________
-Axiom-developer mailing list
-list
-http://lists.nongnu.org/mailman/listinfo/axiom-developer
-

- -------=_Part_7805_12990695.1213136191694-- - - \start Date: Wed, 11 Jun 2008 00:28:29 +0200 From: Ralf Hemmecke To: Bertfried Fauser -Subject: Re: 20080609.02.tpd.patch (remove unused files - in src/hyper) - <275293a60806101504n4afbbd5n208cf5dabd44ba8b@mail.gmail.com> -Cc: list +Subject: Re: 20080609.02.tpd.patch (remove unused files in src/hyper) Hi Bertfried, @@ -20120,28 +19816,20 @@ Perhaps you try unixify which should lie in the same directory. I have however no idea whether that is really the invers of dosify also for binary files. For that you have to investigate the C source. -Ralf - - - \start -From: Tim Daly Date: Tue, 10 Jun 2008 22:47:21 -0500 +From: Tim Daly To: list -Cc: Subject: 20080610.01.tpd.patch (build bookvol11) This patch builds bookvol11 from the books subdirectory. ====================================================================== (patch elided due to size) - - \start -From: Tim Daly Date: Tue, 10 Jun 2008 22:55:05 -0500 +From: Tim Daly To: list -Cc: Subject: 20080610.02.tpd.patch (stop redundant builds) The preconditions on the stanzas for axiom.sty were moved up further @@ -20306,14 +19994,11 @@ index a509824..ecc0ca2 100644 20080609 tpd src/hyper/bitmaps removed (use bookvol7) - \start -From: Tim Daly Date: Fri, 13 Jun 2008 10:36:07 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080612.01.tpd.patch (general form updates for - books) +Subject: 20080612.01.tpd.patch (general form updates for books) The Makefile machinery has been refined, bookvol10 has been expanded, bookvol11 is now built from the books directory, and the whole set now @@ -23214,15 +22899,11 @@ index b40d07f..5914820 100644 These are the pages for the Axiom Firefox browser interface. They can be expanded in parallel since they (currently) need no - - \start -From: Tim Daly Date: Fri, 13 Jun 2008 23:43:18 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080613.01.tpd.patch (compress viewman.c to a - single file) +Subject: 20080613.01.tpd.patch (compress viewman.c to a single file) The viewman program is now a single C file. The index has been improved. @@ -25506,15 +25187,11 @@ index e4f1428..b783c96 100644 20080612 tpd books/bookvol11 point to The Axiom Literate Documentation 20080612 tpd books/bookvol10 point to The Axiom Literate Documentation - - \start -From: Tim Daly Date: Sat, 14 Jun 2008 18:32:30 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080614.01.tpd.patch (compress viewalone to a - single C file) +Subject: 20080614.01.tpd.patch (compress viewalone to a single C file) The viewalone function is now a single C file derived from bookvol8. ===================================================================== @@ -26431,13 +26108,10 @@ index b783c96..5abd176 100644 20080612 tpd books/bookvol12 point to The Axiom Literate Documentation 20080612 tpd books/bookvol11 point to The Axiom Literate Documentation - - \start +Date: Sun, 15 Jun 2008 18:41:46 +0400 From: Anatoly Raportirenko To: list -Date: Sun, 15 Jun 2008 18:41:46 +0400 - charset="us-ascii" Subject: axiom bookvols Hello Tim @@ -26457,14 +26131,11 @@ case all bookmarks will be available in pdf. Anatoly - - \start Date: Sun, 15 Jun 2008 13:05:36 -0400 From: Tim Daly To: Anatoly Raportirenko Subject: Re: axiom bookvols -Cc: list >-\documentclass{book} >+\documentclass[dvipdfm]{book} @@ -26476,14 +26147,11 @@ Cc: list Excellent idea. Done. --Tim - - \start Date: Sun, 15 Jun 2008 13:34:47 -0400 From: Tim Daly To: Anatoly Raportirenko Subject: Re: axiom bookvols -Cc: list >-\documentclass{book} >+\documentclass[dvipdfm]{book} @@ -30016,14 +29684,10 @@ dvips: Could not find figure file pdf:eann; continuing ] ps2pdf bookvol1.ps - - - \start -From: Tim Daly Date: Tue, 17 Jun 2008 23:26:25 -0500 -To: jas@cs.tufts.edu -Cc: list +From: Tim Daly +To: Judith Stafford Subject: Senior Software Engineering Project Dr Judith Stafford, @@ -30181,13 +29845,10 @@ A single literate document containing the ideas and the prototype code. Footnote: Axiom is a free and open source computer algebra project. Visit - - \start Date: Thu, 19 Jun 2008 00:33:06 -0400 From: Tim Daly -To: list, sage-devel@googlegroups.com -Cc: +To: list Subject: Lisp code development I know there are several people who feel that Lisp code is hard @@ -30201,26 +29862,18 @@ macros to simplify lisp code. It is a rather painless introduction to modern day lisp development. -Tim - - - \start Date: Thu, 19 Jun 2008 13:34:42 -0400 From: Tim Daly To: Anatoly Raportirenko Subject: Re: axiom bookvols -Cc: list Can you give me your full name so I can include you in the credits? - - \start From: Tim Daly Date: Thu, 19 Jun 2008 16:09:05 -0500 To: list -Cc: Subject: 20080619.01.tpd.patch (add Anatoly Raportirenko) readme add Anatoly Raportirenko @@ -30276,15 +29929,11 @@ index d451fdf..6954079 100644 "Gerhard Schneider Martin Schoenert Marshall Schor" "Frithjof Schulze Fritz Schwarz Nick Simicich" - - \start -From: Tim Daly Date: Thu, 19 Jun 2008 17:14:02 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080619.02.tpd.patch (systematically index - chunks) +Subject: 20080619.02.tpd.patch (systematically index chunks) All chunk names and uses now appear in the index. ========================================================================== @@ -30864,15 +30513,11 @@ index 5fa645b..5c6a0b8 100644 20080619 tpd src/interp/setq.lisp add Anatoly Raportirenko 20080619 axr Anatoly Raportirenko Anatoly Raportirenko - - \start -From: Tim Daly Date: Thu, 19 Jun 2008 20:54:00 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080619.03.tpd.patch (add Ralf Hemmecke - documentation to ax.boot) +Subject: 20080619.03.tpd.patch (add Ralf Hemmecke documentation to ax.boot) Add Ralf Hemmecke documentation to ax.boot. ========================================================================= @@ -31354,27 +30999,11 @@ index 2234b1e..19a8ba8 100644 \begin{verbatim} if name = '$ then name := '% - - \start Date: Sat, 21 Jun 2008 16:54:06 -0400 From: Tim Daly -To: sage-devel@googlegroups.com - (message from Robert Dodier on Sat, 21 Jun 2008 11:13:50 -0700 (PDT)) - <85b5c3130806181009r2fa90493l710781a3765e4cbc@mail.gmail.com> - <95d4521f-77ec-41c8-95ad-8e1698d5740c@26g2000hsk.googlegroups.com> - <85b5c3130806200532yd18cc11we80d737b675b8148@mail.gmail.com> - <48141346-d438-4433-b75c-f75307049069@x35g2000hsb.googlegroups.com> - <85b5c3130806200815l343e2256g5812efcfdb41f277@mail.gmail.com> - - <85b5c3130806200948i108e7582l108882ef95d92cd7@mail.gmail.com> - <85e81ba30806201054x117a66e4o5d6a1f03336f93bf@mail.gmail.com> - - <200806202054.m5KKswr30623@localhost.localdomain> - <4b22edd3-36c8-48ae-b6b5-89680329fd5c@l42g2000hsc.googlegroups.com> -Cc: list, sage-devel@googlegroups.com -Subject: Re: [sage-devel] test suites, - was: presentation about Maxima at Sage developer days +To: list +Subject: Re: [sage-devel] test suites, was: presentation about Maxima at Sage developer days >> Are there any other major test suite collections available? > @@ -31416,17 +31045,11 @@ In fact, I believe that NIST should fund such an effort to support both the quality of computational mathematics and the educational aspects of showing the "best of breed" computational algorithms. -Tim - - - \start -From: Tim Daly Date: Sun, 22 Jun 2008 12:41:07 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080620.01.wxh.patch (fix directproduct multiply - in Monoid) +Subject: 20080620.01.wxh.patch (fix directproduct multiply in Monoid) The direct product D of two (or more) copies of a monoid R is not implemented in Axiom. The scalar multiplication is implemented @@ -31643,16 +31266,10 @@ index 0000000..cc99107 +\end{thebibliography} +\end{document} - - \start Date: Sun, 22 Jun 2008 23:29:27 +0200 From: Ralf Hemmecke -To: Peter Broadbery, aldor-l , - fricas-devel < >, - axiom-dev , - open-axiom-devel -Cc: +To: Peter Broadbery Subject: axlit.as and axextend.as To whoever knows about the history of the aldor-axiom connection, @@ -31698,16 +31315,11 @@ appreciate any helpful comment. Please come forward. Thank you -Ralf - - - \start -Subject: Re: 20080620.01.wxh.patch (fix directproduct - multiply in Monoid) -To: list Date: Mon, 23 Jun 2008 00:25:09 +0200 (CEST) From: Waldek Hebisch +To: list +Subject: Re: 20080620.01.wxh.patch (fix directproduct multiply in Monoid) Tim Daly wrote: @@ -31715,32 +31327,19 @@ Tim Daly wrote: AFAIK this patch is due to Bill Page. --- - Waldek Hebisch -Waldek Hebisch - - - \start Date: Sun, 22 Jun 2008 20:03:24 -0400 From: Tim Daly To: Waldek Hebisch - Hebisch on Mon, 23 Jun 2008 00:25:09 +0200 (CEST)) -Subject: Re: 20080620.01.wxh.patch (fix directproduct - multiply in Monoid) -Cc: list +Subject: Re: 20080620.01.wxh.patch (fix directproduct multiply in Monoid) Sorry. I thought the commit was by you. -- Tim - - \start -From: Tim Daly Date: Sun, 22 Jun 2008 18:06:27 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080621.01.wxh.patch (default to close on failed - read) +Subject: 20080621.01.wxh.patch (default to close on failed read) If reading the veiwport fails, we default to close. @@ -31773,15 +31372,10 @@ index 8d9986d..2c5cacc 100644 20080619 tpd books/bookvol8 systematically index chunks 20080619 tpd readme add Anatoly Raportirenko - - \start Date: Mon, 23 Jun 2008 08:20:04 +0100 From: Peter Broadbery -To: -Cc: axiom-dev , - open-axiom-devel , - aldor-l +To: list Subject: Re: [fricas-devel] axlit.as and axextend.as On Sun, Jun 22, 2008 at 10:29 PM, Ralf Hemmecke wrote: @@ -31828,15 +31422,10 @@ Quick answer - inlining - the definitions enable aldor to inline the functions when they are used. If they were not available, the generated code would have to call out to the axiom definitions. -Peter - - - \start -From: Tim Daly Date: Wed, 25 Jun 2008 00:08:53 -0500 +From: Tim Daly To: list -Cc: Subject: Literate Functional Testing (Google Talk) The literate functional testing talk is at: @@ -31854,22 +31443,12 @@ The tests need to be: composable -- the tests should be reused in different contexts extensible -- should be able to extend the framework in customer domain -Tim - - - - \start Date: Thu, 26 Jun 2008 10:35:41 -0400 From: Bill Page To: Alasdair McAndrew - <1d67a53c0806251718u2556546dv6bab792afe49d58f@mail.gmail.com> -Cc: Cyganski , - list, - fricas-devel < >, - open-axiom-devel , - axiom-mail@nongnu.org Subject: Re: [Axiom-mail] gnuplot on axiom-wiki +Cc: David Cyganski Alasdair, diff --git a/book/2008-07.txt b/book/2008-07.txt index 9b7d6db..d6fc23a 100644 --- a/book/2008-07.txt +++ b/book/2008-07.txt @@ -1,8 +1,7 @@ \start -From: Tim Daly Date: Fri, 4 Jul 2008 18:44:52 -0500 +From: Tim Daly To: list -Cc: Subject: 20080701.01.tpd.patch (update faq for X11 libs) Bring the faq up to date with recent X11 lib information @@ -49,15 +48,11 @@ index 4cbe9af..095810f 100644 FAQ 2: axiom.sty is not found =================================================================== - - \start -From: Tim Daly Date: Fri, 4 Jul 2008 18:51:42 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080704.01.tpd.patch (add Samantha Goldrich to - credits) +Subject: 20080704.01.tpd.patch (add Samantha Goldrich to credits) Add Samantha Goldrich to credits ======================================================================== @@ -112,16 +107,10 @@ index 6954079..f6e1c05 100644 "Richard Harke Vilya Harvey Martin Hassner" "Arthur S. Hathaway Dan Hatton Waldek Hebisch" - - - \start Date: Mon, 7 Jul 2008 19:36:33 -0400 From: Bill Page To: David Joyner -Cc: list, - open-axiom-devel , - fricas-devel < > Subject: SIGSAM article on Axiom David, @@ -130,18 +119,12 @@ Thank you for your excellent article on Axiom in: http://www.sigsam.org/cca/issues/issue164.html -Regards, -Bill Page. - - - \start Date: Tue, 8 Jul 2008 17:05:39 +0200 (CEST) From: Fabio Stumbo To: list Subject: About axiom.sty - I have a (small) problem with axiom.sty: I am writing a pamphlet file considering it a as tex file, using the chunck enviroment. For this, of course, I use the package axiom.sty. @@ -158,36 +141,21 @@ with my modified style, or not, in which case you might consider modifying it (it seems to me we can assume that quite often amsmath is a loaded package) -Regards. - -Fabio - - - \start Date: Tue, 8 Jul 2008 15:35:51 -0400 From: Tim Daly To: list -CC: list - (Fabio Stumbo) -Subject: Re: About axiom.sty - recognized. +Subject: Re: About axiom.sty recognized. axiom.sty should be placed last in the include list. axiom.sty uses \providecommand which will define the macro only if it does not already exist so it will not cause redefinition conflicts. -Tim - - - \start Date: Wed, 9 Jul 2008 09:40:30 +0200 (CEST) From: Fabio Stumbo To: list Subject: Re: About axiom.sty - <200807081935.m68JZpT32348@localhost.localdomain> - recognized. > axiom.sty should be placed last in the include list. > axiom.sty uses \providecommand which will define the macro only @@ -197,19 +165,10 @@ You are right. Many thanks and please forgive me for a try that I should have done before posting. I can only say I had memory that I already tried this and didn't work. -Fabio - - - \start Date: Tue, 15 Jul 2008 15:22:07 -0400 From: Bill Page To: Gregory Vanuxem - - <1215710329.3338.24.camel@ellipse> -Cc: list, - open-axiom-devel , - fricas-devel < > Subject: Re: [Axiom-mail] Two hyperdoc questions SGkgR3JlZywKCkkgYW0gc3VyZSB0aGF0IHRoZSBGcmlDQVMsIE9wZW5BeGlvbSBhbmQvb3IgQXhp @@ -228,13 +187,10 @@ IHBsZWFzZSwgbGV0IG1lIGtub3cgaWYgeW91IGVuY291bnRlciBhbnkgYnVncy4KPgo+IEdyZWcK Pgo+IFsxXSDvu79JIG5vIGxvbmdlciBjb25zaWRlciBpdCBhcyBleHBlcmltZW50YWwgYW5kIGFt IHVzaW5nIGl0Cj4K - - \start -From: Tim Daly Date: Tue, 15 Jul 2008 15:26:47 -0500 +From: Tim Daly To: list -Cc: Subject: 20080715.01.tpd.patch (bookvol7.1 hyperdoc pages) As of this patch all of the hyperdoc programs are built directly from @@ -255,17 +211,11 @@ The remaining files from src/hyper will be removed shortly. The patch is too large to attach. -Tim - - - \start -From: Tim Daly Date: Tue, 15 Jul 2008 17:27:14 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080715.03.gxv.patch (mousewheel handling by - Greg Vanuxem) +Subject: 20080715.03.gxv.patch (mousewheel handling by Greg Vanuxem) Greg Vanuxem added mousewheel handling to hyperdoc. @@ -305,13 +255,10 @@ index 3779e6a..49034fa 100644 20080715 tpd books/bookvol7 move htadd to bookvol7.1 20080715 tpd books/bookvol7.1 construct hypertex pages - - \start -From: Tim Daly Date: Wed, 16 Jul 2008 00:34:52 -0500 +From: Tim Daly To: list -Cc: Subject: 20080715.04.tpd.patch (remove ht.db from bookvol7) The ht.db processing stanza was removed and the all: stanza @@ -371,13 +318,10 @@ index 49034fa..2c353c7 100644 20080715 tpd src/Makefile add bookvol7.1 20080715 tpd books/bookvol7 move htadd to bookvol7.1 - - \start -From: Tim Daly Date: Wed, 16 Jul 2008 10:14:48 -0500 +From: Tim Daly To: list -Cc: Subject: Version Numbers and Linus I found this truly amusing, especially the comments: @@ -407,15 +351,10 @@ some storms) so the "version" refers to the month and year of the release. Development is done in git so particular versions can be exactly recovered from the git HEAD numbers. -Tim - - - \start -From: Tim Daly Date: Wed, 16 Jul 2008 18:11:17 -0500 +From: Tim Daly To: list -Cc: Subject: SVN failure on Sourceforge.net All axiom development is done in git. The silver version @@ -446,16 +385,11 @@ in git, cvs and arch. Source code control programs should "just work" and SVN does not. What a horrible waste of good development cycles. -Tim - - - \start Date: Wed, 16 Jul 2008 21:39:31 -0500 From: Gabriel Dos Reis To: Tim Daly Subject: Re: SVN failure on Sourceforge.net -Cc: list On Wed, Jul 16, 2008 at 6:11 PM, Tim Daly wrote: > All axiom development is done in git. The silver version @@ -485,19 +419,11 @@ I would not be surprised if the migration is not finished yet Programmers know when to blame the tools, not the operators. --- Gaby - - - \start Date: Thu, 17 Jul 2008 00:59:55 -0400 From: Tim Daly To: Gabriel Dos Reis - (Gabriel Dos Reis) Subject: Re: SVN failure on Sourceforge.net - <206fcf960807161939t2086665ew51b688ff32bdf1e@mail.gmail.com> - recognized. -Cc: list >> All axiom development is done in git. The silver version >> is available in git at axiom-developer.org. The "released @@ -551,37 +477,22 @@ You only notice a tool when it breaks. And I have direct comparative results of these tools. git never breaks. SVN does. At least for me. You may not have seen SVN fail. - - - The SVN silver repo on sourceforge is now current again. -Tim - - - \start -From: Tim Daly Date: Wed, 16 Jul 2008 22:41:48 -0500 +From: Tim Daly To: list -Cc: Subject: Hyperdoc and scroll wheel I bought a scroll wheel mouse today and tested the patch to hyperdoc by Greg. It works. -Tim - - - \start Date: Wed, 16 Jul 2008 23:42:02 -0500 From: Gabriel Dos Reis To: Tim Daly Subject: Re: SVN failure on Sourceforge.net - <206fcf960807161939t2086665ew51b688ff32bdf1e@mail.gmail.com> - <200807170459.m6H4xtG13616@localhost.localdomain> -Cc: list On Wed, Jul 16, 2008 at 11:59 PM, Tim Daly wrote: @@ -608,13 +519,10 @@ between you and SVN :-) -- Gaby, in the middle of syncing all his SVN repos, before hitting the road. - - \start -From: Tim Daly Date: Thu, 17 Jul 2008 00:24:05 -0500 +From: Tim Daly To: list -Cc: Subject: 20080717.03.tpd.patch (remove src/graph) The src/graph directory is no longer used and is removed. @@ -3095,16 +3003,11 @@ index 0a8e34e..0000000 -#endif - - - - - \start -Subject: Re: Hyperdoc and scroll wheel +Date: Thu, 17 Jul 2008 20:50:57 +0200 From: Gregory Vanuxem To: Tim Daly -Date: Thu, 17 Jul 2008 20:50:57 +0200 -Cc: list +Subject: Re: Hyperdoc and scroll wheel Le mercredi 16 juillet 2008 =E0 22:41 -0500, Tim Daly a =E9crit : @@ -3115,19 +3018,11 @@ Of course it works :-) Thanks for the inclusion of this code. -Greg - - - - - \start -From: Tim Daly Date: Fri, 18 Jul 2008 02:45:26 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080718.01.tpd.patch (bookvol7.1 hyperdoc - additional documentation) +Subject: 20080718.01.tpd.patch (bookvol7.1 hyperdoc additional documentation) bookvol7.1 (hyperdoc pages) has been updated including: @@ -3152,17 +3047,11 @@ tree can be found by looking at the table of contents for "Axiom Hyperdoc Top Level" or rootpage.ht. The image is followed by hyperlinks to the next level of pages. -Tim - - - \start -From: Tim Daly Date: Sat, 19 Jul 2008 01:07:21 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080719.01.tpd.patch (bookvol7.1 more - documentation) +Subject: 20080719.01.tpd.patch (bookvol7.1 more documentation) Several changes including: @@ -3176,17 +3065,11 @@ possible to nagivate the PDF as though it were the actual browser. The patch is too large to post. -Tim - - - \start -From: Tim Daly Date: Sat, 19 Jul 2008 09:17:26 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080720.01.tpd.patch (bookvol7.1 hyperdoc - documentation added) +Subject: 20080720.01.tpd.patch (bookvol7.1 hyperdoc documentation added) Further documentation of hyperdoc. @@ -5148,32 +5031,14 @@ index b40f003..22e2b78 100644 20080718 tpd books/ps/v71basiccommand.eps added 20080718 tpd books/ps/v71man0page.eps added - - - \start Date: Sun, 20 Jul 2008 22:02:03 -0400 From: Tim Daly -To: sage-devel@googlegroups.com - (message from Michael_D_G on Sun, 20 Jul 2008 16:03:46 -0700 (PDT)) - <0887e0a7-fbac-45d3-9639-8e815ee6daa5@s50g2000hsb.googlegroups.com> - <4870903E.1020507@math.univ-lyon1.fr> - - <7ae676150807061438t6796669fva1443249c0cf059d@mail.gmail.com> - - <85e81ba30807172223w25c917e4gc9a868834b606ea4@mail.gmail.com> - - <85e81ba30807180543t2fe693fcg8f23054a28730dc2@mail.gmail.com> - - <85e81ba30807201430l47ef67c6u4b89919b50f82947@mail.gmail.com> - <0be52ebf-d402-4e32-9a60-92bb986aa9d3@j22g2000hsf.googlegroups.com> - recognized. -Cc: michaeldg@gmail.com, list, - sage-devel@googlegroups.com +To: list Subject: Re: [sage-devel] Re: Identification with ldap. +Cc: Michael Grossberg - -> michaeldg@gmail.com writes: +> Michael Grossberg writes: > > Yes, yes, it is easy to criticize and whats really needed is energy > and effort... well I hope to try some more... but the structure of the @@ -5214,30 +5079,12 @@ or give up and rewrite it. Do you want your code to live? -Tim - - - \start -Subject: re: [sage-devel] Re: Identification with ldap. +Date: Sun, 20 Jul 2008 18:05:49 -0700 From: Ed Borasky To: Tim Daly - <0887e0a7-fbac-45d3-9639-8e815ee6daa5@s50g2000hsb.googlegroups.com> - <4870903E.1020507@math.univ-lyon1.fr> - - <7ae676150807061438t6796669fva1443249c0cf059d@mail.gmail.com> - - <85e81ba30807172223w25c917e4gc9a868834b606ea4@mail.gmail.com> - - <85e81ba30807180543t2fe693fcg8f23054a28730dc2@mail.gmail.com> - - <85e81ba30807201430l47ef67c6u4b89919b50f82947@mail.gmail.com> - <0be52ebf-d402-4e32-9a60-92bb986aa9d3@j22g2000hsf.googlegroups.com> - <200807210202.m6L223024313@localhost.localdomain> -Date: Sun, 20 Jul 2008 18:05:49 -0700 - recognized. -Cc: michaeldg@gmail.com, list, - sage-devel@googlegroups.com +Subject: re: [sage-devel] Re: Identification with ldap. +Cc: Michael Grossberg On Sun, 2008-07-20 at 22:02 -0400, root wrote: @@ -5252,37 +5099,12 @@ Axiom was clearly designed to live, rather than solve an immediate problem. But how much code is out there that was designed with a 30-year horizon? --- -Ed Borasky -ruby-perspectives.blogspot.com - -"A mathematician is a machine for turning coffee into theorems." -- -Alfréd Rényi via Paul Erdős - - - - \start Date: Sun, 20 Jul 2008 23:09:33 -0400 From: Tim Daly To: Ed Borasky Subject: re: [sage-devel] Re: Identification with ldap. - <0887e0a7-fbac-45d3-9639-8e815ee6daa5@s50g2000hsb.googlegroups.com> - <4870903E.1020507@math.univ-lyon1.fr> - - <7ae676150807061438t6796669fva1443249c0cf059d@mail.gmail.com> - - <85e81ba30807172223w25c917e4gc9a868834b606ea4@mail.gmail.com> - - <85e81ba30807180543t2fe693fcg8f23054a28730dc2@mail.gmail.com> - - <85e81ba30807201430l47ef67c6u4b89919b50f82947@mail.gmail.com> - <0be52ebf-d402-4e32-9a60-92bb986aa9d3@j22g2000hsf.googlegroups.com> - <200807210202.m6L223024313@localhost.localdomain> - <1216602349.2244.8.camel@DreamScape> - recognized. -Cc: michaeldg@gmail.com, list, - sage-devel@googlegroups.com +Cc: Michael Grossberg >> Do you want your code to live? > @@ -5331,19 +5153,10 @@ effort, ought to try for a higher standard and a longer horizon. I really wish they would hire a team with a mandate to make this code literate. -Tim - - - - - \start Date: Mon, 21 Jul 2008 09:20:24 -0400 From: Bill Page To: Alfredo Portes -Cc: list, - open-axiom-devel , - fricas-devel < > Subject: Re: Hints Hello Alfredo, @@ -5390,21 +5203,12 @@ On Mon, Jul 21, 2008 at 8:57 AM, Alfredo Portes wrote: > anymore. I do not if it would be hard to implement this again. > I see the last edit to the Wiki, it seems the user had a problem > because of this. -> -> Thank you, -> -> Alfredo -> - - \start -From: Tim Daly Date: Tue, 22 Jul 2008 10:45:41 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080721.01.tpd.patch (bookvol7.1 hyperdoc - specific macros) +Subject: 20080721.01.tpd.patch (bookvol7.1 hyperdoc specific macros) This patch creates some hyperdoc-specific macros to simplify page handling. In particular, it adds: @@ -5441,13 +5245,10 @@ bookvol7.1 is now automatically part of the combined table of contents PDF. ======================================================================= The patch is too large to post. - - \start -From: Tim Daly Date: Wed, 23 Jul 2008 02:08:27 -0500 +From: Tim Daly To: list -Cc: Subject: Axiom July 2008 release The July 2008 release marks the second large-scale change toward a @@ -5578,16 +5379,10 @@ In addition there were several other changes. * add Monoid multiply to DirectProduct (Ralf Hemmecke) * add Monoid multiply regression test -Tim - - - \start -From: Tim Daly Date: Thu, 24 Jul 2008 00:57:52 -0500 -To: list, sage-devel@googlegroups.com, - sci.math.symbolic@googlegroups.com -Cc: +From: Tim Daly +To: list Subject: Reproducible Research Repository The Ecole Polytechnique Federale De Lausanne has introduced @@ -5614,16 +5409,11 @@ The introductory headline reads: to more and more algorithms and can spend time inventing new things rather than recreating existing ones. - - \start -Subject: Re: Reproducible Research Repository +Date: Wed, 23 Jul 2008 23:01:37 -0700 From: Ed Borasky +Subject: Re: Reproducible Research Repository To: Tim Daly -Date: Wed, 23 Jul 2008 23:01:37 -0700 - recognized. -Cc: sci.math.symbolic@googlegroups.com, list, - sage-devel@googlegroups.com On Thu, 2008-07-24 at 00:57 -0500, Tim Daly wrote: > The Ecole Polytechnique Federale De Lausanne has introduced @@ -5655,26 +5445,11 @@ I have a number of links to "reproducible research" from the R langauge tool set -- it's patterned after "noweb" but has no external dependencies. In addition, there is an excellent LyX front-end to all of it. --- -Ed Borasky -ruby-perspectives.blogspot.com - -"A mathematician is a machine for turning coffee into theorems." -- -AlfrĂ©d RĂ©nyi via Paul ErdĹ‘s - - - \start Date: Wed, 23 Jul 2008 23:33:55 -0700 (PDT) -Complaints-To: groups-abuse@google.com -Injection-Info: i76g2000hsf.googlegroups.com; posting-host=72.23.19.139; - posting-account=m2ufuQoAAAAnP4mhpj2-bRzndif0-AIg -NNTP-Posting-Host: 72.23.19.139 - Gecko/2008070208 Firefox/3.0.1,gzip(gfe),gzip(gfe) From: Tim Daly To: list -Cc: list Subject: Literate Programming and Reproducible Results The Ecole Polytechnique Federale De Lausanne has introduced @@ -5687,25 +5462,19 @@ Have you ever tried to reproduce the results presented in a research paper? For many of our current publications, this would unfortunately be a challenging task. For a computational algorithm, details such as the exact dataset, initialization or termination procedures and -precise -parameter values are often omitted in the publication for various -reasons. This makes it difficult, if not impossible, for someone else -to -obtain the same results. To address the problem, we have started -making our research reproducible. Instead of only describing the -developed algorithms to =91sufficient=92 precision in an article, we give -readers access to all the information (code, data, schemes, etc.) -that -was used to produce the presented results as first advocated by Knuth -and Claerbout. We are convinced that making research reproducible is -not only a matter of good practice, but also increases the impact of -our -publications and makes it easier to build upon each other=92s work. It -is a -clear win-win situation for our community: we will have access to -more -and more algorithms and can spend time inventing new things rather -than recreating existing ones. +precise parameter values are often omitted in the publication for +various reasons. This makes it difficult, if not impossible, for +someone else to obtain the same results. To address the problem, we +have started making our research reproducible. Instead of only +describing the developed algorithms to =91sufficient=92 precision in +an article, we give readers access to all the information (code, data, +schemes, etc.) that was used to produce the presented results as +first advocated by Knuth and Claerbout. We are convinced that making +research reproducible is not only a matter of good practice, but also +increases the impact of our publications and makes it easier to build +upon each other=92s work. It is a clear win-win situation for our +community: we will have access to more and more algorithms and can +spend time inventing new things rather than recreating existing ones. I am a firm believer in Knuth's Literate Programming and in the need @@ -5713,13 +5482,12 @@ to have full publication of the program as well as the research paper in the field of computational mathematics (CM). Too often in the CM area the only surviving artifact of an algorithm -is -a 5 page paper in a conference publication. There is no need to limit -publications to the constraint of paper. Conference proceedings can -be published electronically. With the adoption of some reasonable, +is a 5 page paper in a conference publication. There is no need to +limit publications to the constraint of paper. Conference proceedings +can be published electronically. With the adoption of some reasonable, minimal standards it should be possible to "drag-and-drop" a paper -onto a running system and have it installed immediately. Indeed, -it could even occur at the conference while attending the talk which +onto a running system and have it installed immediately. Indeed, it +could even occur at the conference while attending the talk which would allow the audience to run the algorithm immediately. Combining the research paper with the actual code will raise the @@ -5729,17 +5497,11 @@ to make derivative algorithms we could see a whole history of the development of important results (say, new Groebner basis enhancements) with a clear history of prior art. -Tim Daly - - - \start -From: Tim Daly Date: Fri, 25 Jul 2008 02:00:19 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080724.01.tpd.patch (document lisp calls from - hyperdoc pages) +Subject: 20080724.01.tpd.patch (document lisp calls from hyperdoc pages) There is a new hyperdoc page (LispFunctions) that collects all of the lisp calls made from within hyperdoc pages. This will be used to @@ -5748,7 +5510,6 @@ tree-shake the interpreter code and eliminate unused functions. In addition, there are new cross-references between pages and some unused macros were deleted. -Tim ========================================================================= diff --git a/books/bookvol7.1.pamphlet b/books/bookvol7.1.pamphlet @@ -6951,30 +6712,21 @@ index 9a475ea..7d6a881 100644 20080530 tpd books/ps/23dcolb.ps 20080530 tpd books/ps/23dpal.ps - - \start -From: Tim Daly Date: Fri, 25 Jul 2008 02:01:27 -0500 +From: Tim Daly To: list -Cc: Subject: new binaries available Binaries for the July 2008 release of Axiom for redhat72, redhat9, ubuntu, and fedora5 are available at: -Tim - - - \start -From: Tim Daly Date: Fri, 25 Jul 2008 18:30:54 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080725.01.tpd.patch (reflow for line latex - overflows) +Subject: 20080725.01.tpd.patch (reflow for line latex overflows) The verbatim block causes line overflows due to the use of capitals. This was changed in all 14 documents. @@ -8030,39 +7782,26 @@ index 7d6a881..6ab41bf 100644 20080722 tpd (July 2008) release 20080721 tpd books/bookvol7.1 docs/corrections/updates - - \start -From: Tim Daly Date: Fri, 25 Jul 2008 18:36:10 -0500 +From: Tim Daly To: list -Cc: Subject: binaries The opensuse and fedora6 binaries are available. -Tim - - - \start -From: Tim Daly Date: Sat, 26 Jul 2008 13:51:24 -0500 +From: Tim Daly To: list -Cc: Subject: binaries fedora8 and fedora9 binaries are available -- Tim - - \start Date: Sun, 27 Jul 2008 02:03:12 -0400 From: Bill Page To: Alfredo Portes -Cc: list, - open-axiom-devel , - fricas-devel < >, aldor-l Subject: Re: RISC Alfredo, @@ -8143,16 +7882,10 @@ time permits, I will try to add more in follow-up comments. I hope some of the other people who were there will also offer their perspectives and comments here. -Regards, -Bill Page. - - - \start -From: Tim Daly Date: Sun, 27 Jul 2008 14:28:02 -0500 +From: Tim Daly To: list -Cc: Subject: 20080727.01.tpd.patch (update What's New pages) Update the What's New pages in Hyperdoc, including new images. @@ -8391,15 +8124,11 @@ index 6ab41bf..c5aab40 100644 20080725 tpd books/bookvol1 fix copyright latex line overflows 20080725 tpd books/bookvol2 fix copyright latex line overflows - - \start -From: Tim Daly Date: Mon, 28 Jul 2008 21:15:57 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080728.01.tpd.patch (expand - RootPage->Topics->Numbers) +Subject: 20080728.01.tpd.patch (expand RootPage->Topics->Numbers) Expand the page documentation for RootPage->Topics->Numbers. Fix up known broken links. @@ -11543,16 +11272,10 @@ index c5aab40..c7f6eb7 100644 20080727 tpd books/ps/v71january2008.eps added 20080727 tpd books/ps/v71july2008.eps added - - \start Date: Tue, 29 Jul 2008 13:17:27 +0200 From: Ralf Hemmecke -To: - -Cc: list, - open-axiom-devel , - aldor-l +To: list Subject: Re: [fricas-devel] Re: RISC > Here is a fairly accurate updated schedule of the workshop prepared @@ -11584,15 +11307,10 @@ appears at the conference page. Maybe others add their summaries, too, so we can share our knowledge and help to strengthen the still very small Aldor & panAxiom community. -Ralf - - - \start -From: Tim Daly Date: Tue, 29 Jul 2008 15:09:34 -0500 +From: Tim Daly To: list -Cc: Subject: 20080729.01.tpd.patch (expand next tree level) rootpage->topics->numbers->integers expanded @@ -11701,13 +11419,10 @@ index c7f6eb7..877d3bc 100644 20080728 tpd books/ps/v71binaryexpansionxmppage.eps added 20080728 tpd books/ps/v71cardinalnumberxmppage.eps added - - \start -From: Tim Daly Date: Tue, 29 Jul 2008 19:07:33 -0500 +From: Tim Daly To: list -Cc: Subject: 20080729.02.tpd.patch (more hyperdoc pages 1 of 2) Most of the files in this patch are eps files and are not listed here @@ -11737,13 +11452,10 @@ index 877d3bc..524cdbb 100644 20080729 tpd books/ps/v71integerexamplepage.eps added 20080729 tpd books/ps/v71integerproblempage.eps added - - \start -From: Tim Daly Date: Tue, 29 Jul 2008 19:13:47 -0500 +From: Tim Daly To: list -Cc: Subject: 20080729.03.tpd.patch (bookvol7.1 part 2 of 2) part 2 of 2 patch with updates to the primes and factorization branch @@ -12238,16 +11950,10 @@ index c022143..a595b42 100644 \begin{page}{ugCategoriesAndPackagesPage}{12.12. Anonymous Categories} \beginscroll - - \start Date: Fri, 01 Aug 2008 01:03:20 +0200 From: Ralf Hemmecke -To: Peter Broadbery, - fricas-devel < >, - axiom-dev , - open-axiom-devel -Cc: +To: Peter Broadbery Subject: AXIOMsys vs depsys Dear Peter, dear "whoever knows about the following" diff --git a/book/2008-08.txt b/book/2008-08.txt index 2ee7860..2f0eeaa 100644 --- a/book/2008-08.txt +++ b/book/2008-08.txt @@ -1,12 +1,9 @@ \start -To: Ralf Hemmecke -From: Martin Rubey Date: 01 Aug 2008 09:00:48 +0200 -Cc: Peter Broadbery, - fricas-devel < >, - open-axiom-devel , - axiom-dev +From: Martin Rubey +To: Ralf Hemmecke Subject: Re: [open-axiom-devel] AXIOMsys vs depsys +Cc: Peter Broadbery Ralf Hemmecke writes: @@ -65,14 +62,10 @@ real 0m0.068s user 0m0.032s sys 0m0.004s - - - \start Date: Fri, 1 Aug 2008 12:46:44 -0700 -From: Adam Williamson +From: Adam Williamson To: list - recognized. Subject: Compile failure on Linux x86-64 (Error 255) Hi, all. I am updating old packages in Mandriva, and I've come to @@ -114,18 +107,12 @@ http://kenobi.mandriva.com/queue/failure/cooker/contrib/release/20080801190334.a but it'll disappear in a few days. Just to note again, the build works on i586. So this appears to be x86-64 specific in some way. --- -adamw - - \start -From: Tim Daly Date: Sat, 9 Aug 2008 23:21:29 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080802.01.tpd.patch (build ht.db from - bookvol7.1) +Subject: 20080802.01.tpd.patch (build ht.db from bookvol7.1) There is no reason to extract the pages from the pamphlet file. Instead we modify the htadd function to use the pamphlet file directly. @@ -134,15 +121,10 @@ With this patch bookvol7.1 replaces all of the .ht files with a single file. The hyperdoc browser now fetches pages directly from the pamphlet. -Tim - - - \start -From: Tim Daly Date: Sun, 10 Aug 2008 00:54:56 -0500 +From: Tim Daly To: list -Cc: Subject: 20080809.01.tpd.patch (remove pages subdirectory) Hyperdoc now gets all of its page and patch file information @@ -166,13 +148,10 @@ The ht.db file is now created in the doc subdirectory. +20080806 tpd books/bookvol7.1 add paste/patch files +20080806 tpd books/pages/*.pht embed in bookvol7.1, removed - - \start -From: Tim Daly Date: Mon, 11 Aug 2008 19:11:14 -0500 +From: Tim Daly To: list -Cc: Subject: Doyen live CD image Alfredo has created an Ubuntu-based Live CD image of Axiom @@ -181,18 +160,13 @@ for the July 2008 release. It is available from the downloads page: Thanks for this effort. -Tim - - - \start -To: Adam Williamson -Subject: Re: Compile failure on Linux x86-64 (Error 255) -From: Martin Rubey Date: 14 Aug 2008 09:30:15 +0200 -Cc: list, fricas-devel < > +From: Martin Rubey +To: Adam Williamson +Subject: Re: Compile failure on Linux x86-64 (Error 255) -Adam Williamson writes: +Adam Williamson writes: > Hi, all. I am updating old packages in Mandriva, and I've come to > Axiom. Our current package is for a version from 2005, and doesn't @@ -204,16 +178,10 @@ and ms windows, using configure and make. Moreover, you can choose to use a variety of common lisp implementations to build it (eg., sbcl, clisp, ecl, Closure CL, gcl) and are not tied to gcl. -Marting - - - - \start -From: Tim Daly Date: Fri, 15 Aug 2008 01:25:13 -0500 +From: Tim Daly To: list -Cc: Subject: New web page for patches All of the patches applied to Axiom are available on a new web page: @@ -222,17 +190,11 @@ as well as the release notes for each release. Summary headers for each patch will be included as time permits. -Tim - - - \start -From: Tim Daly Date: Fri, 15 Aug 2008 14:41:04 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080814.01.tpd.patch (Use uncompress at build - time) +Subject: 20080814.01.tpd.patch (Use uncompress at build time) This fix bugs 7115, 7117. Hyperdoc graphics patch files which use viewports crashes. @@ -308,13 +270,10 @@ index 11a9c9f..1667f96 100644 20080809 tpd src/Makefile stop creating the doc/hypertex/pages subdir 20080809 tpd src/input/Makefile remove reference to hyperdoc/pages - - \start -From: Tim Daly Date: Fri, 15 Aug 2008 17:24:31 -0500 +From: Tim Daly To: list -Cc: Subject: Changes and Plans The patch files are now available from the Axiom website. @@ -377,18 +336,10 @@ work is planned to port pages from hyperdoc. Firefox is a superset of hyperdoc and contains new pages which are not in hyperdoc. Grahics can now be run from firefox pages. -Tim - - - \start Date: Fri, 15 Aug 2008 23:53:25 -0400 From: Tim Daly To: Ralf Hemmecke - 16 Aug 2008 00:44:47 +0200) - recognized. -Cc: , list, - aldor-l@aldor.org Subject: Re: [Aldor-l] Fortress >I think now I understand what allowing Unicode in a programming language @@ -437,18 +388,11 @@ standard mathematical notations. And, of course, the latex-like output as an input form would interact very well with a literate description of the algorithms. -Tim - - - - \start -From: Tim Daly Date: Sat, 16 Aug 2008 10:52:58 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080815.01.tpd.patch (make firefox pages before - input tests) +Subject: 20080815.01.tpd.patch (make firefox pages before input tests) Reorder the sequence of system builds so that testing is last. Also fix a typo in the Makefile, as the last patch dropped a $. @@ -491,15 +435,11 @@ index 1667f96..ff04512 100644 20080814 tpd books/bookvol7.1 uncompress viewport directory images 20080814 tpd Makefile add UNCOMPRESS - - \start -From: Tim Daly Date: Sun, 17 Aug 2008 00:27:37 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080816.01.tpd.patch (comment out long running - test) +Subject: 20080816.01.tpd.patch (comment out long running test) tutchap2 has a test that runs about half the time it takes for the whole build. this test is commented out. @@ -528,15 +468,11 @@ index ae81f5f..2fcb523 100644 g2(x) == % G := 2*x - - \start -From: Tim Daly Date: Sun, 17 Aug 2008 00:37:48 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080816.02.tpd.patch add additional regression - tests +Subject: 20080816.02.tpd.patch add additional regression tests Add additional regression tests. ====================================================================== @@ -3767,13 +3703,10 @@ index 49460a9..ea9b453 100644 \eject \begin{thebibliography}{99} - - \start -From: Tim Daly Date: Sun, 17 Aug 2008 15:06:15 -0500 +From: Tim Daly To: list -Cc: Subject: 20080817.01.tpd.patch (fix uncompress) There is an interaction between the makefile syntax and the shell @@ -3802,13 +3735,10 @@ index 5a3a67b..7603cef 100644 20080816 tpd src/input/test.input create regression 20080816 tpd src/input/regset.input create regression - - \start -From: Tim Daly Date: Sun, 17 Aug 2008 21:57:43 -0500 +From: Tim Daly To: list -Cc: Subject: 20080817.02.tpd.patch (recover function.input) The input file function.input had several outstanding bugs. @@ -4246,13 +4176,10 @@ index dc331f4..8e2c181 100644 \eject \begin{thebibliography}{99} - - \start -From: Tim Daly Date: Sun, 17 Aug 2008 23:57:21 -0500 +From: Tim Daly To: list -Cc: Subject: Example documentation for exposed functions Making Axiom easier to use is a primary goal and user documentation is @@ -9504,13 +9431,10 @@ zoom from ThreeDimensionalViewport ~= from BasicType - - \start Date: Mon, 18 Aug 2008 09:24:13 +0200 From: Ralf Hemmecke To: Tim Daly -Cc: list Subject: Executed Examples in documentation ---> Testsuite Dear Tim, @@ -9544,20 +9468,11 @@ should send to a bugtracker. Just some strange ideas... -Ralf - - - \start Date: Mon, 18 Aug 2008 09:06:40 -0400 From: Tim Daly To: Ralf Hemmecke - Mon, 18 Aug 2008 09:24:13 +0200) - <48A9239D.4000005@hemmecke.de> - recognized. -Cc: list -Subject: Re: Executed Examples in documentation ---> - Testsuite +Subject: Re: Executed Examples in documentation ---> Testsuite > > there is a new extension to the syntax to add examples. Essentially > > any line that begins with ++E will be output as Example documentation @@ -9621,20 +9536,11 @@ weakness in writing shell scripts. Ideally the user just runs "bugreport" and everything gets sent to us. Axiom used to have such a shell script when I worked at IBM. I'll see if I can find a copy. -Tim - - - - \start Date: Mon, 18 Aug 2008 14:07:38 +0200 From: Ralf Hemmecke To: Tim Daly - <48A9239D.4000005@hemmecke.de> - <200808181306.m7ID6e926562@localhost.localdomain> -Cc: list -Subject: Re: Executed Examples in documentation ---> - Testsuite +Subject: Re: Executed Examples in documentation ---> Testsuite > Ideally the user just runs "bugreport" and everything gets sent to > us. @@ -9643,19 +9549,11 @@ Note that people want to see what gets sent to a remote site. No system nowadays sends any information of the user system automatically, but rather pop up a window. See for example how bugs are sent in firefox. -Ralf - - - \start Date: Mon, 18 Aug 2008 14:14:50 +0200 From: Ralf Hemmecke To: Tim Daly - <48A9239D.4000005@hemmecke.de> - <200808181306.m7ID6e926562@localhost.localdomain> -Cc: list -Subject: Re: Executed Examples in documentation ---> - Testsuite +Subject: Re: Executed Examples in documentation ---> Testsuite >> You could also move some checking time to the users machine. At the time >> the documentation is rendered, the commands in ++E are executed and @@ -9683,22 +9581,11 @@ that would not be a problem, because the user asked for it. Well of course, you must check that the user did not modify the ++E stuff before you compare with ++R. -Ralf - - - \start Date: Mon, 18 Aug 2008 10:13:48 -0400 From: Tim Daly To: Ralf Hemmecke - 18 Aug 2008 14:14:50 +0200) - <48A9239D.4000005@hemmecke.de> - <200808181306.m7ID6e926562@localhost.localdomain> - <48A967BA.70101@hemmecke.de> - recognized. -Cc: list -Subject: Re: Executed Examples in documentation ---> - Testsuite +Subject: Re: Executed Examples in documentation ---> Testsuite >But you remember there were pages in hyperdoc that could be explicitly >executed by pressing a button. So if that is connected to ++E and ++R @@ -9778,22 +9665,11 @@ also come directly from the .pamphlet file. I can modify the extraction process to filter out the ++E/++R testing syntax lines automatically. Then they do not show up in user displays but are automatically tested. -Tim - - - \start Date: Mon, 18 Aug 2008 10:16:24 -0400 From: Tim Daly To: Ralf Hemmecke - Mon, 18 Aug 2008 14:07:38 +0200) - <48A9239D.4000005@hemmecke.de> - <200808181306.m7ID6e926562@localhost.localdomain> - <48A9660A.7010905@hemmecke.de> - recognized. -Cc: list -Subject: Re: Executed Examples in documentation ---> - Testsuite +Subject: Re: Executed Examples in documentation ---> Testsuite >> Ideally the user just runs "bugreport" and everything gets sent to >> us. @@ -9810,21 +9686,11 @@ There is no magic, just some automation of the tedious bits. There is bug automation in firefox? Interesting. Perhaps I can use the same mechanism in the new firefox frontend. -Tim - - - \start Date: Mon, 18 Aug 2008 15:03:18 +0200 From: Ralf Hemmecke To: Tim Daly - <48A9239D.4000005@hemmecke.de> - <200808181306.m7ID6e926562@localhost.localdomain> - <48A967BA.70101@hemmecke.de> - <200808181413.m7IEDmI26606@localhost.localdomain> -Cc: list -Subject: Re: Executed Examples in documentation ---> - Testsuite +Subject: Re: Executed Examples in documentation ---> Testsuite > process to filter out the ++E/++R testing syntax lines automatically. @@ -9845,43 +9711,22 @@ compiler can access it. All I want to say is. The +++ documentation should not be considered as a primary documentation format. It is too unstructured. -Ralf - - - \start Date: Mon, 18 Aug 2008 10:29:38 -0400 From: Tim Daly To: Ralf Hemmecke - 18 Aug 2008 14:14:50 +0200) - <48A9239D.4000005@hemmecke.de> - <200808181306.m7ID6e926562@localhost.localdomain> - <48A967BA.70101@hemmecke.de> - recognized. -Cc: list -Subject: Re: Executed Examples in documentation ---> - Testsuite +Subject: Re: Executed Examples in documentation ---> Testsuite One "hole" in the documentation layering is that the )help files should show examples of the use of every function in the export list. This is currently not the case and I'll look at fixing that as part of the display test cases. -Tim - - - \start Date: Mon, 18 Aug 2008 15:05:13 +0200 From: Ralf Hemmecke To: Tim Daly - <48A9239D.4000005@hemmecke.de> - <200808181306.m7ID6e926562@localhost.localdomain> - <48A9660A.7010905@hemmecke.de> - <200808181416.m7IEGOr26617@localhost.localdomain> -Cc: list -Subject: Re: Executed Examples in documentation ---> - Testsuite +Subject: Re: Executed Examples in documentation ---> Testsuite > There is bug automation in firefox? Interesting. Perhaps I can use > the same mechanism in the new firefox frontend. @@ -9889,17 +9734,11 @@ Subject: Re: Executed Examples in documentation ---> Well, you have to wait until your firefox crashes... which happened a couple of times to me. -Ralf - - - \start -From: Tim Daly Date: Mon, 18 Aug 2008 10:43:33 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080817.03.tpd.patch (exported function - documentation) +Subject: 20080817.03.tpd.patch (exported function documentation) The following exposed functions now have )display op documentation: @@ -10305,15 +10144,11 @@ index 1e76d86..28185f1 100644 Implementation ==> RadixExpansion(2) add binary r == r :: % - - \start -From: Tim Daly Date: Mon, 18 Aug 2008 15:02:51 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080818.01.rhx.patch (demo Axiom type towers - (Hemmecke)) +Subject: 20080818.01.rhx.patch (demo Axiom type towers (Hemmecke)) Demo the Axiom type towers. ======================================================================= @@ -10620,14 +10455,10 @@ index 0000000..260d206 +\end{thebibliography} +\end{document} - - \start Date: Tue, 19 Aug 2008 01:42:01 -0400 From: Tim Daly -To: pip88nl@gmail.com - recognized. -Cc: list, aldor-l@aldor.org +To: Pippijn van Steenhoven Subject: Re: [Aldor-l] Literate programming >I am getting increasingly interested in literate programming. There are a @@ -10764,17 +10595,11 @@ Aldor needs to become literate since Stephen and Peter won't be able to answer questions forever. And the answers they have given are already sinking into the great morass of mailing list history. -Tim - - - \start -From: Tim Daly Date: Tue, 19 Aug 2008 00:50:23 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080818.02.tpd.patch (new input files (Stumbo, - Cyganski, Hemmecke)) +Subject: 20080818.02.tpd.patch (new input files (Stumbo, Cyganski, Hemmecke)) Three new input files are added for regression testing biquat.input (David Cyganski) @@ -12276,15 +12101,11 @@ index f6e1c05..e9b34ec 100644 "Mike Thomas Dylan Thurston Barry Trager" "Themos T. Tsikas" - - \start -From: Tim Daly Date: Tue, 19 Aug 2008 18:20:13 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080819.01.tpd.patch (overload.input added - (Cyganski)) +Subject: 20080819.01.tpd.patch (overload.input added (Cyganski)) Add overload.input ======================================================================= @@ -13018,13 +12839,10 @@ index 0000000..2db85a7 +\end{thebibliography} +\end{document} - - \start -From: Tim Daly Date: Wed, 20 Aug 2008 16:21:26 -0500 +From: Tim Daly To: list -Cc: Subject: 20080820.01.tpd.patch (fix typos in latex code) test.input.pamphlet had 2 typos that causes a bad latex. @@ -13062,13 +12880,10 @@ index ea9b453..eb5bb1c 100644 )clear all - - \start -From: Tim Daly Date: Thu, 21 Aug 2008 23:13:06 -0500 +From: Tim Daly To: list -Cc: Subject: 20080821.01.tpd.patch (add MappingPackage4) Modify mappkg.spad to add MappingPackage4, including algebra test @@ -14011,15 +13826,11 @@ index ea9b453..7ffe5b8 100644 )clear all - - \start -From: Tim Daly Date: Fri, 22 Aug 2008 01:49:12 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080822.01.tpd.patch (add linalg, - overload regressions) +Subject: 20080822.01.tpd.patch (add linalg, overload regressions) linalg.input and overload.input are two new regression test files ================================================================= @@ -15717,15 +15528,11 @@ index 0000000..2db85a7 +\end{thebibliography} +\end{document} - - \start -From: Tim Daly Date: Sat, 23 Aug 2008 11:59:50 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080823.01.tpd.patch (UnaryRecursiveAggregate - API examples) +Subject: 20080823.01.tpd.patch (UnaryRecursiveAggregate API examples) document concat, first, rest, last, tail, second, third, cycleEntry, cycleLength, cycleTail, concat!, cycleSplit!, setfirst!, @@ -15990,13 +15797,10 @@ index 0719be4..69b8371 100644 cycleMax ==> 1000 - - \start -From: Tim Daly Date: Sat, 23 Aug 2008 17:02:12 -0500 +From: Tim Daly To: list -Cc: Subject: 20080823.02.tpd.patch (stream API examples) For each of these functions there is an example of use printed with @@ -16339,15 +16143,11 @@ index 1d68e08..d69cbfb 100644 Implementation ==> add - - \start -From: Tim Daly Date: Sat, 23 Aug 2008 17:55:39 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080823.03.tpd.patch (++CapitalLetter syntax - change) +Subject: 20080823.03.tpd.patch (++CapitalLetter syntax change) Within Axiom, the use of ++[A-Z], that is ++ followed by any capital letter is now restricted to documentation and regression testing use @@ -16885,14 +16685,10 @@ index 7da7e73..785bb5f 100644 S ==> Symbol FOP ==> FortranOutputStackPackage - - \start Date: Mon, 25 Aug 2008 18:34:04 -0400 From: Tim Daly To: list - recognized. -Cc: Subject: must see you really have to see this series of videos. @@ -16900,13 +16696,10 @@ these people have done a truly amazing job. http://www.dimensions-math.org/Dim_regarder_E_E.htm - - \start -From: Tim Daly Date: Mon, 25 Aug 2008 20:38:22 -0500 +From: Tim Daly To: list -Cc: Subject: 20080824.01.tpd.patch (use ++X for examples lines) This change makes the syntax of regression tests and the syntax of @@ -19263,15 +19056,11 @@ index 7dca247..de87ba6 100644 PRINC cleanupLine (SUBSEQ(line,0,mark-6)) sayNewLine() - - \start -From: Tim Daly Date: Wed, 27 Aug 2008 14:16:05 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080824.02.tpd.patch (expose difference between - ^ and **) +Subject: 20080824.02.tpd.patch (expose difference between ^ and **) Although I believe ^ and ** are intended to be the same operation clearly they are not. This will require some thought: @@ -19679,15 +19468,11 @@ index e9b34ec..37b7fba 100644 "Bob McElrath Michael McGettrick Ian Meikle" "David Mentre Victor S. Miller Gerard Milmeister" - - \start -From: Tim Daly Date: Thu, 28 Aug 2008 00:13:58 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080827.01.wsp.patch (replace \over with \frac - (Page) +Subject: 20080827.01.wsp.patch (replace \over with \frac (Page) )set message tex on @@ -19729,15 +19514,11 @@ index 7577e3f..3babcb2 100644 op = " \over " => s opPrec < prec => parenthesize s - - \start -From: Tim Daly Date: Thu, 28 Aug 2008 08:28:35 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080828.01.mxr.patch (add cost to bottomUp - output (Rubey)) +Subject: 20080828.01.mxr.patch (add cost to bottomUp output (Rubey)) Function selection for overloaded functions is driven by the cost estimate of the function. This is useful information for someone @@ -19778,15 +19559,11 @@ index 8b8b0fd..e06d684 100644 mmCost0(name, sig,cond,tar,args1,args2) == - - \start -To: Tim Daly -Subject: Re: 20080828.01.mxr.patch (add cost to bottomUp - output (Rubey)) -From: Martin Rubey Date: 28 Aug 2008 16:23:54 +0200 -Cc: list +From: Martin Rubey +To: Tim Daly +Subject: Re: 20080828.01.mxr.patch (add cost to bottomUp output (Rubey)) Tim Daly writes: @@ -19801,19 +19578,11 @@ Martin > +20080828 mxr src/interp/i-funsel.boot add cost to bottomUp output - - - \start Date: Thu, 28 Aug 2008 12:10:40 -0400 From: Tim Daly To: Martin Rubey - Rubey on 28 Aug 2008 16:23:54 +0200) -Subject: Re: 20080828.01.mxr.patch (add cost to bottomUp - output (Rubey)) - <9qiqtlz091.fsf@aquin.mat.univie.ac.at> - recognized. -Cc: list +Subject: Re: 20080828.01.mxr.patch (add cost to bottomUp output (Rubey)) >> Function selection for overloaded functions is driven by the cost >> estimate of the function. This is useful information for someone @@ -19835,18 +19604,11 @@ command has been used. Someone using that command is presumed to have a clue since it is a "development" command. It is useful debugging information. -Tim - - - - \start -From: Tim Daly Date: Sat, 30 Aug 2008 00:11:38 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080829.01.tpd.patch (graphviz dotfile - decoration) +Subject: 20080829.01.tpd.patch (graphviz dotfile decoration) I've started a process to create a graph of the algebra hierarchy. The results of this are cached with each domain as a <> chunk @@ -20575,15 +20337,11 @@ index ee39ddd..7212a34 100644 )abbrev category BTAGG BitAggregate ++ Author: Michael Monagan; revised by Manuel Bronstein and Richard Jenks - - \start -From: Tim Daly Date: Sat, 30 Aug 2008 23:33:59 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080830.01.tpd.patch (graphviz dotfile - decoration) +Subject: 20080830.01.tpd.patch (graphviz dotfile decoration) dot file decoration is now available for: trigcat si sf pscat pattern patmatch1 omcat misc integer equation1 diff --git a/book/2008-09.txt b/book/2008-09.txt index 57dc9d6..3982d51 100644 --- a/book/2008-09.txt +++ b/book/2008-09.txt @@ -35,15 +35,11 @@ Is this fixed already in a newer version? Thanks! MovGP0 - - \start Date: Mon, 1 Sep 2008 12:28:43 -0400 From: Bill Page To: "Mov GP 0" Subject: Re: Counting Elements in Cyclic List -Cc: axiom-developer , - fricas-devel < > On Mon, Sep 1, 2008 at 11:42 AM, Mov GP 0 wrote: @@ -136,19 +132,11 @@ for 'cyclic?'. If this doesn't work in other forks of Axiom then it should be reported as an error. -Regards, -Bill Page. - - - \start -To: -Subject: Re: [fricas-devel] Re: Counting Elements in Cyclic - List - -From: Martin Rubey Date: 01 Sep 2008 19:00:23 +0200 -Cc: axiom-developer +From: Martin Rubey +To: list +Subject: Re: [fricas-devel] Re: Counting Elements in Cyclic List Bill Page writes: @@ -157,49 +145,29 @@ Bill Page writes: WARNING: %PositiveInfinity has no special meaning in axiom / friCAS / OpenAxiom. I suggest you use plusInfinity(), if you must. -Martin - - - - \start Date: Mon, 1 Sep 2008 14:50:15 -0400 From: Tim Daly To: Bill Page - (Bill Page) Subject: Re: Counting Elements in Cyclic List - - recognized. -Cc: list, - -Bill, Since you are posting this to the Axiom mailing list I'd suggest that you try it in Axiom and post the result. If it fails, please post a patch to this mailing list that fixes the problem. -Tim - - - \start Date: Mon, 1 Sep 2008 13:40:19 -0400 From: Bill Page To: Martin Rubey -Subject: Re: [fricas-devel] Re: Counting Elements in Cyclic - List - - <9qtzczby3c.fsf@aquin.mat.univie.ac.at> -Cc: , axiom-developer +Subject: Re: [fricas-devel] Re: Counting Elements in Cyclic List On Mon, Sep 1, 2008 at 1:00 PM, Martin Rubey wrote: > Bill Page writes: > >> (4) -> count(x) == if cyclic? x then return %PositiveInfinity else #x -> -> WARNING: %PositiveInfinity has no special meaning in axiom / friCAS / OpenAxiom. -> I suggest you use plusInfinity(), if you must. -> + +> WARNING: %PositiveInfinity has no special meaning in axiom / friCAS +> / OpenAxiom. I suggest you use plusInfinity(), if you must. You are right. Or also written: @@ -208,20 +176,11 @@ You are right. Or also written: (5) + infinity Type: OrderedCompletion Integer - -Regards, -Bill Page. - - - \start Date: Mon, 1 Sep 2008 16:27:18 -0400 From: Tim Daly To: movgp0@gmail.com - (movgp0@gmail.com) -Subject: Re: Counting Elements in Cyclic List - recognized. -Cc: list +Subject: Re: Counting Elements in Cyclic List recognized. >I'm new to axiom and tried to count the elements in a cyclic list and >expected to get %PositiveInfiniy as Answer. Instead it resulted in an @@ -257,17 +216,11 @@ See: in Volume 0: Axiom Jenks and Sutor p41 -Tim - - - \start -From: Tim Daly Date: Mon, 1 Sep 2008 20:25:13 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080831.01.tpd.patch (graphviz dotfile - decoration) +Subject: 20080831.01.tpd.patch (graphviz dotfile decoration) algfact and algext now have graphviz information ======================================================================== @@ -405,15 +358,11 @@ index 3e90bb5..7940d37 100644 )abbrev package ALGFACT AlgFactor ++ Factorization of UP AN; - - \start -From: Tim Daly Date: Mon, 1 Sep 2008 20:34:26 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080901.01.tpd.patch (add start of multivar poly - test suite) +Subject: 20080901.01.tpd.patch (add start of multivar poly test suite) A multivariate polynomial test suite is being constructed similiar to the schaums integration testing. This is the first file. @@ -3390,19 +3339,10 @@ index 0000000..eac6e13 +\end{thebibliography} +\end{document} - - - \start Date: Tue, 2 Sep 2008 02:59:14 -0700 (PDT) -Complaints-To: groups-abuse@google.com -Injection-Info: z66g2000hsc.googlegroups.com; posting-host=72.23.19.139; - posting-account=m2ufuQoAAAAnP4mhpj2-bRzndif0-AIg -NNTP-Posting-Host: 72.23.19.139 - Gecko/2008070208 Firefox/3.0.1,gzip(gfe),gzip(gfe) From: Tim Daly To: list -Cc: list Subject: Re: What is a CAS? On Sep 1, 9:42=A0am, "David Park" wrote: @@ -3474,18 +3414,11 @@ Beyond developing the algorithms, Axiom studies the problem of how to organize the algorithms into their most general setting. -Tim Daly -Axiom Lead Developer - - - \start Date: Wed, 3 Sep 2008 14:38:00 -0400 From: Tim Daly To: list -Subject: Re: Counting Elements in Cyclic List - recognized. -Cc: +Subject: Re: Counting Elements in Cyclic List recognized. >> In the documentation it states: >> "Note that using the "#" operator on a list with cycles @@ -3494,10 +3427,6 @@ Cc: >> See: >> >> in Volume 0: Axiom Jenks and Sutor p41 ->> ->> Tim ->> -> ...[private reply snip]... @@ -3508,7 +3437,6 @@ a positive integer. "%PositiveInfinite" (actually %plusInfinity in Axiom) is not a positive integer but a macro: - )d all Properties of %plusInfinity @@ -3567,19 +3495,11 @@ it needs So your complaint is noted and a TODO task has been added to the queue. -Tim - - - - - \start -From: Tim Daly Date: Thu, 4 Sep 2008 05:13:37 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080904.01.tst.patch (add reduce example - (Tsikas)) +Subject: 20080904.01.tst.patch (add reduce example (Tsikas)) add an example for reduce to the output of )d op reduce ====================================================================== @@ -3613,15 +3533,11 @@ index 7212a34..d137a42 100644 ++ reduce(f,u,x) reduces the binary operation f across u, where x is ++ the identity operation of f. - - \start -From: Tim Daly Date: Fri, 5 Sep 2008 00:25:33 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080904.02.tpd.patch (graphviz dotfile - decoration) +Subject: 20080904.02.tpd.patch (graphviz dotfile decoration) Domains from the files retract, equation1, carten, coerce, card brill, bezout, axserver, attreg, array2, array1, any, alql are @@ -4199,15 +4115,11 @@ index 8738f2c..3492d7e 100644 )abbrev package RATRET RationalRetractions ++ Author: Manuel Bronstein - - \start -From: Tim Daly Date: Sat, 6 Sep 2008 00:42:26 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080905.01.tpd.patch (graphviz dotfile - decoration) +Subject: 20080905.01.tpd.patch (graphviz dotfile decoration) The graphviz graph information has been added to the files: cra, coordsys, cont, contfrac, constant, complet, retract, combinat, @@ -4797,12 +4709,10 @@ index 3492d7e..7717c65 100644 )abbrev category FRETRCT FullyRetractableTo - \start -From: Tim Daly Date: Sat, 6 Sep 2008 23:28:01 -0500 +From: Tim Daly To: list -Cc: Subject: Axiom Abbreviated Category and Domain graph For a small subset of the algebra and showing only the abbreviations @@ -4818,19 +4728,11 @@ form and full text form. The graphs will be available in the new firefox browser front end. The plan is to key the algebra documentation to the graphs, assuming I can figure out how to hot-spot the graph. -Tim - - - \start Date: Sun, 7 Sep 2008 02:51:48 -0400 From: Tim Daly To: Ted Kosan - (Ted Kosan) Subject: Re: Axiom Abbreviated Category and Domain graph - <9d9ff120809062150k70bb58cbocb1423400e3f37cf@mail.gmail.com> - recognized. -Cc: list >> For a small subset of the algebra and showing only the abbreviations >> I have created a test page. To see the page you'll need a rather new @@ -4889,20 +4791,11 @@ And once the algebra, in all its glory, is completed I'm hoping to create a wall poster. I haven't been able to find any software that can print an image larger than a single screen. -Tim - - - \start Date: Sat, 6 Sep 2008 22:37:59 -0700 From: Mike Hansen To: Tim Daly Subject: Re: Axiom Abbreviated Category and Domain graph - <9d9ff120809062150k70bb58cbocb1423400e3f37cf@mail.gmail.com> - <200809070651.m876pmE23687@localhost.localdomain> -Cc: list - -Hello, > What I'd like to figure out is how to get the relative coordinates > of the mouse so I could use the mouse click to choose the algebra @@ -4915,15 +4808,10 @@ You'll probably want to something like http://apike.ca/prog_svg_jsanim.html. See here for an example: http://code.mincus.com/svg/3d.svg ---Mike - - - \start -From: Tim Daly Date: Sun, 7 Sep 2008 02:49:45 -0500 +From: Tim Daly To: list -Cc: Subject: Axiom Fullname Category and Domain graph For a small subset of the algebra, using the full name of the category @@ -4950,21 +4838,11 @@ computation to fix this. There is no such thing as a simple job. -Tim - - - \start Date: Sun, 7 Sep 2008 04:18:16 -0400 From: Tim Daly To: Mike Hansen - (Mike Hansen) Subject: Re: Axiom Abbreviated Category and Domain graph - <9d9ff120809062150k70bb58cbocb1423400e3f37cf@mail.gmail.com> - <200809070651.m876pmE23687@localhost.localdomain> - - recognized. -Cc: list >> What I'd like to figure out is how to get the relative coordinates >> of the mouse so I could use the mouse click to choose the algebra @@ -4981,15 +4859,11 @@ Yes, I had to do some ecmascript-ing to get the example to work. I love the 3d version you reference. I'll look further. Thanks for the pointers. - - \start -From: Tim Daly Date: Mon, 8 Sep 2008 15:43:48 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080906.01.tpd.patch (move aggcat.spad to - bookvol10) +Subject: 20080906.01.tpd.patch (move aggcat.spad to bookvol10) bookvol10 is the algebra book. aggcat.spad is gone. @@ -5000,15 +4874,10 @@ the abbreviation and fullname graph information has been added. patch is too large to post. see the website: - - \start Date: Tue, 9 Sep 2008 00:24:06 -0400 From: Tim Daly -To: pip88nl@gmail.com - <20080909014320.GB30448@xinutec.org> - recognized. -Cc: list, aldor-l@aldor.org +To: Pippijn van Steenhoven Subject: Re: [Aldor-l] Distributing Aldor Pippijn @@ -5060,20 +4929,10 @@ to strangle your work you might as well use the NAG license because you could let NAG fight in court and then you can claim a percentage of the profits (your pound of flesh, so to speak). - -Tim - - - \start Date: Tue, 9 Sep 2008 01:22:24 -0400 From: Tim Daly -To: pip88nl@gmail.com - <20080909014320.GB30448@xinutec.org> - <200809090424.m894O6N32312@localhost.localdomain> - <20080909031026.GC30448@xinutec.org> - recognized. -Cc: list, aldor-l@aldor.org +To: Pippijn van Steenhoven Subject: Re: [Aldor-l] Distributing Aldor >> I wish you would consider simply adopting the Modified BSD license. It @@ -5113,19 +4972,10 @@ You are, of course, free to choose any license you want. But a non-MBSD license just makes it harder for Axiom to use your work. NAG already caused grief, why add more? -Tim - - - \start Date: Tue, 9 Sep 2008 02:24:36 -0400 From: Tim Daly -To: pip88nl@gmail.com - <20080909014320.GB30448@xinutec.org> - <200809090424.m894O6N32312@localhost.localdomain> - <20080909031026.GC30448@xinutec.org> - recognized. -Cc: list, aldor-l@aldor.org +To: Pippijn van Steenhoven Subject: Re: [Aldor-l] Distributing Aldor >> I wish you would consider simply adopting the Modified BSD license. It @@ -5156,16 +5006,10 @@ My advice to use MBSD is based on MY goals, not yours, so you should discount everything I've said appropriately. My opinions are worth little, considering the source. -Tim - - - - \start -From: Tim Daly Date: Tue, 9 Sep 2008 11:20:30 -0500 +From: Tim Daly To: list -Cc: Subject: 20080908.01.tpd.patch (bookvol10 latex cleanup) Clean up the overlong lines in bookvol10. @@ -8797,21 +8641,13 @@ index 283d330..67e1cd4 100644 20080906 tpd src/algebra/Makefile merge aggcat.spad 20080906 tpd src/Makefile merge aggcat.spad - - \start Date: Thu, 11 Sep 2008 11:45:54 -0400 From: Tim Daly To: list - recognized. -Subject: [Matt Kaufmann: FWD: Special issue on - Programming Languages and Mechanized Mathematics Systems (JAR)] +Subject: [Matt Kaufmann: FWD: Special issue on Programming Languages and Mechanized Mathematics Systems (JAR)] ------- Start of forwarded message ------- -Date: Thu, 11 Sep 2008 08:24:25 -0500 -From: Matt Kaufmann -To: acl2@lists.cc.utexas.edu -Subject: FWD: Special issue on Programming Languages and Mechanized Mathematics Systems (JAR) CALL FOR PAPERS @@ -8897,16 +8733,11 @@ Editors of the special issue * Makarius Wenzel (Technische Universitaet Muenchen, Germany) * Freek Wiedijk (Radboud University Nijmegen, Netherlands) - - - \start -From: Tim Daly Date: Thu, 11 Sep 2008 13:40:07 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080911.01.tpd.patch (bookvol11 fix firefox - background image) +Subject: 20080911.01.tpd.patch (bookvol11 fix firefox background image) The bigbayou image was not copied to the proper place so it was not showing up in the firefox background on the root page. This fixes the @@ -8943,29 +8774,21 @@ index a72a157..a9d52fa 100644 20080908 tpd books/bookvol10 latex cleanup 20080906 tpd src/algebra/aggcat.spad removed, merged into bookvol10 - - \start -From: Tim Daly Date: Thu, 11 Sep 2008 20:34:15 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080911.02.tpd.patch (bookvol10 merge - coerce.spad) +Subject: 20080911.02.tpd.patch (bookvol10 merge coerce.spad) bookvol10 (algebra) now contains src/algebra/coerce.spad. ====================================================================== The patch is too large to post. - - \start -From: Tim Daly Date: Sat, 13 Sep 2008 00:44:18 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080912.01.tpd.patch (split bookvol10 into 10, - 10.1..4) +Subject: 20080912.01.tpd.patch (split bookvol10 into 10, 10.1..4) bookvol10 is the algebra book. It is now 5 volumes: bookvol10 Axiom Algebra: Implementation @@ -8993,13 +8816,10 @@ sys 0m0.193s 0m1.018s The patch is too large to attach. See: - - \start -To: axiom-devel -From: Stephen Wilson Date: Tue, 16 Sep 2008 10:41:53 -0400 -Cc: Stephen Wilson +From: Stephen Wilson +To: axiom-devel Subject: Of possible interest to Axiom. *, @@ -9014,33 +8834,36 @@ be thrilled to discuss the possibilities with anyone who takes interest. Take care, Steve -Stephen Wilson writes: +Stephen Wilson writes: > Hi Tim, > > I thought I would send you an email letting you know of some work that I am > doing. I do not know if this would interest you or the Axiom project so will > try to keep this message short. -> -> As you may recall, I have an interest in compilers. I wanted to improve SPAD -> and help rewrite it in CL. The boot code almost killed me and so I started -> thinking about doing things from scratch. That was about a year ago, I think. -> Since then I have been thinking about the problem and eventually made a decision -> to implement a compiler for a "small" version of SPAD, and then use that as a + +> As you may recall, I have an interest in compilers. I wanted to +> improve SPAD and help rewrite it in CL. The boot code almost killed +> me and so I started thinking about doing things from scratch. That +> was about a year ago, I think. Since then I have been thinking +> about the problem and eventually made a decision to implement a +> compiler for a "small" version of SPAD, and then use that as a > staging ground for a more powerful system. -> -> The work to produce a small language and compiler is still ongoing, but quite a -> bit of progress has been made. The system is implemented as a set of lisp -> macros (for now). An incomplete example: -> + +> The work to produce a small language and compiler is still ongoing, +> but quite a bit of progress has been made. The system is +> implemented as a set of lisp macros (for now). An incomplete +> example: + > (defdomain polynomial-ring ((R ring) (E ordered-monoid)) > (:satisfies ordered-monoid (retractable-to S)) > (:carrier rep (record (c R) (k R))) > ...) -> -> The system is in its infancy and is not ready for general consumption. But even -> now I am coming upon questions of design which would be influenced by the -> possibility that such work might be of benefit to Axiom. -> + +> The system is in its infancy and is not ready for general +> consumption. But even now I am coming upon questions of design +> which would be influenced by the possibility that such work might be +> of benefit to Axiom. + > Although the above is not much to go on, I am curious about any thoughts you > might have. Although the language is currently small, it has well defined > semantics, an ever cleaner implementation, lots of comments (could become @@ -9051,21 +8874,12 @@ Stephen Wilson writes: > Is this something of interest to Axiom? If so, I would appreciate having a > dialogue about the issues, on axiom-devel if you prefer, as it would help me > develop a picture of where this effort is headed in the long term. -> -> -> Thanks for you time, -> Steve - - - \start -From: Tim Daly Date: Tue, 16 Sep 2008 23:16:11 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080916.01.tpd.patch (bookvol10.2 document - additional categories) +Subject: 20080916.01.tpd.patch (bookvol10.2 document additional categories) bookvol10.2 axiom categories now has partial graphs, function lists, function origin information, and function/category cross references. @@ -9075,13 +8889,10 @@ and full name category graphs and recreating the partial graphs. The patch is too big to post. See: - - \start -From: Tim Daly Date: Tue, 16 Sep 2008 23:27:33 -0500 +From: Tim Daly To: list -Cc: Subject: Of possible interest to Axiom Stephen, @@ -9170,16 +8981,11 @@ index 301732a..29c2f46 100644 20080916 tpd books/ps/v102listaggregate.ps 20080916 tpd books/ps/v102finitelinearaggregate.ps corrected diagram - - \start +Date: Wed, 17 Sep 2008 21:50:00 -0400 +From: Stephen Wilson To: Tim Daly Subject: Re: Of possible interest to Axiom -From: Stephen Wilson -Date: Wed, 17 Sep 2008 21:50:00 -0400 - (Tim Daly's message of "Tue\, - 16 Sep 2008 23\:27\:33 -0500") -Cc: list Tim Daly writes: @@ -9300,21 +9106,11 @@ needing to know the mangled symbol name that actually implements the function: So a lot of the basics are there. Just a few more cycles and I should have something that I feel comfortable with releasing. - -Thanks for the feedback on this! Its very much appreciated! - -Steve - - - \start +Date: Wed, 17 Sep 2008 21:57:12 -0400 +From: Stephen Wilson To: Tim Daly Subject: Re: Of possible interest to Axiom -From: Stephen Wilson -Date: Wed, 17 Sep 2008 21:57:12 -0400 - (Tim Daly's message of "Tue\, - 16 Sep 2008 23\:29\:20 -0500") -Cc: list Tim Daly writes: @@ -9332,18 +9128,11 @@ the entier hierarchy, or just a "local view" of a domain and, say, its direct supersignatures. Or a who-calls graph for a particular function, etc. This would happen dynamically at runtime. - -Steve - - - \start -From: Tim Daly Date: Thu, 18 Sep 2008 00:31:37 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080917.02.wsp.patch (mkfunc.spad add parse - function) +Subject: 20080917.02.wsp.patch (mkfunc.spad add parse function) Add the parse function to InputForm domain. ====================================================================== @@ -9380,17 +9169,11 @@ index 6a34b58..6f7c67a 100644 declare(name := new()$Symbol, signature)$Lisp name - - \start Date: Thu, 18 Sep 2008 02:21:56 -0400 From: Tim Daly -To: wilsons@start.ca - on Wed, 17 Sep 2008 21:57:12 -0400) +To: Stephen Wilson Subject: Re: Of possible interest to Axiom - <87zlm6jjwn.fsf@lattice.localdomain> - recognized. -Cc: list >> The latest documentation work is creating a full graph of the Axiom >> algebra as part of the bookvol10* buildout. This could be useful in @@ -9678,19 +9461,12 @@ Thanks and wow!!!! This system you have developed (literate programming is WOW!!!) is excellent! -Doug - - - \start -To: axiom-devel -From: Stephen Wilson Date: Tue, 16 Sep 2008 02:50:05 -0400 - seldom 2.4 (older, 4) -Cc: +From: Stephen Wilson +To: axiom-devel Subject: Of possible interest to Axiom. - *, I sent the following message to Tim. Posting here to archive any discussion it @@ -9703,7 +9479,7 @@ be thrilled to discuss the possibilities with anyone who takes interest. Take care, Steve -Stephen Wilson writes: +Stephen Wilson writes: > Hi Tim, > > I thought I would send you an email letting you know of some work that I am @@ -9740,21 +9516,12 @@ Stephen Wilson writes: > Is this something of interest to Axiom? If so, I would appreciate having a > dialogue about the issues, on axiom-devel if you prefer, as it would help me > develop a picture of where this effort is headed in the long term. -> -> -> Thanks for you time, -> Steve - - - \start -From: Tim Daly Date: Thu, 18 Sep 2008 12:19:57 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080918.01.tpd.patch (bookvol10.2 add BASTYPE, - SETCAT, ABELSG) +Subject: 20080918.01.tpd.patch (bookvol10.2 add BASTYPE, SETCAT, ABELSG) This patch moves BASTYPE, SETCAT, and ABELSG from catdef.spad to bookvol10.2 @@ -14265,17 +14032,12 @@ index b16f4b2..bd42900 100644 <> <> - - \start Date: Thu, 18 Sep 2008 16:41:10 -0400 From: Tim Daly To: list - recognized. -Cc: Subject: Lisp50@OOPSLA - Lisp50@OOPSLA ...celebrating the 50th birthday of Lisp at OOPSLA 2008 @@ -14345,17 +14107,11 @@ Pascal Costanza, mailto:pc@p-cos.net, http://p-cos.net Vrije Universiteit Brussel, Programming Technology Lab Pleinlaan 2, B-1050 Brussel, Belgium - - - \start -From: Tim Daly Date: Fri, 19 Sep 2008 02:24:39 -0500 +From: Tim Daly To: list - seldom 2.4 (older, 4) -Cc: -Subject: 20080918.02.tpd.patch (bookvol10.2 add FINITE, - ORDSET, SGROUP) +Subject: 20080918.02.tpd.patch (bookvol10.2 add FINITE, ORDSET, SGROUP) ================================================================= diff --git a/books/bookvol10.2.pamphlet b/books/bookvol10.2.pamphlet @@ -18628,15 +18384,11 @@ index bd42900..6b2ac80 100644 <> <> - - \start -From: Tim Daly Date: Mon, 22 Sep 2008 00:39:48 -0500 +From: Tim Daly To: list -Cc: -Subject: 20080921.01.tpd.patch (September 2008 release - fixups) +Subject: 20080921.01.tpd.patch (September 2008 release fixups) Update the release banner, hyperdoc What's New page, etc. ========================================================================= @@ -23486,13 +23238,10 @@ index 0000000..3b6d76f +end +%%EOF - - \start -From: Tim Daly Date: Mon, 22 Sep 2008 03:30:04 -0500 +From: Tim Daly To: list -Cc: Subject: Axiom September 2008 release The sources for the Axiom September 2008 release are up at: @@ -23637,18 +23386,10 @@ Interpreter changes (Page) * add cost function to bottomUp output - - - - - - \start Date: Wed, 24 Sep 2008 19:11:29 -0400 From: Tim Daly -To: "Amelia Taylor"originalbrickhouse@gmail.com - recognized. -Cc: list +To: Amelia Taylor Subject: New Journal Amelia, @@ -23658,32 +23399,19 @@ I support your effort on this new Journal. The Axiom project would be glad to participate. -Tim Daly -Axiom Lead Developer - - - \start -From: Tim Daly Date: Wed, 24 Sep 2008 18:19:00 -0500 +From: Tim Daly To: list -Cc: Subject: September 2008 binaries The binaries for the new September 2008 release are available at: -Tim - - - \start Date: Wed, 24 Sep 2008 19:27:15 -0400 From: Tim Daly -To: "Amelia Taylor" , - "Gregory G. Smith" - recognized. -Cc: list +To: Amelia Taylor, Gregory Smith Subject: New Journal Amelia, Greg, @@ -23693,26 +23421,11 @@ I support your effort on this new Journal. The Axiom project would be glad to participate. -Tim Daly -Axiom Lead Developer - - - \start Date: Wed, 24 Sep 2008 19:50:24 -0400 From: Tim Daly -To: sage-devel@googlegroups.com - (message from mabshoff on Wed, 24 Sep 2008 16:25:20 -0700 (PDT)) - <85e81ba30809240849v391249b8x9becd649be3d95e5@mail.gmail.com> - <158627b90809240904v589330dave6fc4db7e2477d07@mail.gmail.com> - <85e81ba30809240908r26cebbecm6c4d5163d2676bbe@mail.gmail.com> - - <6dd4c8ce-9380-4eb0-8ac3-3bf396a90ada@k13g2000hse.googlegroups.com> - - <858ae873-4697-4489-8ad1-6984cc3f9770@b30g2000prf.googlegroups.com> - recognized. -Cc: list, sage-devel@googlegroups.com -Subject: Re: [sage-devel] Re: Fwd: New Journal +To: list +Subject: Fwd: New Journal >> Hi.  Dan Grayson sent Greg and me a message letting us know about this >> discussion and I thought it might be helpful for if I joined the @@ -23757,28 +23470,11 @@ an idea has to start somewhere and an over-general attempt might fail. I am hopeful that this journal can demonstrate the key concepts. I'm willing to volunteer time and energy to make it happen. -Tim Daly -Axiom - - - \start Date: Thu, 25 Sep 2008 10:30:26 -0400 From: Tim Daly -To: sage-devel@googlegroups.com - (john.cremona@gmail.com) - <85e81ba30809240849v391249b8x9becd649be3d95e5@mail.gmail.com> - <158627b90809240904v589330dave6fc4db7e2477d07@mail.gmail.com> - <85e81ba30809240908r26cebbecm6c4d5163d2676bbe@mail.gmail.com> - - <6dd4c8ce-9380-4eb0-8ac3-3bf396a90ada@k13g2000hse.googlegroups.com> - - <858ae873-4697-4489-8ad1-6984cc3f9770@b30g2000prf.googlegroups.com> - <200809242350.m8ONoOl30880@localhost.localdomain> - <158627b90809250238t29df3aa0u4102f70aa1241c2a@mail.gmail.com> - recognized. -Cc: list, sage-devel@googlegroups.com -Subject: Re: [sage-devel] Re: Fwd: New Journal +To: John Cremona +Subject: Fwd: New Journal John, @@ -23872,26 +23568,11 @@ possibility of thousands of users overnight. Besides, it is clearly a useful "citation" if your code is already running on the tenure committee's laptops :-) -Tim Daly -Axiom - - - - - - - - - - \start From: Tim Daly Date: Fri, 26 Sep 2008 01:36:56 -0500 To: list - seldom 2.4 (older, 4) -Cc: -Subject: 20080925.01.tpd.patch (bookvol10.2 new categories - added) +Subject: 20080925.01.tpd.patch (bookvol10.2 new categories added) All of the categories from catdef and equation1 are now in the categories book. LOGIC from boolean was also moved. @@ -23900,15 +23581,11 @@ the categories book. LOGIC from boolean was also moved. Patch too large to post. See - - \start -From: Tim Daly Date: Sat, 27 Sep 2008 11:28:07 -0500 +From: Tim Daly To: list -Cc: -Subject: - 20080926.01.tpd.patch (bookvol10.2 new categories, attributes added) +Subject: 20080926.01.tpd.patch (bookvol10.2 new categories, attributes added) A dozen new categories have been added. The attributes are now explicit, explained, and cross-referenced. @@ -23916,34 +23593,24 @@ The attributes are now explicit, explained, and cross-referenced. Patch too large. See - - \start -From: Tim Daly Date: Sun, 28 Sep 2008 17:39:08 -0500 +From: Tim Daly To: list -Cc: -Subject: - 20080927.01.tpd.patch (bookvol10.2 new categories, absorb naalgc) +Subject: 20080927.01.tpd.patch (bookvol10.2 new categories, absorb naalgc) The categories from naalgc.spad are now part of bookvol10.2 See - - - \start From: Tim Daly Date: Tue, 30 Sep 2008 05:51:23 -0500 To: list -Cc: -Subject: - 20090928.01.tpd.patch (bookvol10.2 add categories, absorb trigcat) +Subject: 20090928.01.tpd.patch (bookvol10.2 add categories, absorb trigcat) trigcat.spad is gone, now part of bookvol10.2 -Tim diff --git a/book/2008-10.txt b/book/2008-10.txt index a2298ea..f8af573 100644 --- a/book/2008-10.txt +++ b/book/2008-10.txt @@ -1,11 +1,8 @@ \start -From: Tim Daly Date: Fri, 3 Oct 2008 03:03:24 -0500 +From: Tim Daly To: list - seldom 2.4 (older, 4) -Cc: -Subject: 20081001.01.tpd.patch (bookvol10.2 add more - categories) +Subject: 20081001.01.tpd.patch (bookvol10.2 add more categories) add FiniteAlgebraicExtensionField, FiniteFieldCategory ====================================================================== @@ -3448,16 +3445,11 @@ index ba73fd5..2e4a72e 100644 filled 0.537 0.247 0.902 nodecolor - - \start -From: Tim Daly Date: Sat, 4 Oct 2008 01:43:38 -0500 +From: Tim Daly To: list - seldom 2.4 (older, 4) -Cc: -Subject: 20081002.01.tpd.patch (bookvol10.2 add more - categories) +Subject: 20081002.01.tpd.patch (bookvol10.2 add more categories) Added the following categories to bookvol10.2: @@ -3475,13 +3467,10 @@ Added the following categories to bookvol10.2: patch too big to post. See - - \start -From: Tim Daly Date: Sat, 4 Oct 2008 13:10:03 -0500 +From: Tim Daly To: list -Cc: Subject: 20081003.01.tpd.patch (bookvol10.2 add POLYCAT) Add PolynomialCategory to bookvol10.2 @@ -7508,16 +7497,11 @@ index 0000000..305de5f +restore +%%EOF - - - \start -From: Tim Daly Date: Sun, 5 Oct 2008 13:07:50 -0500 +From: Tim Daly To: list -Cc: -Subject: 20081004.01.tpd.patch (bookvol10.2 add UPOLYC, - update attributes) +Subject: 20081004.01.tpd.patch (bookvol10.2 add UPOLYC, update attributes) UPOLYC was moved from polycat.spad. @@ -7526,16 +7510,10 @@ attributes exported and the attributes used. - - \start Date: Mon, 6 Oct 2008 01:49:55 -0400 From: Tim Daly -To: wilsons@start.ca - on Mon, 29 Sep 2008 23:03:47 -0400) - <87prmml4h8.fsf@lattice.localdomain> - recognized. -Cc: list +To: Stephen Wilson Subject: Re: Some code, if you are interested. Stephen, @@ -7551,19 +7529,11 @@ recommend reviewing the clojure for lisp videos by Bill Hickey. I think he has some fundamentally useful ideas for exploiting parallelism which could be reflected into Axiom. -Tim - - - \start Date: Mon, 6 Oct 2008 02:04:00 -0400 From: Ted Kosan To: list Subject: re: Some code, if you are interested. - <87prmml4h8.fsf@lattice.localdomain> - <200810060549.m965nta13755@localhost.localdomain> - -Tim wrote: > Have you looked at clojure? I was very skeptical of this lisp-on-jvm > but he makes some very good points about scaling on multiple processors. @@ -7578,21 +7548,11 @@ designed so it could be ported to different Lisp implementations with a reasonable amount of effort. What are your thoughts on the possibility of enabling Axiom to run on Clojure? -Ted - - - \start Date: Mon, 6 Oct 2008 02:44:07 -0400 From: Tim Daly To: Ted Kosan - (Ted Kosan) Subject: re: Some code, if you are interested. - <87prmml4h8.fsf@lattice.localdomain> - <200810060549.m965nta13755@localhost.localdomain> - <9d9ff120810052304t23c4fa78y55606e3a0848c2ec@mail.gmail.com> - recognized. -Cc: list >> Have you looked at clojure? I was very skeptical of this lisp-on-jvm >> but he makes some very good points about scaling on multiple processors. @@ -7683,16 +7643,10 @@ system internals, including some rewrites of the compiler/interpreter code into common lisp. I hope to find time to play with Clojure enough to be able to architect the ideas cleanly into the reorganization. -Tim - - - \start -From: Tim Daly Date: Mon, 6 Oct 2008 02:21:59 -0500 +From: Tim Daly To: list - seldom 2.4 (older, 4) -Cc: Subject: 20081005.01.tpd.patch (bookvol10.2 add categories) Addded categories: @@ -7707,20 +7661,11 @@ Addded categories: See: -Tim - - - - \start +Date: Mon, 06 Oct 2008 14:38:59 -0400 +From: Stephen Wilson To: Tim Daly Subject: re: Some code, if you are interested. - <87prmml4h8.fsf@lattice.localdomain> - <200810060549.m965nta13755@localhost.localdomain> -From: Stephen Wilson -Date: Mon, 06 Oct 2008 14:38:59 -0400 - of "Mon\, 6 Oct 2008 01\:49\:55 -0400") -Cc: list Tim Daly writes: > I'm finally free of the constraints for a bit. I will look at what @@ -7750,20 +7695,10 @@ I was going to write down a few more thoughts but should probably wait until I am more informed on STM. My initial feeling is that both traditional threads (locks, condition variables) and STM could/should be made available. -Steve - - - - - - - - \start -From: Tim Daly Date: Tue, 7 Oct 2008 12:20:37 -0500 +From: Tim Daly To: list -Cc: Subject: 20081006.01.tpd.patch (bookvol10.2 add categories) Added to bookvol10.2: @@ -7779,16 +7714,11 @@ Added to bookvol10.2: See: - - - \start -From: Tim Daly Date: Wed, 8 Oct 2008 13:59:30 -0500 +From: Tim Daly To: list -Cc: -Subject: - 20081007.01.tpd.patch (bookvol10.2 add categories, update ATTREG) +Subject: 20081007.01.tpd.patch (bookvol10.2 add categories, update ATTREG) Add categories to bookvol10.2, update ATTREG RadicalCategory @@ -7806,17 +7736,11 @@ Add categories to bookvol10.2, update ATTREG See: - - \start +Date: Thu, 09 Oct 2008 02:13:18 -0400 +From: Stephen Wilson To: Tim Daly Subject: re: Some code, if you are interested. - <87prmml4h8.fsf@lattice.localdomain> - <200810060549.m965nta13755@localhost.localdomain> -From: Stephen Wilson -Date: Thu, 09 Oct 2008 02:13:18 -0400 - of "Mon\, 6 Oct 2008 01\:49\:55 -0400") -Cc: list Tim Daly writes: > I strongly recommend reviewing the clojure for lisp videos by Bill Hickey. I @@ -7853,18 +7777,11 @@ I would not go so far to say the above would be easy, but it might be a comparatively expedient way to help understand concurrency in the context of a spad-like language and to grow familiar with the implementation details. -Steve - - - \start -From: Tim Daly Date: Thu, 9 Oct 2008 02:15:49 -0500 +From: Tim Daly To: list - seldom 2.4 (older, 4) -Cc: -Subject: 20081008.01.tpd.patch (bookvol10.2 add ACF, - fix MONOGEN, FFCAT) +Subject: 20081008.01.tpd.patch (bookvol10.2 add ACF, fix MONOGEN, FFCAT) MONOGEN and FFCAT now have all the required supporting categories. ACF has been added. @@ -7872,58 +7789,34 @@ ACF has been added. See - - \start -From: Tim Daly Date: Thu, 9 Oct 2008 02:17:29 -0500 +From: Tim Daly To: list - recognized. -Cc: Subject: status I will be on the road until tuesday 10/14 with uncertain net access. Rumor has it that git allows disconnected development so we will see. -Tim - - - \start Date: Mon, 13 Oct 2008 15:09:49 +0200 -From: Roberto Brunelli - rv:1.8.0.7) Gecko/20060910 SeaMonkey/1.0.5 +From: Roberto Brunelli To: list - recognized. Subject: Slackware building of axiom-sept2008-src.tgz Dear you all, -I'm trying to build from sources (using a generic linux selector for system in the -building process) on a Slackware12 box (dual core 2 machine). I reach the regression -stage but I get many FAILED results. +I'm trying to build from sources (using a generic linux selector for +system in the building process) on a Slackware12 box (dual core 2 +machine). I reach the regression stage but I get many FAILED results. Any hint on what I am doing wrong? -Thanks a lot, - --- - -| Roberto Brunelli - [scientist at Fondazione Bruno Kessler] -| 'Home can be anywhere, for it is a part of one's self' - - - - - \start Date: Tue, 14 Oct 2008 11:55:13 -0400 From: Tim Daly -To: brunelli@fbk.eu - 13 Oct 2008 15:09:49 +0200) -Subject: Re: Slackware building of axiom-sept2008-src.tgz - recognized. -Cc: list +To: Roberto Brunelli +Subject: Re: Slackware building of axiom-sept2008-src.tgz recognized. Roberto, @@ -7934,21 +7827,11 @@ What exactly is the failure you see? Can you tell me where you got your slackware distro? What version is it? I'll set up a virtual machine and do a build. -Tim - - - \start Date: Wed, 15 Oct 2008 15:03:34 +0200 -From: Roberto Brunelli - rv:1.8.0.7) Gecko/20060910 SeaMonkey/1.0.5 +From: Roberto Brunelli To: Tim Daly Subject: Re: Slackware building of axiom-sept2008-src.tgz - <200810141555.m9EFtDQ26622@localhost.localdomain> - recognized. -Cc: "list" - -Tim, root wrote: > Roberto, @@ -8045,25 +7928,11 @@ FAILED gamma 12 of 12 regression result FAILED 4 of 12 stanzas file gamma Value = NIL --- - -| Roberto Brunelli - [scientist at Fondazione Bruno Kessler] -| 'Home can be anywhere, for it is a part of one's self' - - - - - \start Date: Wed, 15 Oct 2008 12:50:50 -0400 From: Tim Daly -To: brunelli@fbk.eu - 15 Oct 2008 15:03:34 +0200) +To: Roberto Brunelli Subject: Re: Slackware building of axiom-sept2008-src.tgz - <200810141555.m9EFtDQ26622@localhost.localdomain> - <48F5EA26.8090002@fbk.eu> - recognized. -Cc: list The most likely cause of the mismatches are due to the precision used in the system numeric libraries. Are any of the failures @@ -8074,15 +7943,10 @@ different. If any of the failures are not caused by numbers please send me the failing .output file so I can see what went wrong. -Tim - - - \start -From: Tim Daly Date: Sat, 25 Oct 2008 11:29:38 -0500 +From: Tim Daly To: list -Cc: Subject: 20081023.01.tpd.patch (bookvol10.2 add categories) Add these categories to bookvol10.2: @@ -8096,15 +7960,10 @@ Add these categories to bookvol10.2: See: -Tim - - - \start -From: Tim Daly Date: Mon, 27 Oct 2008 08:46:32 -0600 +From: Tim Daly To: list -Cc: Subject: 20081026.01.tpd.patch (bookvol10.2 add categories) Add @@ -8116,17 +7975,11 @@ to bookvol10.2 See -Tim - - - \start -From: Tim Daly Date: Tue, 28 Oct 2008 14:58:22 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081027.01.tpd.patch (add sae.input regression - test) +Subject: 20081027.01.tpd.patch (add sae.input regression test) Add SAE regression test from example by Waldek Hebisch =================================================================== @@ -8261,13 +8114,10 @@ index 0000000..b720cce +\end{thebibliography} +\end{document} - - \start -From: Tim Daly Date: Wed, 29 Oct 2008 02:31:47 -0600 +From: Tim Daly To: list -Cc: Subject: Axiom on a thumb drive Axiom runs from a thumb drive. This is really trivial. @@ -8331,12 +8181,10 @@ footnote 2: by default the fedora install puts the firefox downloads into \start -From: Tim Daly Date: Wed, 29 Oct 2008 16:23:30 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081028.01.tpd.patch (bookvol10.2 add pscat.spad - categories) +Subject: 20081028.01.tpd.patch (bookvol10.2 add pscat.spad categories) Add these categories from pscat.spad to bookvol10.2 PowerSeriesCategory diff --git a/book/2008-11.txt b/book/2008-11.txt index 4ea27c4..09431b2 100644 --- a/book/2008-11.txt +++ b/book/2008-11.txt @@ -1,8 +1,7 @@ \start -From: Tim Daly Date: Sat, 1 Nov 2008 18:38:50 -0600 +From: Tim Daly To: list -Cc: Subject: 20081029.01.tpd.patch (bookvol10.2 add categories) Categories added to bookvol10.2: @@ -22,15 +21,9 @@ Categories added to bookvol10.2: \start -To: Bill Page - - <9q7i7kiq1z.fsf@aquin.mat.univie.ac.at> - -From: Martin Rubey Date: 03 Nov 2008 23:28:09 +0100 - seldom 2.4 (older, 4) -Cc: axiom-devel , - fricas-devel < > +From: Martin Rubey +To: Bill Page Subject: Re: Linebreaker for emacs mode Bill Page writes: @@ -50,16 +43,10 @@ since currently we output $$ delimiters, together with \leqno(42). I wonder: do we *ever* output tex code that doesn't start and end with $$??? -Martin - - - - \start Date: Tue, 4 Nov 2008 18:40:56 -0500 From: Ted Kosan -To: maxima@math.utexas.edu, list -Cc: +To: list Subject: Mathrider update For those who don't know yet, MathRider (http://mathrider.org) is a @@ -118,19 +105,10 @@ Also, if you know any CAS beginners (especially young people) who might be interested in learning how to use a CAS, please let them know about MathRider. - -Thanks :-) - -Ted Kosan -ted.kosan at gmail.com - - - \start -From: Tim Daly Date: Wed, 5 Nov 2008 23:21:25 -0600 +From: Tim Daly To: list -Cc: Subject: 20081101.01.tpd.patch (bookvol10.2 add categories) Add these categories to bookvol10.2: @@ -142,15 +120,10 @@ Add these categories to bookvol10.2: See -Tim - - - \start -From: Tim Daly Date: Thu, 6 Nov 2008 01:03:05 -0600 +From: Tim Daly To: list -Cc: Subject: 20081105.01.axj.patch (add reclos2.input) Add more test examples for the Real Closure domain @@ -842,15 +815,11 @@ index 37b7fba..67675f2 100644 "Paul Kosinski Klaus Kusche Bernhard Kutzler" "Larry Lambe Franz Lehner Frederic Lehobey" - - \start -From: Tim Daly Date: Thu, 6 Nov 2008 01:10:25 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081106.01.tpd.patch (remove matcat.spad from - src/algebra/Makefile) +Subject: 20081106.01.tpd.patch (remove matcat.spad from src/algebra/Makefile) matcat.spad no longer contains anything. I was removed from the src/algebra Makefile. @@ -897,15 +866,11 @@ index 0c27f01..69818c4 100644 ${DOC}/matrix.spad.dvi ${DOC}/matstor.spad.dvi \ ${DOC}/mesh.spad.dvi ${DOC}/mfinfact.spad.dvi ${DOC}/misc.spad.dvi \ - - \start -From: Tim Daly Date: Fri, 7 Nov 2008 18:29:30 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081107.01.tpd.patch (sae.input ignore - probabilistic results) +Subject: 20081107.01.tpd.patch (sae.input ignore probabilistic results) The primitiveElement call can return different values at different times. The returned roots are, however, correct for any polynomial. @@ -992,13 +957,10 @@ index b720cce..9ad68e4 100644 )spool - - \start -From: Tim Daly Date: Sat, 8 Nov 2008 14:28:19 -0600 +From: Tim Daly To: list -Cc: Subject: 20081108.01.tpd.patch (bookvol10.2 add categories) add categories to bookvol10.2 @@ -3230,13 +3192,10 @@ index 3610e05..4ff736c 100644 @ \eject - - \start -From: Tim Daly Date: Sat, 8 Nov 2008 14:31:48 -0600 +From: Tim Daly To: list -Cc: Subject: ATTENTION: axiom-developer.org users My axiom-developer.org server was attacked. There were several @@ -3247,15 +3206,10 @@ As a result of this attack I have disabled certain forms of access to the machine. If you use my machine and find that your access is blocked please send me email and I will re-enable your access. -Tim - - - \start -From: Tim Daly Date: Sun, 9 Nov 2008 16:05:44 -0600 +From: Tim Daly To: list -Cc: Subject: 20081109.01.tpd.patch (bookvol10.2 add categories) Add: @@ -3270,22 +3224,12 @@ Add: See - - \start Date: Sun, 9 Nov 2008 16:21:56 -0500 From: Tim Daly -To: Nicolas.Thiery@u-psud.fr - - <85b5c3130808190123p1116c8f1q59d39dd3c790f516@mail.gmail.com> - - <85b5c3130808191305i59073b51xec7cf3de940198cc@mail.gmail.com> - <20081109153152.GI6694@zephyr> - recognized. -Cc: teresa.gomez-diaz@univ-mlv.fr, list, - sage-combinat-devel@googlegroups.com, sage-devel@googlegroups.com -Subject: Re: [sage-devel] Categories for the working - programmer +To: Nicolas Thiery +Subject: Re: [sage-devel] Categories for the working programmer +Cc: Teresa Gomez-Diaz There are at least two possible paths toward a category hierarchy in Sage, adopting Axiom's version or designing a new one. @@ -3323,25 +3267,11 @@ In general, you work in domains which are particular instances of mathematics with certain functions and properties inherited from the categories. Every object created lives in some domain. - - - \start Date: Sun, 9 Nov 2008 15:19:00 -0800 From: Mike Hansen To: Tim Daly -Subject: re: [sage-devel] Categories for the working - programmer - - <85b5c3130808190123p1116c8f1q59d39dd3c790f516@mail.gmail.com> - - <85b5c3130808191305i59073b51xec7cf3de940198cc@mail.gmail.com> - <20081109153152.GI6694@zephyr> - <200811092121.mA9LLu708992@localhost.localdomain> -Cc: list, sage-combinat-devel@googlegroups.com, - sage-devel@googlegroups.com - -Hi Tim, +Subject: re: [sage-devel] Categories for the working programmer On Sun, Nov 9, 2008 at 1:21 PM, Tim Daly wrote: > There are at least two possible paths toward a category hierarchy in Sage, @@ -3358,29 +3288,11 @@ On Sun, Nov 9, 2008 at 1:21 PM, Tim Daly wrote: What is the relationship between "categories" in Axiom and the mathematical notion of a category? ---Mike - - - \start Date: Sun, 9 Nov 2008 18:59:32 -0500 From: Tim Daly To: Mike Hansen - (Mike Hansen) -Subject: re: [sage-devel] Categories for the working - programmer - - <85b5c3130808190123p1116c8f1q59d39dd3c790f516@mail.gmail.com> - - <85b5c3130808191305i59073b51xec7cf3de940198cc@mail.gmail.com> - <20081109153152.GI6694@zephyr> - <200811092121.mA9LLu708992@localhost.localdomain> - - recognized. -Cc: list, sage-combinat-devel@googlegroups.com, - sage-devel@googlegroups.com - -Mike, +Subject: re: [sage-devel] Categories for the working programmer >On Sun, Nov 9, 2008 at 1:21 PM, Tim Daly wrote: >> There are at least two possible paths toward a category hierarchy in Sage, @@ -3433,25 +3345,11 @@ that python does. However, this would not be "trivial" since python does not support lisp-like macros, Sage does not seem to have a compiler, python does not support the data==program abstraction, etc. - -Tim - - - \start Date: Mon, 10 Nov 2008 01:09:28 +0100 From: Ralf Hemmecke -To: sage-combinat-devel@googlegroups.com -Subject: Re: [sage-combinat-devel] re: [sage-devel] - Categories for the working programmer - - <85b5c3130808190123p1116c8f1q59d39dd3c790f516@mail.gmail.com> - - <85b5c3130808191305i59073b51xec7cf3de940198cc@mail.gmail.com> - <20081109153152.GI6694@zephyr> - <200811092121.mA9LLu708992@localhost.localdomain> - -Cc: list, sage-devel@googlegroups.com +To: list +Subject: Categories for the working programmer > What is the relationship between "categories" in Axiom and the > mathematical notion of a category? @@ -3493,27 +3391,12 @@ implementation of the signatures). More details you find in Section 2.5 (p. 28) of http://axiom-portal.newsynthesis.org/refs/articles/doye-aldor-phd.pdf -Regards -Ralf - - - \start Date: Sun, 9 Nov 2008 19:19:12 -0500 From: Tim Daly -To: Nicolas.Thiery@u-psud.fr - - <85b5c3130808190123p1116c8f1q59d39dd3c790f516@mail.gmail.com> - - <85b5c3130808191305i59073b51xec7cf3de940198cc@mail.gmail.com> - <20081109153152.GI6694@zephyr> - <200811092121.mA9LLu708992@localhost.localdomain> - <20081110000240.GP6694@zephyr> - recognized. -Cc: teresa.gomez-diaz@univ-mlv.fr, list, - sage-combinat-devel@googlegroups.com, sage-devel@googlegroups.com -Subject: Re: [sage-devel] Categories for the working - programmer +To: Nicolas Thiery +Subject: Re: [sage-devel] Categories for the working programmer +Cc: Teresa Gomez-Diaz >Don't worry: I am bound to be productive into translating code from >MuPAD to Sage :-) And the MuPAD's category hierarchy is quite similar @@ -3521,40 +3404,24 @@ Subject: Re: [sage-devel] Categories for the working Do you have information about MuPad's categories? -Tim - - - \start Date: Mon, 10 Nov 2008 01:02:40 +0100 -From: "Nicolas M. Thiery" +From: Nicolas Thiery To: Tim Daly - - <85b5c3130808190123p1116c8f1q59d39dd3c790f516@mail.gmail.com> - - <85b5c3130808191305i59073b51xec7cf3de940198cc@mail.gmail.com> - <20081109153152.GI6694@zephyr> - <200811092121.mA9LLu708992@localhost.localdomain> - mAA02eb0025450 -Cc: teresa.gomez-diaz@univ-mlv.fr, list, - sage-combinat-devel@googlegroups.com, sage-devel@googlegroups.com -Subject: Re: [sage-devel] Categories for the working - programmer - - Dear Tim, +Subject: Re: [sage-devel] Categories for the working programmer +Cc: Teresa Gomez-Diaz On Sun, Nov 09, 2008 at 04:21:56PM -0500, root wrote: -> There are at least two possible paths toward a category hierarchy in Sa= -ge, -> adopting Axiom's version or designing a new one. ->=20 -> The key advantage of adopting the Axiom category hierarchy is the Sage -> system could reuse a lot of the algorithms in Axiom. The Spad language -> used in Axiom is similar in style and spirit to the Sage python languag= -e. -> If the same categories were available it should be possible to use the -> algorithms in Axiom's domains as written. ->=20 + +> There are at least two possible paths toward a category hierarchy in +Sa= ge, > adopting Axiom's version or designing a new one. + +> The key advantage of adopting the Axiom category hierarchy is the +> Sage system could reuse a lot of the algorithms in Axiom. The Spad +> language used in Axiom is similar in style and spirit to the Sage +> python languag= e. If the same categories were available it should +> be possible to use the algorithms in Axiom's domains as written. + > The temptation to re-design is very seductive but not very productive. Of course! @@ -3576,37 +3443,18 @@ into just a hierarchy of Python "abstract" classes. However we can try to ensure compatibility whenever possible (names, hierarchy, ...), so as to ease the translation of algorithms. -All the best, - Nicolas --- -Nicolas M. Thi=E9ry "Isil" Nicolas Thiery -http://Nicolas.Thiery.name/ - - - \start Date: Mon, 10 Nov 2008 01:32:00 +0100 -From: "Nicolas M. Thiery" +From: Nicolas Thiery To: Tim Daly - - <85b5c3130808190123p1116c8f1q59d39dd3c790f516@mail.gmail.com> - - <85b5c3130808191305i59073b51xec7cf3de940198cc@mail.gmail.com> - <20081109153152.GI6694@zephyr> - <200811092121.mA9LLu708992@localhost.localdomain> - <20081110000240.GP6694@zephyr> - <200811100019.mAA0JCl09164@localhost.localdomain> - mAA0W0AS005883 -Cc: teresa.gomez-diaz@univ-mlv.fr, list, - sage-combinat-devel@googlegroups.com, sage-devel@googlegroups.com -Subject: Re: [sage-devel] Categories for the working - programmer +Subject: Re: [sage-devel] Categories for the working programmer +Cc: Teresa Gomez-Diaz On Sun, Nov 09, 2008 at 07:19:12PM -0500, root wrote: > >Don't worry: I am bound to be productive into translating code from > >MuPAD to Sage :-) And the MuPAD's category hierarchy is quite similar > >(since inspired from) Axiom's. ->=20 +> > Do you have information about MuPad's categories? Nothing centralized, except from the MuPAD online doc, but you can @@ -3615,30 +3463,11 @@ get the MuPAD-Combinat pieces from: http://mupad-combinat.sourceforge.net/Papers/Categories.pdf http://mupad-combinat.sourceforge.net/doc/en/Cat_Combinat/index.html -Cheers, - Nicolas --- -Nicolas M. Thi=E9ry "Isil" Nicolas Thiery -http://Nicolas.Thiery.name/ - - - \start Date: Mon, 10 Nov 2008 01:08:43 +0100 -From: "Nicolas M. Thiery" -To: sage-devel@googlegroups.com -Subject: Re: [sage-devel] re: [sage-devel] Categories - for the working programmer - - <85b5c3130808190123p1116c8f1q59d39dd3c790f516@mail.gmail.com> - - <85b5c3130808191305i59073b51xec7cf3de940198cc@mail.gmail.com> - <20081109153152.GI6694@zephyr> - <200811092121.mA9LLu708992@localhost.localdomain> - - <200811092359.mA9NxWv09115@localhost.localdomain> - mAA08h4A026268 -Cc: list, sage-combinat-devel@googlegroups.com +From: Nicolas Thiery +To: list +Subject: Categories for the working programmer > The point I was making is related to Nicolas's suggestion of > redesigning the category hierarchy to handle additive vs @@ -3649,19 +3478,10 @@ different *names* could possibly be deemed more appropriate by the Sage community. That does not change the hierarchy itself, and a query replace can take care of the job for code translation. -Cheers, - Nicolas --- -Nicolas M. Thi=E9ry "Isil" Nicolas Thiery -http://Nicolas.Thiery.name/ - - - \start -From: Tim Daly Date: Wed, 12 Nov 2008 00:28:11 -0600 +From: Tim Daly To: list -Cc: Subject: 20081110.01.tpd.patch (bookvol10.2 add categories) Add: @@ -3673,15 +3493,10 @@ Add: See: -Tim - - - \start -From: Tim Daly Date: Fri, 14 Nov 2008 18:40:15 -0600 +From: Tim Daly To: list -Cc: Subject: 20081112.01.tpd.patch (bookvol10.2 add categories) With this patch all of the 204 categories have been removed @@ -3692,16 +3507,10 @@ Corrected results are included for r20bugs.input. The patch is too large to post. See -Tim - - - - \start -From: Tim Daly Date: Sat, 15 Nov 2008 02:55:53 -0600 +From: Tim Daly To: list -Cc: Subject: 20081114.01.tpd.patch (bookvol10.3 add dhmatrix) The first domain (dhmatrix) has been added to book volume 10.3 @@ -3717,16 +3526,10 @@ and regression test chunks are still to be added. The domain theory section was added to book volume 10.3 -Tim - - - - \start -From: Tim Daly Date: Sat, 15 Nov 2008 14:32:19 -0600 +From: Tim Daly To: list -Cc: Subject: User Interface Help I have the graphs for the abbreviation connections and the full name @@ -3751,19 +3554,12 @@ Suggestions of graphing methods (especially with web examples) and suggestions of what kind of queries might be interesting are welcome. -Tim - - - \start Date: Sat, 15 Nov 2008 18:06:53 -0500 From: Bill Page -To: "Chris Walker" , - fricas-devel < >, - open-axiom-devel , - list -Cc: Camm Maguire +To: Chris Walker Subject: Fwd: Axiom in debian +Cc: Camm Maguire Chris, @@ -3782,18 +3578,8 @@ distribution. In my case I do use both FriCAS and OpenAxiom on Lenny but I build directly from the original source distributions. -Regards, -Bill Page. - - ---------- Forwarded message ---------- -From: Chris Walker -Date: Sat, Nov 15, 2008 at 5:20 PM -Subject: Axiom in debian -To: Bill Page - -Bill, Googling to try and find a solution to the debian bug http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=500997 @@ -3813,18 +3599,12 @@ lenny and doing a better job next time. I don't know whether you - or anyone else who has more expertise with axiom would be able to help. -Chris - - - \start Date: Sat, 15 Nov 2008 18:28:56 -0500 From: Ted Kosan To: list Subject: Re: User Interface Help -Tim wrote: - > I have the graphs for the abbreviation connections and the full name > connections for the category structure in Axiom. > @@ -3863,17 +3643,11 @@ http://hypergraph.sourceforge.net I am thinking of using HyperGraph in MathRider as part of its documentation engine. -Ted - - - \start -From: Tim Daly Date: Sat, 15 Nov 2008 18:18:03 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081115.01.tpd.patch (bookvol10.2 remove - duplicates in export lists) +Subject: 20081115.01.tpd.patch (bookvol10.2 remove duplicates in export lists) The export lists contain the names of functions and should not contain duplicate copies of names. This condition was verified by program and @@ -5054,19 +4828,11 @@ index bb73b77..91d26a3 100644 {\bf Attributes Exported:} - - \start Date: Sun, 16 Nov 2008 13:48:21 -0500 From: Tim Daly To: Ted Kosan - (Ted Kosan) Subject: Re: User Interface Help - <9d9ff120811151528q331c7310o3efbd2285703c0d3@mail.gmail.com> - recognized. -Cc: list - -Ted, >Here is an example of a web-based dynamic graph that you may find >interesting. The data is in German, but the graph can contain text in @@ -5100,20 +4866,11 @@ choose the information you want to see about a category. I also want to be able to change the graph so you can see other relations (such as coercions) rather than just inheritance. -Tim - - - \start Date: Sun, 16 Nov 2008 15:06:41 -0500 From: Ted Kosan To: Tim Daly Subject: Re: User Interface Help - <9d9ff120811151528q331c7310o3efbd2285703c0d3@mail.gmail.com> - <200811161848.mAGImL621352@localhost.localdomain> -Cc: list - -Tim wrote: > I am working on a javascript version of the hypergraph > similar to what you suggest. The key advantage of a javascript @@ -5127,21 +4884,11 @@ modifications (why limit one's self to supporting just one popular browser when you can support them all?). The applet can also be run directly from the command line without the need for a browser at all. -Ted - - - \start Date: Sun, 16 Nov 2008 19:48:34 -0500 From: Tim Daly To: Ted Kosan - (Ted Kosan) Subject: Re: User Interface Help - <9d9ff120811151528q331c7310o3efbd2285703c0d3@mail.gmail.com> - <200811161848.mAGImL621352@localhost.localdomain> - <9d9ff120811161206qcb616c4r8b05cfe6b15a0fff@mail.gmail.com> - recognized. -Cc: list >> I am working on a javascript version of the hypergraph >> similar to what you suggest. The key advantage of a javascript @@ -5197,22 +4944,13 @@ graphics/hyperdoc porting issue as well as unify the two into a standard front end. So I suspect that Axiom on Windows will be much easier to port in the near future. - - - The whole issue hinges on available time. -Tim - - - \start -From: Tim Daly Date: Mon, 17 Nov 2008 17:44:30 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081116.01.tpd.patch (rosetta.pamphlet fix - Magnus URL) +Subject: 20081116.01.tpd.patch (rosetta.pamphlet fix Magnus URL) The magnus URL was out of date. Point at the sourceforge sources. @@ -5241,20 +4979,11 @@ index d36a4b9..9e14ccc 100644 \Maple & commercial & available & http://www.maplesoft.com \\ \Mathematica & commercial & available & http://www.wolfram.com \\ - - \start Date: Tue, 18 Nov 2008 02:00:20 -0500 From: Ted Kosan To: Tim Daly Subject: Re: User Interface Help - <9d9ff120811151528q331c7310o3efbd2285703c0d3@mail.gmail.com> - <200811161848.mAGImL621352@localhost.localdomain> - <9d9ff120811161206qcb616c4r8b05cfe6b15a0fff@mail.gmail.com> - <200811170048.mAH0mYQ21587@localhost.localdomain> -Cc: list - -Tim wrote: > One primary consideration is the number of languages we need to support. > @@ -5347,23 +5076,11 @@ implement in something like MathRider than any browser-based solution and the nice thing is that almost all of the code can be written in a scripting language (like Clojure :-) -Ted - - - \start Date: Tue, 18 Nov 2008 03:19:05 -0500 From: Tim Daly To: Ted Kosan - (Ted Kosan) Subject: Re: User Interface Help - <9d9ff120811151528q331c7310o3efbd2285703c0d3@mail.gmail.com> - <200811161848.mAGImL621352@localhost.localdomain> - <9d9ff120811161206qcb616c4r8b05cfe6b15a0fff@mail.gmail.com> - <200811170048.mAH0mYQ21587@localhost.localdomain> - <9d9ff120811172300q1dabc7d5l97cad9532e428405@mail.gmail.com> - recognized. -Cc: list >If available time is an important issue, why choose to use a >browser/javascript solution for the Axiom front-end and documentation @@ -5508,16 +5225,10 @@ windows port will only require moving the lisp code), enables functionality like printing, and gives me a way to dynamically add and distribute functionality (REST architecture). -Tim - - - - \start -From: Tim Daly Date: Tue, 18 Nov 2008 21:53:28 -0600 +From: Tim Daly To: list -Cc: Subject: 20081118.01.tpd.patch (make parallel test work) The testing phase of Axiom is now run in parallel which significantly @@ -6589,13 +6300,10 @@ index a13ee54..420faaf 100755 fi echo "document [ -o redirect ] pamphlet" - - \start -From: Tim Daly Date: Wed, 19 Nov 2008 04:18:07 -0600 +From: Tim Daly To: list -Cc: Subject: Country survey As part of some other work, I collected information about what countries @@ -6667,16 +6375,11 @@ Washington, USA VE Venezuela VN Viet Nam - - - \start -From: Tim Daly Date: Wed, 19 Nov 2008 14:36:34 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081119.01.tpd.patch (Version change for - november 2008 release) +Subject: 20081119.01.tpd.patch (Version change for november 2008 release) Version number and hyperdoc documentation changes for november 2008 release ========================================================================== @@ -10339,13 +10042,10 @@ index c053227..7552f27 100644 20081118 tpd books/bookvol10.2 make parallel test work (fix TSETCAT-) 20081118 tpd src/scripts/document make parallel test work (remove rm) - - \start -From: Tim Daly Date: Wed, 19 Nov 2008 19:16:42 -0600 +From: Tim Daly To: list -Cc: Subject: 20081119.02.tpd.patch (november 2008 fixups) books/Makefile.pamphlet was missing the code to automatically create @@ -10451,12 +10151,10 @@ index 071d86e..f8620d9 100644 | egrep -v '(Timestamp|Version)' | tee $*.regress ; \ - \start -From: Tim Daly Date: Thu, 20 Nov 2008 20:49:17 -0600 +From: Tim Daly To: list -Cc: Subject: ANNOUNCEMENT: The Novermber 2008 release of Axiom Following the every-other-month schedule, Axiom for November 2008 @@ -10546,30 +10244,22 @@ Build changes speed up the final test phase - - \start -From: Tim Daly Date: Sun, 23 Nov 2008 21:24:23 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081122.02.tpd.patch (put axiom-website under - git control +Subject: 20081122.02.tpd.patch (put axiom-website under git control The axiom website pages and other files are now under src/axiom-website and will be maintained from there. ======================================================================= See - - \start -From: Tim Daly Date: Mon, 24 Nov 2008 00:13:20 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081123.01.tpd.patch (fraction.spad missed in - category update) +Subject: 20081123.01.tpd.patch (fraction.spad missed in category update) The change was made to fraction.spad but the file was never checked in. ======================================================================= @@ -10877,13 +10567,10 @@ index b717fce..14a951d 100644 \ No newline at end of file - - \start -From: Tim Daly Date: Mon, 24 Nov 2008 05:16:46 -0600 +From: Tim Daly To: list -Cc: Subject: 20081124.01.tpd.patch (November release cleanup) readme and setq.lisp contained the release date which causes @@ -11009,12 +10696,10 @@ index 67675f2..5777487 100644 "Henry Baker Stephen Balzac Yurij Baransky" - \start -From: Tim Daly Date: Mon, 24 Nov 2008 11:26:49 -0600 +From: Tim Daly To: list -Cc: Subject: 20081124.02.tpd.patch (bookvol10.3 add domains) Numerous domains were added to bookvol10.3 @@ -11022,16 +10707,11 @@ Numerous domains were added to bookvol10.3 The patch is too large to post. See - - - \start -From: Tim Daly Date: Mon, 24 Nov 2008 15:50:45 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081124.03.tpd.patch (move util.ht to doc (fix - 7146)) +Subject: 20081124.03.tpd.patch (move util.ht to doc (fix 7146)) bug 7146 fixed. Axiom uses util.ht at compile time but the build no longer expands ht pages. They are drawn directly from the book @@ -11079,13 +10759,10 @@ index c89777f..0fa6c18 100644 instream := MAKE_-INSTREAM fn while not EOFP instream repeat - - \start -From: Tim Daly Date: Mon, 24 Nov 2008 17:12:50 -0600 +From: Tim Daly To: list -Cc: Subject: 20081124.04.tpd.patch (bookvol10.3 add domains) More domains moved. @@ -11093,16 +10770,11 @@ bags.spad and boolean.spad were removed. The patch is too big to post. See - - - \start -From: Tim Daly Date: Mon, 24 Nov 2008 21:35:13 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081124.05.tpd.patch (bookvol0, - bookvol1 fix SmallFloat reference) +Subject: 20081124.05.tpd.patch (bookvol0, bookvol1 fix SmallFloat reference) The tutorial and the Jenks book both have an incorrect reference to SmallFloat (fixed 7148) @@ -11164,14 +10836,10 @@ index 787318c..ac05fe8 100644 \ No newline at end of file - - \start Date: Wed, 26 Nov 2008 02:13:12 -0500 From: Tim Daly -To: Tim Lahey - recognized. -Cc: list, sage-devel@googlegroups.com +To: Tim Lahey Subject: Computer Algebra Test Suite (CATS) Tim, @@ -11204,17 +10872,11 @@ Axiom already has over 600 input files used to test various parts of the system. Comparing these results with other subsystems of Sage would provide a valuable cross-check. -Tim Daly - - - \start From: Tim Daly Date: Sat, 29 Nov 2008 12:53:04 -0600 To: list -Cc: -Subject: 20081129.01.tpd.patch (index.html - fix broken - link) +Subject: 20081129.01.tpd.patch (index.html - fix broken link) The Jenks book got moved which broke the link. Fixed. ========================================================================= @@ -11256,13 +10918,10 @@ index e9bbb4a..4585f64 100644 \ No newline at end of file - - \start -From: Tim Daly Date: Sun, 30 Nov 2008 10:48:59 -0600 +From: Tim Daly To: list -Cc: Subject: 20081130.01.tpd.patch (website add videos) Prepare to add videos, update all current pages @@ -11522,13 +11181,10 @@ index eef5c8b..c6e200d 100644 Abbreviation Graph - - \start -From: Tim Daly Date: Sun, 30 Nov 2008 10:49:50 -0600 +From: Tim Daly To: list -Cc: Subject: 20081130.02.tpd.patch (website add videos) Add videos web page @@ -11565,7 +11221,7 @@ index 0000000..adda03d + Axiom + +
-+ ++ + The Scientific Computation System + + @@ -11658,13 +11314,10 @@ index 0000000..adda03d + + - - \start -From: Tim Daly Date: Sun, 30 Nov 2008 10:52:20 -0600 +From: Tim Daly To: list -Cc: Subject: ANNOUNCE: Axiom videos A new feature of Axiom will be video documentation. diff --git a/book/2008-12.txt b/book/2008-12.txt index 7e5534b..fd54573 100644 --- a/book/2008-12.txt +++ b/book/2008-12.txt @@ -1,8 +1,7 @@ \start -From: Tim Daly Date: Mon, 1 Dec 2008 11:29:46 -0600 +From: Tim Daly To: list -Cc: Subject: 20081201.01.tpd.patch (bookvol10.3 add domains) More domains were added to the algebra domain volume. @@ -10,14 +9,10 @@ More domains were added to the algebra domain volume. The large patch is available at: - - - \start -From: Tim Daly Date: Mon, 1 Dec 2008 11:30:45 -0600 +From: Tim Daly To: list -Cc: Subject: 20081201.02.tpd.patch (add missing files) The 20081201.01.tpd.patch was incomplete. @@ -101,25 +96,14 @@ index cd25d6a..6c4c33a 100644 \ No newline at end of file - - - - \start Date: Mon, 01 Dec 2008 14:30:42 -0700 -From: Karl Hegbloom +From: Karl Hegbloom To: list -OpenPGP: id=FEB03158 -Subject: [patch] Suggested grammatical improvement for - bookvol7.1.pamphlet - -This is a multi-part message in MIME format. ---------------050005040508050100030602 +Subject: [patch] Suggested grammatical improvement for bookvol7.1.pamphlet -See the attached diff. --- -Karl Hegbloom +Karl Hegbloom Phone: 435-659-6257 --------------050005040508050100030602 @@ -140,29 +124,18 @@ index a88a865..1bf7b1d 100644 \xtc{ ---------------050005040508050100030602-- - - - \start Date: Mon, 1 Dec 2008 16:54:46 -0500 From: Tim Daly -To: karl.hegbloom@gmail.com - 01 Dec 2008 14:30:42 -0700) -Subject: Re: [patch] Suggested grammatical improvement for - bookvol7.1.pamphlet - recognized. -Cc: list +To: Karl Hegbloom +Subject: Re: [patch] Suggested grammatical improvement for bookvol7.1.pamphlet Thanks. I'll apply it at the next update. -- Tim - - \start From: Tim Daly Date: Mon, 1 Dec 2008 19:57:20 -0600 To: list -Cc: Subject: 20081201.03.tpd.patch (bookvol10.3 add domains) Add Karl Hegbloom to credits. @@ -173,15 +146,11 @@ Add more domains to bookvol10.3 The patch is too large to post. See - - \start -From: Tim Daly Date: Mon, 1 Dec 2008 20:10:15 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081201.04.tpd.patch (website add wmv, - pdf to videos) +Subject: 20081201.04.tpd.patch (website add wmv, pdf to videos) The Information Sources video has been rendered in wmv format so it can be viewed directly from the Axiom website. (Note that @@ -282,15 +251,11 @@ index adda03d..5fc142a 100644 - - \start -From: Tim Daly Date: Tue, 2 Dec 2008 12:42:09 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081202.01.tpd.patch (browser lighten background - image) +Subject: 20081202.01.tpd.patch (browser lighten background image) The Axiom firefox background was too dark. This patch lightens it. @@ -356,15 +321,11 @@ index 6daa1c1..4f9cb94 100644 \ No newline at end of file - - \start -From: Tim Daly Date: Tue, 2 Dec 2008 17:39:54 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081202.02.tpd.patch (website download.html add - Doyen Thumbdrive) +Subject: 20081202.02.tpd.patch (website download.html add Doyen Thumbdrive) Thanks to Alfredo Portes there is now a USB thumbdrive bootable version of Axiom available at @@ -391,7 +352,7 @@ index a96b9cb..6a46d88 100644 20081201 tpd src/interp/setq.lisp add Karl Hegbloom 20081201 tpd readme add Karl Hegbloom -20081201 kxh Karl Hegbloom -+20081201 kxh Karl Hegbloom ++20081201 kxh Karl Hegbloom 20081201 tpd src/algebra/omserver.spad fix unexpected HT command 20081201 tpd src/algebra/fparfrac.spad fix unexpected HT command 20081201 tpd src/axiom-website/patches.html 20081201.03.tpd.patch @@ -486,17 +447,11 @@ index 4f9cb94..fa77512 100644 \ No newline at end of file - - \start -From: William Sit -Subject: Re: 20081202.02.tpd.patch (website - download.html add Doyen Thumbdrive) -To: Tim Daly,list Date: Wed, 03 Dec 2008 05:33:04 -0500 -Cc: - -Tim: +From: William Sit +To: list +Subject: Re: 20081202.02.tpd.patch (website download.html add Doyen Thumbdrive) I downloaded the zip file, unzip and copy boot and DOYEN directories to the USB drive. Running bootinst.bat results @@ -565,21 +520,12 @@ On Tue, 2 Dec 2008 17:39:54 -0600 >Download the file and follow the instructions which are >available >further down on the page. -> ->Tim - - \start -From: William Sit -Subject: Re: 20081202.02.tpd.patch (website - download.html add Doyen Thumbdrive) -To: William Sit,Tim Daly, - list Date: Wed, 03 Dec 2008 06:48:45 -0500 -Cc: - -Tim: +From: William Sit +To: list +Subject: Re: 20081202.02.tpd.patch (website download.html add Doyen Thumbdrive) I found out how to get around the MBR problem. I have to first boot into safe mode with command prompt @@ -676,31 +622,12 @@ On Wed, 03 Dec 2008 05:33:04 -0500 >>Download the file and follow the instructions which are >>available >>further down on the page. ->> ->>Tim -> -> ->_______________________________________________ ->Axiom-developer mailing list ->list ->http://lists.nongnu.org/mailman/listinfo/axiom-developer - -William Sit, Professor Emeritus -Mathematics, City College of New York -Office: R6/202C Tel: 212-650-5179 -Home Page: http://scisun.sci.ccny.cuny.edu/~wyscc/ - - \start -From: William Sit -Subject: Re: 20081202.02.tpd.patch (website - download.html add Doyen Thumbdrive) -To: Tim Daly, list Date: Thu, 04 Dec 2008 00:54:10 -0500 -Cc: - -Tim: +From: William Sit +Subject: Re: 20081202.02.tpd.patch (website download.html add Doyen Thumbdrive) +To: list This email is not Axiom related, but Doyen OS related. Maybe it is because I do not know how Doyen functions, but @@ -768,22 +695,11 @@ Occasionally, however, I am able to connect to an open wireless network from the neighborhood. I don't quite know why. -Thanks, - -William - - - \start Date: Thu, 4 Dec 2008 10:19:34 -0500 From: Alfredo Portes To: William Sit -Subject: Re: 20081202.02.tpd.patch (website download.html - add Doyen Thumbdrive) - -Cc: list - -Hi William, +Subject: Re: 20081202.02.tpd.patch (website download.html add Doyen Thumbdrive) I will address your email in more detail later, but I will like to make a quick remark. @@ -814,17 +730,10 @@ You make want to give it a try. I will try to document all this later on (once I get to test it myself.). -Thank you for the feedback. - -Alfredo - - - \start -From: Tim Daly Date: Thu, 4 Dec 2008 15:09:10 -0600 +From: Tim Daly To: list -Cc: Subject: 20081203.01.tpd.patch (bookvol10.3 add domains) More domains have been moved from the algebra directory to bookvol10.3 @@ -832,13 +741,10 @@ More domains have been moved from the algebra directory to bookvol10.3 The patch is too large to post. See - - \start -From: Tim Daly Date: Thu, 4 Dec 2008 16:58:58 -0600 +From: Tim Daly To: list -Cc: Subject: 20081204.01.tpd.patch (website update screenshots) This updates the screenshots page with actual output from Axiom. @@ -932,15 +838,11 @@ index c6e200d..d40d9de 100644 - - \start -From: Tim Daly Date: Thu, 4 Dec 2008 23:14:59 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081204.02.tpd.patch (clean up input regression - files) +Subject: 20081204.02.tpd.patch (clean up input regression files) Regularize and check all input regression files for proper counting syntax so the checks can be more thorough. @@ -948,17 +850,11 @@ syntax so the checks can be more thorough. This patch is too large to post. See - - \start +Date: Fri, 05 Dec 2008 01:45:08 -0500 From: William Sit -Subject: Re: 20081202.02.tpd.patch (website - download.html add Doyen Thumbdrive) +Subject: Re: 20081202.02.tpd.patch (website download.html add Doyen Thumbdrive) To: Alfredo Portes -Date: Fri, 05 Dec 2008 01:45:08 -0500 -Cc: list - -Hi Alfredo: Thanks for the quick suggestion. I'll try that this weekend when I have more time. @@ -1046,25 +942,12 @@ On Thu, 4 Dec 2008 10:19:34 -0500 >all this later >on (once I get to test it >myself.). -> ->Thank you for the feedback. -> ->Alfredo - -William Sit, Professor Emeritus -Mathematics, City College of New York -Office: R6/202C Tel: 212-650-5179 -Home Page: http://scisun.sci.ccny.cuny.edu/~wyscc/ - - \start -From: Tim Daly Date: Fri, 5 Dec 2008 16:22:38 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081205.01.tpd.patch (bug 7161: integer.spad - remove signature change) +Subject: 20081205.01.tpd.patch (bug 7161: integer.spad remove signature change) The signature change for PositiveInteger in integer.spad causes a value stack overflow in r21bugsbig. This is a long standing regression. @@ -1190,16 +1073,11 @@ index 2fa8660..d91d6ff 100644 --R Type: List List Complex Float --E 17 - - - \start -From: Tim Daly Date: Fri, 5 Dec 2008 18:05:47 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081205.02.tpd.patch (schaum17 fix 14.355, - 14.356) +Subject: 20081205.02.tpd.patch (schaum17 fix 14.355, 14.356) Tim Lahey pointed out that the 'ax' term in these two equations should properly be 'a*x'. The equations still do not simplify. @@ -1373,15 +1251,11 @@ index 4073795..f395d21 100644 "Bob McElrath Michael McGettrick Ian Meikle" "David Mentre Victor S. Miller Gerard Milmeister" - - \start +Date: Sat, 06 Dec 2008 15:04:15 -0500 From: William Sit -Subject: Re: 20081202.02.tpd.patch (website - download.html add Doyen Thumbdrive) +Subject: Re: 20081202.02.tpd.patch (website download.html add Doyen Thumbdrive) To: Alfredo Portes,Tim Daly -Date: Sat, 06 Dec 2008 15:04:15 -0500 -Cc: list Dear Tim and Alfredo: @@ -1486,25 +1360,11 @@ drwxr-xr-x 2 root root 1024 2008-08-08 18:53 usr drwxr-xr-x 3 root root 1024 2008-08-08 18:53 var doyen@doyen:~$ -Sorry about these reports. - -William - - -William Sit, Professor Emeritus -Mathematics, City College of New York -Office: R6/202C Tel: 212-650-5179 -Home Page: http://scisun.sci.ccny.cuny.edu/~wyscc/ - - - \start -From: Tim Daly Date: Sun, 7 Dec 2008 07:04:24 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081206.01.tpd.patch (regression file fixed - created) +Subject: 20081206.01.tpd.patch (regression file fixed created) This adds 267 new tests to the Axiom regression test suite. ====================================================================== @@ -1521,7 +1381,7 @@ index beaca4a..02caa58 100644 +20081205 txl src/input/schaum17.input fix 14.355, 14.356 +20081205 tpd src/interp/setq.lisp add Tim Lahey +20081205 tpd readme add Tim Lahey -+20081205 txl Tim Lahey ++20081205 txl Tim Lahey 20081205 tpd src/axiom-website/patches.html 20081205.01.tpd.patch 20081205 tpd src/algebra/integer.spad fix r21bugsbig regression 20081205 tpd src/input/r20bugs.input.pamphlet fix regression @@ -8900,15 +8760,11 @@ index 6c5e67c..fdc11a2 100644 --R 2a x - %pi --R (- sin(a x) - cos(a x) - 1)tan(----------) - 2cos(a x) - 2 - - \start -From: William Sit -Subject: Re: 20081202.02.tpd.patch (website - download.html add Doyen Thumbdrive) -To: Alfredo Portes, Tim Daly Date: Sun, 07 Dec 2008 16:28:28 -0500 -Cc: list +To: Alfredo Portes, Tim Daly +From: William Sit +Subject: Re: 20081202.02.tpd.patch (website download.html add Doyen Thumbdrive) Dear Tim and Alfredo: @@ -8942,29 +8798,19 @@ drivers from the Windows system, but that becomes a catch-22 situation. However, it is quite robust, unlike Doyen, which crashes sometimes on shutdown. - -William - - - \start -From: Tim Daly Date: Mon, 8 Dec 2008 11:07:06 -0600 +From: Tim Daly To: list -Cc: Subject: Axiom thumbdrive You can build a writeable thumbdrive following the instructions at -CC: list +From: Karl Hegbloom +To: list Subject: Re: Axiom thumbdrive Tim Daly wrote: @@ -8976,16 +8822,11 @@ Ubuntu 8.10 (Intrepid Ibex) provides a "create USB startup disk" applet on the System->Administration menu. It would probably not be very difficult to have TeXmacs and Axiom installed on a USB stick. - - - \start -From: Tim Daly Date: Tue, 9 Dec 2008 15:20:04 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081208.01.tpd.patch (CATS hyperbolicrules.input - added) +Subject: 20081208.01.tpd.patch (CATS hyperbolicrules.input added) hyperbolicrules.input is a computer algebra test suite (CATS) regression file that tests Axiom's handling of rule-based pattern rewrites for @@ -12187,13 +12028,10 @@ index 0000000..fd3af28 +\end{thebibliography} +\end{document} - - \start -From: Tim Daly Date: Tue, 9 Dec 2008 20:45:14 -0600 +From: Tim Daly To: list -Cc: Subject: ISSAC 2009 Call for Papers CALL FOR PAPERS ISSAC 2009 @@ -12267,17 +12105,12 @@ and presents her or his paper. REPEATING DATES -Submit by Jan. 24, 23:59 EST; accept/reject by Mar. 30; Conf. Jul. 28-31, 2009. - -==========================End=of=ISSAC=2009=CALL=FOR=PAPERS======================= - - +Submit by Jan. 24, 23:59 EST; accept/reject by Mar. 30; Conf. Jul. 28-31, 2009 \start -From: Tim Daly Date: Wed, 10 Dec 2008 13:20:22 -0600 +From: Tim Daly To: list -Cc: Subject: 20081209.01.tpd.patch (bookvol10.3 add domains) More domains were moved into the Axiom algebra domain volume. @@ -12285,15 +12118,10 @@ More domains were moved into the Axiom algebra domain volume. The patch is too large to post. See -Tim - - - \start -From: Tim Daly Date: Thu, 11 Dec 2008 20:29:24 -0600 +From: Tim Daly To: list -Cc: Subject: 20081210.01.tpd.patch (bookvol10.3 add domains) Add additional domains to volume 10.3 @@ -12302,15 +12130,11 @@ along with fixes for regression tests and the table of contents. The patch is to large to include. See - - \start -From: Tim Daly Date: Fri, 12 Dec 2008 13:32:31 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081211.01.tpd.patch (regression test suite - cleanup) +Subject: 20081211.01.tpd.patch (regression test suite cleanup) The patch cleans up some minor breakage in the regression test suite. @@ -18000,13 +17824,10 @@ index f838d24..0000000 -\end{thebibliography} -\end{document} - - \start -From: Tim Daly Date: Sat, 13 Dec 2008 13:34:51 -0600 +From: Tim Daly To: list -Cc: Subject: 20081212.01.tpd.patch (bookvol10.3 add domains) More domains were moved to book volume 10.3 @@ -18014,15 +17835,10 @@ More domains were moved to book volume 10.3 Patch available at: -Tim - - - \start -From: Tim Daly Date: Sun, 14 Dec 2008 00:22:10 -0600 +From: Tim Daly To: list -Cc: Subject: 20081213.01.tpd.patch (lisp move to gcl-pre3) Move Axiom to the lastest GCL sources. @@ -18137,17 +17953,11 @@ index 56ed9a4..4af04b1 100644 ifeq ($(ARRS),) ARRS:=ar rs - - \start Date: Sun, 14 Dec 2008 04:18:36 -0500 From: Tim Daly -To: rcari2000@yahoo.com - Roberto Cari on Sat, 13 Dec 2008 19:55:18 -0800 (PST)) - recognized. -Cc: list -Subject: Re: [Axiom-mail] Axiom installation on Vector - linux +To: Roberto Cari +Subject: Re: [Axiom-mail] Axiom installation on Vector linux I can reproduce your problem but do not yet have a solution. @@ -18157,25 +17967,12 @@ of libXpm does not contain XpmReadFileToImage. I'm not sure why libXpm.a is missing this function. I'm still searching for clues. -Tim - - - \start Date: Sun, 14 Dec 2008 04:49:10 -0500 From: Tim Daly -To: rcari2000@yahoo.com - Roberto Cari on Sun, 14 Dec 2008 01:16:55 -0800 (PST)) - recognized. -Cc: list -Subject: Re: [Axiom-mail] Axiom installation on Vector - linux - -> From: Tim Daly -> Subject: Re: [Axiom-mail] Axiom installation on Vector linux -> To: rcari2000@yahoo.com -> Cc: Tim Daly, list -> Date: Sunday, December 14, 2008, 10:18 AM +To: Roberto Cari +Subject: Re: [Axiom-mail] Axiom installation on Vector linux + > I can reproduce your problem but do not yet have a solution. > > make LDF="-L/usr/lib" should work but the vector @@ -18190,15 +17987,10 @@ take some time for me to create and test a general purpose patch to flatten this issue. Its nearly 5am here so I'll look at it after I get some sleep. -Tim - - - \start -From: Tim Daly Date: Sun, 14 Dec 2008 12:42:33 -0600 +From: Tim Daly To: list -Cc: Subject: 20081213.02.tpd.patch (bookvol10.3 add domains) More domains were moved to book volume 10.3 @@ -18206,21 +17998,11 @@ More domains were moved to book volume 10.3 Patch is available at: http://axiom-developer.org/axiom-website/patches.html#latest -Tim - - - \start Date: Mon, 15 Dec 2008 02:45:19 -0500 From: Tim Daly -To: rcari2000@yahoo.com - Roberto Cari on Sun, 14 Dec 2008 01:55:54 -0800 (PST)) - recognized. -Cc: list -Subject: Re: [Axiom-mail] Axiom installation on Vector - linux - -Rob, +To: Roberto Cari +Subject: Re: [Axiom-mail] Axiom installation on Vector linux I should note that you have a running axiom called AXIOMsys on your system. If the $AXIOM and $PATH variables are set per instructions then you can @@ -18229,18 +18011,11 @@ just type AXIOMsys and it will start. So you don't have to wait for my patch. My patch involves the graphics subsystem. -Tim - - - \start Date: Mon, 15 Dec 2008 10:23:36 -0500 From: Tim Daly -To: rcari2000@yahoo.com - recognized. -Cc: list, axiom-mail@nongnu.org -Subject: Re: [Axiom-mail] Axiom installation on Vector - linux +To: Roberto Cari +Subject: Re: [Axiom-mail] Axiom installation on Vector linux Rob, @@ -18265,15 +18040,10 @@ axiom Let me know if there are any other problems. -Tim - - - \start -From: Tim Daly Date: Mon, 15 Dec 2008 10:33:55 -0600 +From: Tim Daly To: list -Cc: Subject: 20081214.01.tpd.patch (bookvol3 add domains) More domains were moved to book volume 3. @@ -18281,17 +18051,11 @@ More domains were moved to book volume 3. Patch is at http://axiom-developer.org/axiom-developer/patches.html#latest -Tim - - - \start -From: Tim Daly Date: Mon, 15 Dec 2008 10:40:15 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081215.01.tpd.patch (download.html add vector - linux) +Subject: 20081215.01.tpd.patch (download.html add vector linux) Vector Linux is now a supported Axiom platform. It was added to the list on the download page. @@ -18360,31 +18124,21 @@ index 2615787..269373e 100644 \ No newline at end of file - - \start -From: Tim Daly Date: Tue, 16 Dec 2008 02:06:11 -0600 +From: Tim Daly To: list - seldom 2.4 (older, 4) -Cc: Subject: 20081215.02.tpd.patch (bookvol10.3 add domains) More domains were added to book volume 10.3 See http://axiom-developer.org/axiom-website/patches.html#latest -Tim - - - \start -From: Tim Daly Date: Tue, 16 Dec 2008 08:56:38 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081216.01.tpd.patch (bookvol7.1 give complete - path to htadd) +Subject: 20081216.01.tpd.patch (bookvol7.1 give complete path to htadd) The build process should not depend on the PATH variable to find htadd @@ -18425,15 +18179,11 @@ index 3452f13..52ae287 100644 \ No newline at end of file - - \start -From: Tim Daly Date: Tue, 16 Dec 2008 10:02:45 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081216.02.tpd.patch (biquat.input fix - regression) +Subject: 20081216.02.tpd.patch (biquat.input fix regression) biquat.input has the name of the source file in the )show output. The source file has changed. The regression is fixed. @@ -18479,12 +18229,10 @@ index bfb3165..2290150 100644 --R ?=? : (%,%) -> Boolean coerce : Equation F -> % - \start -From: Tim Daly Date: Tue, 16 Dec 2008 21:46:00 -0600 +From: Tim Daly To: list -Cc: Subject: 20081216.03.tpd.patch (bookvol10.3 add domains) Add more domains to book volume 10.3 @@ -18492,15 +18240,10 @@ Add more domains to book volume 10.3 Patch is at http://axiom-developer.org/axiom-website/patches.html#latest -Tim - - - \start -From: Tim Daly Date: Wed, 17 Dec 2008 17:22:30 -0600 +From: Tim Daly To: list -Cc: Subject: 20081216.04.tpd.patch (bookvol10.3 add domains) Move more domains to bookvol10.3 @@ -18508,15 +18251,10 @@ Move more domains to bookvol10.3 Patch is at http://axiom-developer.org/axiom-website/patches.html#latest -Tim - - - \start -From: Tim Daly Date: Wed, 17 Dec 2008 17:31:03 -0600 +From: Tim Daly To: list -Cc: Subject: 20081217.01.tpd.patch (padic.spad removed) Remove padic.spad.pamphlet. @@ -19127,43 +18865,38 @@ index a7c066a..3189281 100644 \ No newline at end of file - - \start -From: Tim Daly Date: Thu, 18 Dec 2008 00:31:38 -0600 +From: Tim Daly To: list -MIME-version: 1.0 - mBI6Veug029517 -Cc: Subject: 20081217.02.tpd.patch (add guess package) Add Martin Rubey's Guess package to build process -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +========================== +========================== +===================== diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet index 4a12546..7d78657 100644 --- a/books/bookvol10.3.pamphlet +++ b/books/bookvol10.3.pamphlet -@@ -32337,6 +32337,151 @@ GraphImage (): Exports =3D=3D Implementation wh= +@@ -32337,6 +32337,151 @@ GraphImage (): Exports == Implementation wh= ere -=20 + @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%= % +\section{domain GOPT GuessOption} +\pagehead{GuessOption}{GOPT} +\pagepic{ps/v103guessoption.ps}{GOPT}{1.00} -+<>=3D ++<>= +)abbrev domain GOPT GuessOption +++ Author: Martin Rubey +++ Description: GuessOption is a domain whose elements are various optio= ns used +++ by \spadtype{Guess}. -+GuessOption(): Exports =3D=3D Implementation where=20 ++GuessOption(): Exports == Implementation where + -+ Exports =3D=3D SetCategory with ++ Exports == SetCategory with + + maxDerivative: Integer -> % + ++ maxDerivative(d) specifies the maximum derivative in an algebra= @@ -19172,13 +18905,13 @@ ic imum + ++ derivative can be arbitrary. This option is expressed in the fo= rm -+ ++ \spad{maxDerivative =3D=3D d}. ++ ++ \spad{maxDerivative == d}. + + maxShift: Integer -> % + ++ maxShift(d) specifies the maximum shift in a recurrence + ++ equation. maxShift(-1) specifies that the maximum shift can be + ++ arbitrary. This option is expressed in the form \spad{maxShift = -=3D=3D d}. +== d}. + + maxPower: Integer -> % + ++ maxPower(d) specifies the maximum degree in an algebraic differ= @@ -19187,13 +18920,13 @@ ential -1) + ++ specifies that the maximum exponent can be arbitrary. This opti= on is -+ ++ expressed in the form \spad{maxPower =3D=3D d}. ++ ++ expressed in the form \spad{maxPower == d}. + + homogeneous: Boolean -> % + ++ homogeneous(d) specifies whether we allow only homogeneous alge= braic + ++ differential equations. This option is expressed in the form -+ ++ \spad{homogeneous =3D=3D d}. ++ ++ \spad{homogeneous == d}. + + maxLevel: Integer -> % + ++ maxLevel(d) specifies the maximum number of recursion levels op= @@ -19201,7 +18934,7 @@ erators + ++ guessProduct and guessSum will be applied. maxLevel(-1) specif= ies + ++ that all levels are tried. This option is expressed in the form -+ ++ \spad{maxLevel =3D=3D d}. ++ ++ \spad{maxLevel == d}. + + maxDegree: Integer -> % + ++ maxDegree(d) specifies the maximum degree of the coefficient @@ -19210,10 +18943,10 @@ n with + ++ polynomial coefficients. For rational functions with an exponen= tial + ++ term, \spad{maxDegree} bounds the degree of the denominator -+ ++ polynomial.=20 ++ ++ polynomial. + ++ maxDegree(-1) specifies that the maximum + ++ degree can be arbitrary. This option is expressed in the form -+ ++ \spad{maxDegree =3D=3D d}. ++ ++ \spad{maxDegree == d}. + + allDegrees: Boolean -> % + ++ allDegrees(d) specifies whether all possibilities of the degree= @@ -19222,39 +18955,39 @@ tial ly + ++ interesting for rational interpolation. This option is expresse= d in -+ ++ the form \spad{allDegrees =3D=3D d}. ++ ++ the form \spad{allDegrees == d}. + + safety: NonNegativeInteger -> % + ++ safety(d) specifies the number of values reserved for testing a= ny + ++ solutions found. This option is expressed in the form \spad{saf= -ety =3D=3D +ety == + ++ d}. + + one: Boolean -> % + ++ one(d) specifies whether we are happy with one solution. This o= ption -+ ++ is expressed in the form \spad{one =3D=3D d}. ++ ++ is expressed in the form \spad{one == d}. + + debug: Boolean -> % + ++ debug(d) specifies whether we want additional output on the -+ ++ progress. This option is expressed in the form \spad{debug =3D=3D= ++ ++ progress. This option is expressed in the form \spad{debug === d}. + + functionName: Symbol -> % + ++ functionName(d) specifies the name of the function given by the + ++ algebraic differential equation or recurrence. This option is -+ ++ expressed in the form \spad{functionName =3D=3D d}. ++ ++ expressed in the form \spad{functionName == d}. + + variableName: Symbol -> % + ++ variableName(d) specifies the variable used in by the algebraic + ++ differential equation. This option is expressed in the form -+ ++ \spad{variableName =3D=3D d}. ++ ++ \spad{variableName == d}. + + indexName: Symbol -> % + ++ indexName(d) specifies the index variable used for the formulas= . This -+ ++ option is expressed in the form \spad{indexName =3D=3D d}. ++ ++ option is expressed in the form \spad{indexName == d}. + + displayAsGF: Boolean -> % + ++ displayAsGF(d) specifies whether the result is a generating fun= @@ -19264,60 +18997,60 @@ ction + ++ by the HP-specification. + + option : (List %, Symbol) -> Union(Any, "failed") -+ ++ option() is not to be used at the top level;=20 ++ ++ option() is not to be used at the top level; + ++ option determines internally which drawing options are indicate= -d in=20 +d in + ++ a draw command. + + option?: (List %, Symbol) -> Boolean + ++ option?() is not to be used at the top level; -+ ++ option? internally returns true for drawing options which are=20 ++ ++ option? internally returns true for drawing options which are + ++ indicated in a draw command, or false for those which are not. + + checkOptions: List % -> Void + ++ checkOptions checks whether an option is given twice + -+ Implementation =3D=3D> add ++ Implementation ==> add + import AnyFunctions1(Boolean) + import AnyFunctions1(Symbol) + import AnyFunctions1(Integer) + import AnyFunctions1(NonNegativeInteger) + -+ Rep :=3D Record(keyword: Symbol, value: Any) -+ -+ maxLevel d =3D=3D ["maxLevel"::Symbol, d::Any] -+ maxDerivative d =3D=3D ["maxDerivative"::Symbol, d::Any] -+ maxShift d =3D=3D maxDerivative d -+ maxDegree d =3D=3D ["maxDegree"::Symbol, d::Any] -+ allDegrees d =3D=3D ["allDegrees"::Symbol, d::Any] -+ maxPower d =3D=3D ["maxPower"::Symbol, d::Any] -+ safety d =3D=3D ["safety"::Symbol, d::Any] -+ homogeneous d =3D=3D ["homogeneous"::Symbol, d::Any] -+ debug d =3D=3D ["debug"::Symbol, d::Any] -+ one d =3D=3D ["one"::Symbol, d::Any] -+ functionName d =3D=3D ["functionName"::Symbol, d::Any] -+ variableName d =3D=3D ["variableName"::Symbol, d::Any] -+ indexName d =3D=3D ["indexName"::Symbol, d::Any] -+ displayAsGF d =3D=3D ["displayAsGF"::Symbol, d::Any] -+ -+ coerce(x:%):OutputForm =3D=3D x.keyword::OutputForm =3D x.value::Out= ++ Rep := Record(keyword: Symbol, value: Any) ++ ++ maxLevel d == ["maxLevel"::Symbol, d::Any] ++ maxDerivative d == ["maxDerivative"::Symbol, d::Any] ++ maxShift d == maxDerivative d ++ maxDegree d == ["maxDegree"::Symbol, d::Any] ++ allDegrees d == ["allDegrees"::Symbol, d::Any] ++ maxPower d == ["maxPower"::Symbol, d::Any] ++ safety d == ["safety"::Symbol, d::Any] ++ homogeneous d == ["homogeneous"::Symbol, d::Any] ++ debug d == ["debug"::Symbol, d::Any] ++ one d == ["one"::Symbol, d::Any] ++ functionName d == ["functionName"::Symbol, d::Any] ++ variableName d == ["variableName"::Symbol, d::Any] ++ indexName d == ["indexName"::Symbol, d::Any] ++ displayAsGF d == ["displayAsGF"::Symbol, d::Any] ++ ++ coerce(x:%):OutputForm == x.keyword::OutputForm = x.value::Out= putForm -+ x:% =3D y:% =3D=3D x.keyword =3D y.keyword and x.value = -=3D y.value ++ x:% = y:% == x.keyword = y.keyword and x.value = += y.value + -+ option?(l, s) =3D=3D ++ option?(l, s) == + for x in l repeat -+ x.keyword =3D s =3D> return true ++ x.keyword = s => return true + false + -+ option(l, s) =3D=3D ++ option(l, s) == + for x in l repeat -+ x.keyword =3D s =3D> return(x.value) ++ x.keyword = s => return(x.value) + "failed" + -+ checkOptions l =3D=3D ++ checkOptions l == + if not empty? l then -+ if find((first l).keyword =3D #1.keyword, rest l) case "failed" ++ if find((first l).keyword = #1.keyword, rest l) case "failed" + then checkOptions rest l + else error "GuessOption: Option specified twice" + @@ -19345,24 +19078,24 @@ t + \pagehead{SparseUnivariatePolynomialExpressions}{SUPEXPR} \pagepic{ps/v103sparseunivariatepolynomialexpressions.ps}{SUPEXPR}{1.00} - <>=3D + <>= @@ -69826,6 +69973,11 @@ SparseUnivariatePolynomialExpressions(R: Ring): = -Exports =3D=3D Implementation where - Implementation =3D=3D SparseUnivariatePolynomial R add -=20 +Exports == Implementation where + Implementation == SparseUnivariatePolynomial R add + if R has TranscendentalFunctionCategory then -+ log(p: %): % =3D=3D -+ ground? p =3D> coerce log ground p -+ output(hconcat("log p for p=3D ", p::OutputForm))$Output= ++ log(p: %): % == ++ ground? p => coerce log ground p ++ output(hconcat("log p for p= ", p::OutputForm))$Output= Package + error "SUPTRAFUN: log only defined for elements of the c= oefficient ring" + - exp(p: %): % =3D=3D - ground? p =3D> coerce exp ground p - output(hconcat("exp p for p=3D ", p::OutputForm))$Output= + exp(p: %): % == + ground? p => coerce exp ground p + output(hconcat("exp p for p= ", p::OutputForm))$Output= Package -@@ -80133,6 +80285,16 @@ TwoDimensionalViewport ():Exports =3D=3D Impleme= +@@ -80133,6 +80285,16 @@ TwoDimensionalViewport ():Exports == Impleme= ntation where %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%= % @@ -19372,9 +19105,9 @@ ntation where +\section{domain UFPS UnivariateFormalPowerSeries} +\pagehead{UnivariateFormalPowerSeries}{UFPS} +\pagepic{ps/v103univariateformalpowerseries.ps}{UFPS}{1.00} -+<>=3D ++<>= +)abbrev domain UFPS UnivariateFormalPowerSeries -+UnivariateFormalPowerSeries(Coef: Ring) =3D=3D=20 ++UnivariateFormalPowerSeries(Coef: Ring) == + UnivariateTaylorSeries(Coef, 'x, 0$Coef) + +@ @@ -19389,14 +19122,14 @@ ted catdef.spad file. <> <> +<> -=20 + <> <> @@ -91321,6 +91484,7 @@ Note that this code is not included in the genera= ted catdef.spad file. <> <> -=20 + +<> <> <> @@ -19428,7 +19161,7 @@ index 22de514..ce9ddba 100644 +++ b/src/algebra/Makefile.pamphlet @@ -422,7 +422,9 @@ xlpoly.spad.pamphlet (MAGMA LWORD LIECAT FLALG XEXPPK= G LPOLY PBWLB XPBWPOLY - LAYER11=3D\ + LAYER11=\ ${OUT}/APPLYORE.o ${OUT}/ARRAY1.o ${OUT}/ARRAY12.o ${OUT}/ARRAY2.o = \ ${OUT}/ASTACK.o ${OUT}/BTAGG.o ${OUT}/BTAGG-.o ${OUT}/COMBINAT.= @@ -19444,7 +19177,7 @@ o \ o \ ${OUT}/IRREDFFX.o ${OUT}/LFCAT.o ${OUT}/LODOCAT.o ${OUT}/LODOCAT-.= o \ -@@ -579,7 +581,8 @@ LAYER14=3D\ +@@ -579,7 +581,8 @@ LAYER14=\ ${OUT}/D01AQFA.o ${OUT}/EMR.o ${OUT}/EQ.o ${OUT}/ERROR.o = \ ${OUT}/EVALCYC.o ${OUT}/E04DGFA.o ${OUT}/E04FDFA.o ${OUT}/E04GCFA.o= @@ -19461,7 +19194,7 @@ o \ \ ${OUT}/FINRALG-.o ${OUT}/FFF.o ${OUT}/FLOATRP.o ${OUT}/FNAME.o = \ -@@ -616,7 +619,8 @@ LAYER14=3D\ +@@ -616,7 +619,8 @@ LAYER14=\ ${OUT}/SCPKG.o ${OUT}/SHDP.o ${OUT}/SHP.o ${OUT}/SIGNRF.o = \ ${OUT}/SMITH.o ${OUT}/SMP.o ${OUT}/SMTS.o ${OUT}/SOLVEFOR.= @@ -19479,8 +19212,8 @@ o \ ${OUT}/UPDECOMP.o ${OUT}/UPDIVP.o ${OUT}/UPMP.o ${OUT}/UPOLYC2.o= \ @@ -635,6 +639,7 @@ plot.spad.pamphlet (PLOT PLOT1) -=20 - LAYER15=3D\ + + LAYER15=\ ${OUT}/DIAGG.o ${OUT}/DIAGG-.o ${OUT}/DSMP.o ${OUT}/EXPUPXS.o = \ + ${OUT}/FFFGF.o \ @@ -19490,7 +19223,7 @@ o \ \ ${OUT}/SMATCAT.o ${OUT}/SMATCAT-.o ${OUT}/TUBETOOL.o ${OUT}/UPXSCCA.o = \ -@@ -762,7 +767,8 @@ LAYER19=3D\ +@@ -762,7 +767,8 @@ LAYER19=\ ${OUT}/FFCAT.o ${OUT}/FFCAT-.o ${OUT}/FFCGP.o ${OUT}/FFNBP.o = \ ${OUT}/FFP.o ${OUT}/FLOAT.o ${OUT}/FPARFRAC.o ${OUT}/FR.o = @@ -19508,7 +19241,7 @@ o \ \ ${OUT}/LMDICT.o ${OUT}/LODOOPS.o ${OUT}/MATRIX.o ${OUT}/MKFLCFN.o= \ -@@ -865,6 +871,7 @@ LAYER20=3D\ +@@ -865,6 +871,7 @@ LAYER20=\ ${OUT}/FORDER.o ${OUT}/FORTRAN.o ${OUT}/FSRED.o ${OUT}/FSUPFACT.= o \ ${OUT}/FRNAAF2.o ${OUT}/FSPECF.o ${OUT}/FS2.o ${OUT}/FS2UPS.o = @@ -19522,7 +19255,7 @@ o \ o \ ${OUT}/INTAF.o ${OUT}/INTALG.o ${OUT}/INTEF.o ${OUT}/INTG0.o = \ -@@ -881,9 +888,10 @@ LAYER20=3D\ +@@ -881,9 +888,10 @@ LAYER20=\ ${OUT}/RDEEF.o ${OUT}/RDEEFS.o ${OUT}/RDIV.o ${OUT}/RSETCAT.o= \ ${OUT}/RSETCAT-.o ${OUT}/RULE.o ${OUT}/RULESET.o ${OUT}/SIMPAN.o = @@ -19539,11 +19272,11 @@ o \ - ${OUT}/UTS2.o ${OUT}/WUTSET.o \ + ${OUT}/UTSSOL.o ${OUT}/UTS2.o ${OUT}/WUTSET.o \ layer20done - =20 + @ @@ -918,12 +926,15 @@ taylor.spad.pamphlet (ITAYLOR UTS UTS2) -=20 - LAYER21=3D\ + + LAYER21=\ ${OUT}/DEFINTEF.o ${OUT}/DFINTTLS.o ${OUT}/DEFINTRF.o ${OUT}/D01TRNS.o= \ - ${OUT}/EFULS.o ${OUT}/ESCONT.o ${OUT}/EXPR.o ${OUT}/EXPR2UPS.= @@ -19568,10 +19301,10 @@ o \ + ${OUT}/ULS.o \ ${OUT}/ULSCONS.o ${OUT}/UPXS.o ${OUT}/UPXSCONS.o ${OUT}/UTS.o \ layer21done -=20 + @@ -949,6 +960,7 @@ zerodim.spad.pamphlet (RGCHAIN ZDSOLVE) -=20 - LAYER22=3D\ + + LAYER22=\ ${OUT}/ASP29.o ${OUT}/COMBF.o ${OUT}/D01AGNT.o ${OUT}/FSPRMELT.= o \ + ${OUT}/GUESS.o \ @@ -19582,9 +19315,9 @@ o \ ${OUT}/RSDCMPK.o ${OUT}/SFRTCAT.o ${OUT}/SIGNEF.o ${OUT}/SNTSCAT.o= \ @@ -975,12 +987,21 @@ zerodim.spad.pamphlet (LEXTRIPK IRURPK RURPK) - <>=3D -=20 - LAYER23=3D\ + <>= + + LAYER23=\ - ${OUT}/CPIMA.o ${OUT}/IRURPK.o ${OUT}/LAZM3PK.o ${OUT}/LEXTRIPK.= o \ + ${OUT}/CPIMA.o ${OUT}/GUESSAN.o ${OUT}/GUESSINT.o \ @@ -19594,11 +19327,11 @@ o \ \ ${OUT}/SFQCMPK.o ${OUT}/INTRVL.o ${OUT}/ODEEF.o \ layer23done -=20 + @ -+<>=3D ++<>= + -+LAYER24=3D\ ++LAYER24=\ + ${OUT}/GUESSF.o \ + layer24done + @@ -19607,13 +19340,13 @@ o \ Rather than classify newly created algebra into the existing type lattic= e we add it here. -@@ -998,9 +1019,184 @@ ORDER=3D\ +@@ -998,9 +1019,184 @@ ORDER=\ ${LAYER4} ${LAYER5} ${LAYER6} ${LAYER7} ${LAYER8} ${LAYER9} \ ${LAYER10} ${LAYER11} ${LAYER12} ${LAYER13} ${LAYER14} ${LAYER15} \ ${LAYER16} ${LAYER17} ${LAYER18} ${LAYER19} ${LAYER20} ${LAYER21} \ - ${LAYER22} ${LAYER23} ${USERLAYER} ${LAYER0COPY} + ${LAYER22} ${LAYER23} ${LAYER24} ${USERLAYER} ${LAYER0COPY} -=20 + @ +\section{New Algebra dependencies} + @@ -19621,9 +19354,9 @@ e +are not part of the default database we need to be explicit about the +new files being loaded with the library command. + -+<>=3D ++<>= + -+FFFGFDEPS =3D FAMR2 FFFG ++FFFGFDEPS = FAMR2 FFFG + +${MID}/FFFGF.nrlib/code.o: ${MID}/FFFGF.spad + @echo S1 making ${MID}/FFFGF.nrlib/code.o from ${MID}/FFFGF.spad @@ -19635,7 +19368,7 @@ e + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) + -+UTSSOLDEPS =3D SUPEXPR ++UTSSOLDEPS = SUPEXPR + +${MID}/UTSSOL.nrlib/code.o: ${MID}/UTSSOL.spad + @echo S1 making ${MID}/UTSSOL.nrlib/code.o from ${MID}/UTSSOL.spad @@ -19647,7 +19380,7 @@ e + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) + -+EXPRSOLDEPS =3D SUPEXPR UTSSOL ++EXPRSOLDEPS = SUPEXPR UTSSOL + +${MID}/EXPRSOL.nrlib/code.o: ${MID}/EXPRSOL.spad + @echo S1 making ${MID}/EXPRSOL.nrlib/code.o from ${MID}/EXPRSOL.spad @@ -19660,7 +19393,7 @@ e + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) + -+GOPT0DEPS =3D GOPT ++GOPT0DEPS = GOPT + +${MID}/GOPT0.nrlib/code.o: ${MID}/GOPT0.spad + @echo S1 making ${MID}/GOPT0.nrlib/code.o from ${MID}/GOPT0.spad @@ -19672,7 +19405,7 @@ e + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) + -+RECOPDEPS =3D SUPEXPR UTSSOL EXPRSOL UFPS ++RECOPDEPS = SUPEXPR UTSSOL EXPRSOL UFPS + +${MID}/RECOP.nrlib/code.o: ${MID}/RECOP.spad + @echo S1 making ${MID}/RECOP.nrlib/code.o from ${MID}/RECOP.spad @@ -19684,7 +19417,7 @@ e + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) + -+UFPS1DEPS =3D UFPS ++UFPS1DEPS = UFPS + +${MID}/UFPS1.nrlib/code.o: ${MID}/UFPS1.spad + @echo S1 making ${MID}/UFPS1.nrlib/code.o from ${MID}/UFPS1.spad @@ -19696,7 +19429,7 @@ e + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) + -+GUESSDEPS =3D NEWTON FAMR2 FFFG FFFGF SUPEXPR UTSSOL EXPRSOL GOPT GOPT0 = ++GUESSDEPS = NEWTON FAMR2 FFFG FFFGF SUPEXPR UTSSOL EXPRSOL GOPT GOPT0 = \ + UFPS RECOP UFPS1 + @@ -19710,7 +19443,7 @@ e + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) + -+GUESSINTDEPS =3D NEWTON FAMR2 FFFG FFFGF SUPEXPR UTSSOL EXPRSOL GOPT GOP= ++GUESSINTDEPS = NEWTON FAMR2 FFFG FFFGF SUPEXPR UTSSOL EXPRSOL GOPT GOP= T0 \ + UFPS RECOP UFPS1 GUESS + @@ -19725,7 +19458,7 @@ T0 \ + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) + -+GUESSF1DEPS =3D NEWTON FAMR2 FFFG FFFGF SUPEXPR UTSSOL EXPRSOL GOPT GOPT= ++GUESSF1DEPS = NEWTON FAMR2 FFFG FFFGF SUPEXPR UTSSOL EXPRSOL GOPT GOPT= 0 \ + UFPS RECOP UFPS1 GUESS + @@ -19740,7 +19473,7 @@ T0 \ + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) + -+GUESSFDEPS =3D NEWTON FAMR2 FFFG FFFGF SUPEXPR UTSSOL EXPRSOL GOPT GOPT0= ++GUESSFDEPS = NEWTON FAMR2 FFFG FFFGF SUPEXPR UTSSOL EXPRSOL GOPT GOPT0= \ + UFPS RECOP UFPS1 GUESS GUESSF1 + @@ -19754,7 +19487,7 @@ T0 \ + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) + -+GUESSPDEPS =3D NEWTON FAMR2 FFFG FFFGF SUPEXPR UTSSOL EXPRSOL GOPT GOPT0= ++GUESSPDEPS = NEWTON FAMR2 FFFG FFFGF SUPEXPR UTSSOL EXPRSOL GOPT GOPT0= \ + UFPS RECOP UFPS1 GUESS + @@ -19768,7 +19501,7 @@ T0 \ + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) + -+GUESSANDEPS =3D NEWTON FAMR2 FFFG FFFGF SUPEXPR UTSSOL EXPRSOL GOPT GOPT= ++GUESSANDEPS = NEWTON FAMR2 FFFG FFFGF SUPEXPR UTSSOL EXPRSOL GOPT GOPT= 0 \ + UFPS RECOP UFPS1 GUESS + @@ -19783,7 +19516,7 @@ T0 \ + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) + -+GUESSUPDEPS =3D NEWTON FAMR2 FFFG FFFGF SUPEXPR UTSSOL EXPRSOL GOPT GOPT= ++GUESSUPDEPS = NEWTON FAMR2 FFFG FFFGF SUPEXPR UTSSOL EXPRSOL GOPT GOPT= 0 \ + UFPS RECOP UFPS1 GUESS + @@ -19806,23 +19539,23 @@ T0 \ These files are Aldor files \begin{verbatim} @@ -1073,6 +1269,16 @@ files. - INTERPSYS=3D${OBJ}/${SYS}/bin/interpsys -=20 + INTERPSYS=${OBJ}/${SYS}/bin/interpsys + @ +\subsection{The shell variable} +We use the ``-e'' flag to echo which is not supported by the ``sh'' +shell but is supported by ``bash''. The ``-e'' flag to echo causes +it to interpret special characters, in our case newlines. + -+<>=3D ++<>= + -+SHELL=3Dbash ++SHELL=bash + +@ \subsection{The SPADFILES list} Note that we have excluded {\bf mlift.spad.jhd} from this list. We need to figure out which mlift.spad to keep. -@@ -1204,7 +1410,7 @@ SPADFILES=3D \ +@@ -1204,7 +1410,7 @@ SPADFILES= \ ${OUTSRC}/viewdef.spad ${OUTSRC}/viewpack.spad \ ${OUTSRC}/void.spad \ ${OUTSRC}/weier.spad \ @@ -19830,8 +19563,8 @@ T0 \ + ${OUTSRC}/xlpoly.spad \ ${OUTSRC}/ystream.spad \ ${OUTSRC}/zerodim.spad -=20 -@@ -1356,7 +1562,7 @@ DOCFILES=3D \ + +@@ -1356,7 +1562,7 @@ DOCFILES= \ ${DOC}/viewdef.spad.dvi ${DOC}/viewpack.spad.dvi \ ${DOC}/void.spad.dvi \ ${DOC}/weier.spad.dvi \ @@ -19839,208 +19572,208 @@ T0 \ + ${DOC}/xlpoly.spad.dvi \ ${DOC}/ystream.spad.dvi \ ${DOC}/zerodim.spad.dvi -=20 + @@ -1729,122 +1935,127 @@ layer0copy: -=20 + layer0done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 0 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 0 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 0 of 23 complete ====== ++ @ echo === layer 0 of 24 complete ====== + @ echo ======================= +============ + layer1done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 1 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 1 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 1 of 23 complete ====== ++ @ echo === layer 1 of 24 complete ====== + @ echo ======================= +============ + layer2done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 2 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 2 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 2 of 23 complete ====== ++ @ echo === layer 2 of 24 complete ====== + @ echo ======================= +============ + layer3done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 3 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 3 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 3 of 23 complete ====== ++ @ echo === layer 3 of 24 complete ====== + @ echo ======================= +============ + layer4done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 4 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 4 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 4 of 23 complete ====== ++ @ echo === layer 4 of 24 complete ====== + @ echo ======================= +============ + layer5done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 5 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 5 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 5 of 23 complete ====== ++ @ echo === layer 5 of 24 complete ====== + @ echo ======================= +============ + layer6done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 6 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 6 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 6 of 23 complete ====== ++ @ echo === layer 6 of 24 complete ====== + @ echo ======================= +============ + layer7done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 7 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 7 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 7 of 23 complete ====== ++ @ echo === layer 7 of 24 complete ====== + @ echo ======================= +============ + layer8done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 8 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 8 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 8 of 23 complete ====== ++ @ echo === layer 8 of 24 complete ====== + @ echo ======================= +============ + layer9done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 9 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 9 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 9 of 23 complete ====== ++ @ echo === layer 9 of 24 complete ====== + @ echo ======================= +============ + layer10done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 10 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 10 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 10 of 23 complete ====== ++ @ echo === layer 10 of 24 complete ====== + @ echo ======================= +============ + layer11done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 11 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 11 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 11 of 23 complete ====== ++ @ echo === layer 11 of 24 complete ====== + @ echo ======================= +============ + layer12done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 12 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 12 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 12 of 23 complete ====== ++ @ echo === layer 12 of 24 complete ====== + @ echo ======================= +============ + layer13done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 13 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 13 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 13 of 23 complete ====== ++ @ echo === layer 13 of 24 complete ====== + @ echo ======================= +============ + layer14done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 14 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 14 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 14 of 23 complete ====== ++ @ echo === layer 14 of 24 complete ====== + @ echo ======================= +============ + layer15done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 15 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 15 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 15 of 23 complete ====== ++ @ echo === layer 15 of 24 complete ====== + @ echo ======================= +============ + layer16done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 16 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 16 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 16 of 23 complete ====== ++ @ echo === layer 16 of 24 complete ====== + @ echo ======================= +============ + layer17done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 17 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 17 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 17 of 23 complete ====== ++ @ echo === layer 17 of 24 complete ====== + @ echo ======================= +============ + layer18done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 18 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 18 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 18 of 23 complete ====== ++ @ echo === layer 18 of 24 complete ====== + @ echo ======================= +============ + layer19done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 19 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 19 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 19 of 23 complete ====== ++ @ echo === layer 19 of 24 complete ====== + @ echo ======================= +============ + layer20done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 20 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 20 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 20 of 23 complete ====== ++ @ echo === layer 20 of 24 complete ====== + @ echo ======================= +============ + layer21done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 21 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 21 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 21 of 23 complete ====== ++ @ echo === layer 21 of 24 complete ====== + @ echo ======================= +============ + layer22done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 22 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 22 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 + @ echo ======================= +============ +- @ echo === layer 22 of 23 complete ====== ++ @ echo === layer 22 of 24 complete ====== + @ echo ======================= +============ + layer23done: - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- @ echo =3D=3D=3D layer 23 of 23 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 23 of 24 complete =3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + @ echo ======================= +============ +- @ echo === layer 23 of 23 complete ====== ++ @ echo === layer 23 of 24 complete ====== ++ @ echo ======================= +============ + +layer24done: -+ @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -+ @ echo =3D=3D=3D layer 24 of 24 complete =3D=3D=3D=3D=3D=3D - @ echo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -=20 ++ @ echo ======================= +============ ++ @ echo === layer 24 of 24 complete ====== + @ echo ======================= +============ + @ @@ -2476,18 +2687,23 @@ ${HELP}/Library.help: ${BOOKS}/bookvol10.3.pamphl= et @@ -20056,7 +19789,7 @@ et + @${TANGLE} -R"LieExponentials.input" \ + ${BOOKS}/bookvol10.3.pamphlet \ >${INPUT}/LieExponentials.input -=20 + ${HELP}/LiePolynomial.help: ${BOOKS}/bookvol10.3.pamphlet - @echo 7041 create LiePolynomial.help from ${BOOKS}/bookvol10.3.pamphlet - @${TANGLE} -R"LiePolynomial.help" ${BOOKS}/bookvol10.3.pamphlet \ @@ -20070,12 +19803,12 @@ et + @${TANGLE} -R"LiePolynomial.input" \ + ${BOOKS}/bookvol10.3.pamphlet \ >${INPUT}/LiePolynomial.input -=20 + ${HELP}/LinearOrdinaryDifferentialOperator.help: ${BOOKS}/bookvol10.3.pa= mphlet @@ -2534,19 +2750,25 @@ ${HELP}/List.help: ${BOOKS}/bookvol10.3.pamphlet >${INPUT}/List.input -=20 + ${HELP}/LyndonWord.help: ${BOOKS}/bookvol10.3.pamphlet - @echo 7046 create LyndonWord.help from ${BOOKS}/bookvol10.3.pamphlet - @${TANGLE} -R"LyndonWord.help" ${BOOKS}/bookvol10.3.pamphlet \ @@ -20089,9 +19822,9 @@ mphlet + @${TANGLE} -R"LyndonWord.input" \ + ${BOOKS}/bookvol10.3.pamphlet \ >${INPUT}/LyndonWord.input -=20 --${HELP}/Magma.help: ${BOOKS}/bookvol10.3.pamphlet=20 -- @echo 7047 create Magma.help from ${BOOKS}/bookvol10.3.pamphlet=20 + +-${HELP}/Magma.help: ${BOOKS}/bookvol10.3.pamphlet +- @echo 7047 create Magma.help from ${BOOKS}/bookvol10.3.pamphlet - @${TANGLE} -R"Magma.help" ${BOOKS}/bookvol10.3.pamphlet \ +${HELP}/Magma.help: ${BOOKS}/bookvol10.3.pamphlet + @echo 7047 create Magma.help from \ @@ -20104,12 +19837,12 @@ mphlet + @${TANGLE} -R"Magma.input" \ + ${BOOKS}/bookvol10.3.pamphlet \ >${INPUT}/Magma.input -=20 + ${HELP}/MakeFunction.help: ${IN}/mkfunc.spad.pamphlet @@ -2954,20 +3176,25 @@ ${HELP}/XPBWPolynomial.help: ${BOOKS}/bookvol10.3= .pamphlet >${INPUT}/XPBWPolynomial.input -=20 + ${HELP}/XPolynomial.help: ${BOOKS}/bookvol10.3.pamphlet - @echo 7092 create XPolynomial.help from ${BOOKS}/bookvol10.3.pamphlet - @${TANGLE} -R"XPolynomial.help" ${BOOKS}/bookvol10.3.pamphlet \ @@ -20123,7 +19856,7 @@ mphlet + @${TANGLE} -R"XPolynomial.input" \ + ${BOOKS}/bookvol10.3.pamphlet \ >${INPUT}/XPolynomial.input -=20 + ${HELP}/XPolynomialRing.help: ${BOOKS}/bookvol10.3.pamphlet @echo 7093 create XPolynomialRing.help from \ ${BOOKS}/bookvol10.3.pamphlet @@ -20136,13 +19869,13 @@ mphlet + @${TANGLE} -R"XPolynomialRing.input" \ + ${BOOKS}/bookvol10.3.pamphlet \ >${INPUT}/XPolynomialRing.input -=20 + ${HELP}/ZeroDimensionalSolvePackage.help: ${IN}/zerodim.spad.pamphlet @@ -3022,6 +3249,8 @@ all: src ${OUT}/libdb.text ${DOCFILES} ${SPADBIN}/i= ndex.html \ ${SPADHELP} @ echo 4302 finished ${IN} -=20 + +<> + ${SPADBIN}/index.html: @@ -20181,14 +19914,14 @@ index c49b7f4..8402fb0 100644 @@ -48,7 +48,7 @@ FiniteAbelianMonoidRingFunctions2(E: OrderedAbelianMono= id, ++ Applications 22. - FractionFreeFastGaussian(D, V): Exports =3D=3D Implementation where + FractionFreeFastGaussian(D, V): Exports == Implementation where D: Join(IntegralDomain, GcdDomain) - V: AbelianMonoidRing(D, NonNegativeInteger) + V: AbelianMonoidRing(D, NonNegativeInteger) -- for example, SUP D -=20 - SUP =3D=3D> SparseUnivariatePolynomial -=20 -@@ -62,8 +62,18 @@ FractionFreeFastGaussian(D, V): Exports =3D=3D Impleme= + + SUP ==> SparseUnivariatePolynomial + +@@ -62,8 +62,18 @@ FractionFreeFastGaussian(D, V): Exports == Impleme= ntation where ++ \spad{fffg} is the general algorithm as proposed by Beckermann = and @@ -20215,13 +19948,13 @@ ced in + ++ Definition 2.1. In particular, the sum of the entries is the o= rder of + ++ the Mahler system computed. -=20 + interpolate: (List D, List D, NonNegativeInteger) -> Fraction SUP D ++ \spad{interpolate(xlist, ylist, deg} returns the rational funct= ion with -@@ -77,11 +87,11 @@ FractionFreeFastGaussian(D, V): Exports =3D=3D Implem= +@@ -77,11 +87,11 @@ FractionFreeFastGaussian(D, V): Exports == Implem= entation where -=20 + \begin{ToDo} The following function could be moved to [[FFFGF]], parallel to - [[generalInterpolation]]. However, the reason for moving @@ -20241,28 +19974,28 @@ essary, fact, [[V]] is not needed for [[fffg]] itself, only if we want to spec= ify a [[CoeffAction]]. -=20 -@@ -229,7 +239,7 @@ FractionFreeFastGaussian(D, V): Exports =3D=3D Implem= + +@@ -229,7 +239,7 @@ FractionFreeFastGaussian(D, V): Exports == Implem= entation where - generalInterpolation(C: List D, coeffAction: CoeffAction,=20 - f: Vector V,=20 - eta: List NonNegativeInteger): Matrix SUP D =3D= -=3D=20 -- =20 + generalInterpolation(C: List D, coeffAction: CoeffAction, + f: Vector V, + eta: List NonNegativeInteger): Matrix SUP D == += +- + - c: cFunction :=3D generalCoefficient(coeffAction, f, + c: cFunction := generalCoefficient(coeffAction, f, (#1-1)::NonNegativeInteger, #2) fffg(C, c, eta) @@ -270,7 +280,7 @@ non-negative components smaller than [[p]] with the s= ame sum as [[v]]. else - v.pos :=3D v.pos + 1 =20 - v.(pos-1) :=3D (v.(pos-1) - 1)::NonNegativeInteger -- =20 + v.pos := v.pos + 1 + v.(pos-1) := (v.(pos-1) - 1)::NonNegativeInteger +- + v @ -=20 + @@ -401,83 +411,107 @@ interpolation problem, if [[M.1.(2,1)]] vanishes. ------------------------------------------------------------------------= ------- @@ -20276,16 +20009,16 @@ ormulas +(cf. Table~2 in Beckermann and Labahn): +\begin{align*} + &\text{Increase order}\\ -+ &\quad\quad\text{for $\ell=3D1\dots m$, $\ell\neq\pi$}\\ -+ &\quad\quad\quad\quad\mathbf M_{\sigma+1}^{(.,\ell)} :=3D=20 -+ \left(\mathbf M_{\sigma}^{(.,\ell)}r^{(\pi)}=20 ++ &\quad\quad\text{for $\ell=1\dots m$, $\ell\neq\pi$}\\ ++ &\quad\quad\quad\quad\mathbf M_{\sigma+1}^{(.,\ell)} := ++ \left(\mathbf M_{\sigma}^{(.,\ell)}r^{(\pi)} + - \mathbf M_{\sigma}^{(.,\pi)}r^{(\ell)}\right)/d_\sigma\\ + &\text{Increase order in column $\pi$}\\ -+ &\quad\quad\mathbf M_{\sigma+1}^{(.,\pi)} :=3D=20 ++ &\quad\quad\mathbf M_{\sigma+1}^{(.,\pi)} := + \left(z-c_{\sigma,\sigma}\right)\mathbf M_{\sigma}^{(.,\pi)}\\ + &\text{Adjust degree constraints:}\\ -+ &\quad\quad\mathbf M_{\sigma+1}^{(.,\pi)} :=3D=20 -+ \left(\mathbf M_{\sigma+1}^{(.,\pi)}r^{(\pi)}=20 ++ &\quad\quad\mathbf M_{\sigma+1}^{(.,\pi)} := ++ \left(\mathbf M_{\sigma+1}^{(.,\pi)}r^{(\pi)} + - \sum_{\ell\neq\pi}\mathbf M_{\sigma+1}^{(.,\ell)}p^{(\ell)= } + \right)/d_\sigma @@ -20296,162 +20029,162 @@ e index +and update the matrix destructively. In the following, we write [[Ck]] = for +$c_{\sigma,\sigma}$. -=20 -+<>=3D + ++<>= -- a major part of the time is spent here - recurrence(M: Matrix SUP D, lambda: NonNegativeInteger, m: NonNegati= veInteger, + recurrence(M: Matrix SUP D, pi: NonNegativeInteger, m: NonNegativeIn= teger, r: Vector D, d: D, z: SUP D, Ck: D, p: Vector D): Matrix = -SUP D =3D=3D -=20 -- rLambda :=3D qelt(r, lambda) -- polyf :=3D rLambda * (z - Ck::SUP D) +SUP D == + +- rLambda := qelt(r, lambda) +- polyf := rLambda * (z - Ck::SUP D) - - for i in 1..m repeat -- Milambda :=3D qelt(M, i, lambda) -- newMilambda :=3D polyf * Milambda +- Milambda := qelt(M, i, lambda) +- newMilambda := polyf * Milambda - -+ rPi: D :=3D qelt(r, pi) -+ polyf: SUP D :=3D rPi * (z - Ck::SUP D) -=20 ---- update columns ~=3D lambda and calculate their sum -- for l in 1..m | l ~=3D lambda repeat -- rl :=3D qelt(r, l) -- Mil :=3D ((qelt(M, i, l) * rLambda - Milambda * rl) exquo = ++ rPi: D := qelt(r, pi) ++ polyf: SUP D := rPi * (z - Ck::SUP D) + +--- update columns ~= lambda and calculate their sum +- for l in 1..m | l ~= lambda repeat +- rl := qelt(r, l) +- Mil := ((qelt(M, i, l) * rLambda - Milambda * rl) exquo = d)::SUP D - qsetelt!(M, i, l, Mil) + for i in 1..m repeat -+ MiPi: SUP D :=3D qelt(M, i, pi) -+ newMiPi: SUP D :=3D polyf * MiPi -=20 -- pl :=3D qelt(p, l) -- newMilambda :=3D newMilambda - pl * Mil -+-- update columns ~=3D pi and calculate their sum -+ for l in 1..m | l ~=3D pi repeat -+ rl: D :=3D qelt(r, l) ++ MiPi: SUP D := qelt(M, i, pi) ++ newMiPi: SUP D := polyf * MiPi + +- pl := qelt(p, l) +- newMilambda := newMilambda - pl * Mil ++-- update columns ~= pi and calculate their sum ++ for l in 1..m | l ~= pi repeat ++ rl: D := qelt(r, l) +-- I need the coercion to SUP D, since exquo returns an element of +-- Union("failed", SUP D)... -+ Mil: SUP D :=3D ((qelt(M, i, l) * rPi - MiPi * rl) exquo= ++ Mil: SUP D := ((qelt(M, i, l) * rPi - MiPi * rl) exquo= d)::SUP D + qsetelt!(M, i, l, Mil) -=20 + --- update column lambda -+ pl: D :=3D qelt(p, l) -+ newMiPi :=3D newMiPi - pl * Mil -=20 ++ pl: D := qelt(p, l) ++ newMiPi := newMiPi - pl * Mil + - qsetelt!(M, i, lambda, (newMilambda exquo d)::SUP D) +-- update column pi + qsetelt!(M, i, pi, (newMiPi exquo d)::SUP D) -=20 + - M + M -=20 -=20 + + fffg(C: List D, c: cFunction, eta: List NonNegativeInteger): Matrix = -SUP D =3D=3D +SUP D == - - -- eta is the vector of degrees. We compute M with degrees eta+e_i-1, i=3D= -1..m=20 -- z: SUP D :=3D monomial(1, 1) -- m: NonNegativeInteger :=3D #eta -- M: Matrix SUP D :=3D scalarMatrix(m, 1) -- d: D :=3D 1 -- K: NonNegativeInteger :=3D reduce(_+, eta) -- etak: Vector NonNegativeInteger :=3D zero(m) -- r: Vector D :=3D zero(m) -- p: Vector D :=3D zero(m) + -- eta is the vector of degrees. We compute M with degrees eta+e_i-1, i== +1..m +- z: SUP D := monomial(1, 1) +- m: NonNegativeInteger := #eta +- M: Matrix SUP D := scalarMatrix(m, 1) +- d: D := 1 +- K: NonNegativeInteger := reduce(_+, eta) +- etak: Vector NonNegativeInteger := zero(m) +- r: Vector D := zero(m) +- p: Vector D := zero(m) - Lambda: List Integer - lambdaMax: Integer - lambda: NonNegativeInteger - - for k in 1..K repeat -+ z: SUP D :=3D monomial(1, 1) -+ m: NonNegativeInteger :=3D #eta -+ M: Matrix SUP D :=3D scalarMatrix(m, 1) -+ d: D :=3D 1 -+ K: NonNegativeInteger :=3D reduce(_+, eta) -+ etak: Vector NonNegativeInteger :=3D zero(m) -+ r: Vector D :=3D zero(m) -+ p: Vector D :=3D zero(m) ++ z: SUP D := monomial(1, 1) ++ m: NonNegativeInteger := #eta ++ M: Matrix SUP D := scalarMatrix(m, 1) ++ d: D := 1 ++ K: NonNegativeInteger := reduce(_+, eta) ++ etak: Vector NonNegativeInteger := zero(m) ++ r: Vector D := zero(m) ++ p: Vector D := zero(m) + Lambda: List Integer + lambdaMax: Integer + lambda: NonNegativeInteger + + for k in 1..K repeat - -- k =3D sigma+1 -=20 -- for l in 1..m repeat r.l :=3D c(k, column(M, l)) -+ for l in 1..m repeat r.l :=3D c(k, column(M, l)) -=20 -- Lambda :=3D [eta.l-etak.l for l in 1..m | r.l ~=3D 0] -+ Lambda :=3D [eta.l-etak.l for l in 1..m | r.l ~=3D 0] -=20 + -- k = sigma+1 + +- for l in 1..m repeat r.l := c(k, column(M, l)) ++ for l in 1..m repeat r.l := c(k, column(M, l)) + +- Lambda := [eta.l-etak.l for l in 1..m | r.l ~= 0] ++ Lambda := [eta.l-etak.l for l in 1..m | r.l ~= 0] + -- if Lambda is empty, then M, d and etak remain unchanged. Otherwise, w= e look -- for the next closest para-normal point. -=20 -- (empty? Lambda) =3D> "iterate" -+ (empty? Lambda) =3D> "iterate" -=20 -- lambdaMax :=3D reduce(max, Lambda) -- lambda :=3D 1 -- while eta.lambda-etak.lambda < lambdaMax or r.lambda =3D 0 repea= -t=20 -- lambda :=3D lambda + 1 -+ lambdaMax :=3D reduce(max, Lambda) -+ lambda :=3D 1 -+ while eta.lambda-etak.lambda < lambdaMax or r.lambda =3D 0 r= -epeat=20 -+ lambda :=3D lambda + 1 -=20 + +- (empty? Lambda) => "iterate" ++ (empty? Lambda) => "iterate" + +- lambdaMax := reduce(max, Lambda) +- lambda := 1 +- while eta.lambda-etak.lambda < lambdaMax or r.lambda = 0 repea= +t +- lambda := lambda + 1 ++ lambdaMax := reduce(max, Lambda) ++ lambda := 1 ++ while eta.lambda-etak.lambda < lambdaMax or r.lambda = 0 r= +epeat ++ lambda := lambda + 1 + -- Calculate leading coefficients -=20 -- for l in 1..m | l ~=3D lambda repeat + +- for l in 1..m | l ~= lambda repeat - if etak.l > 0 then -- p.l :=3D coefficient(M.(l, lambda), (etak.l-1)::NonNegativeI= +- p.l := coefficient(M.(l, lambda), (etak.l-1)::NonNegativeI= nteger) -- else=20 -- p.l :=3D 0 -+ for l in 1..m | l ~=3D lambda repeat +- else +- p.l := 0 ++ for l in 1..m | l ~= lambda repeat + if etak.l > 0 then -+ p.l :=3D coefficient(M.(l, lambda),=20 ++ p.l := coefficient(M.(l, lambda), + (etak.l-1)::NonNegativeInteger) -+ else=20 -+ p.l :=3D 0 -=20 ++ else ++ p.l := 0 + -- increase order and adjust degree constraints -=20 -- M :=3D recurrence(M, lambda, m, r, d, z, C.k, p) -+ M :=3D recurrence(M, lambda, m, r, d, z, C.k, p) -=20 -- d :=3D r.lambda -- etak.lambda :=3D etak.lambda + 1 -+ d :=3D r.lambda -+ etak.lambda :=3D etak.lambda + 1 -=20 + +- M := recurrence(M, lambda, m, r, d, z, C.k, p) ++ M := recurrence(M, lambda, m, r, d, z, C.k, p) + +- d := r.lambda +- etak.lambda := etak.lambda + 1 ++ d := r.lambda ++ etak.lambda := etak.lambda + 1 + - M + M -=20 + @ %$ @@ -540,7 +574,7 @@ FractionFreeFastGaussianFractions(D, V, VF): Exports = -=3D=3D Implementation where - n :=3D #f - g: Vector V :=3D new(n, 0) - den: Vector D :=3D new(n, 0) --=20 +== Implementation where + n := #f + g: Vector V := new(n, 0) + den: Vector D := new(n, 0) +- + for i in 1..n repeat - c :=3D coefficients(f.i) - den.i :=3D commonDenominator(c)$CommonDenominator(D, F, List F) + c := coefficients(f.i) + den.i := commonDenominator(c)$CommonDenominator(D, F, List F) @@ -548,7 +582,7 @@ FractionFreeFastGaussianFractions(D, V, VF): Exports = -=3D=3D Implementation where +== Implementation where $FAMR2(NonNegativeInteger, Fraction D, VF, D, V) -=20 - M :=3D generalInterpolation(C, coeffAction, g, eta)$FFFG(D, V) --=20 + + M := generalInterpolation(C, coeffAction, g, eta)$FFFG(D, V) +- + -- The following is necessary since I'm multiplying each row with a fact= or, not @@ -20459,33 +20192,33 @@ or, not ether -- this is efficient. @@ -560,24 +594,24 @@ FractionFreeFastGaussianFractions(D, V, VF): Export= -s =3D=3D Implementation where +s == Implementation where sumEta: NonNegativeInteger, maxEta: NonNegativeInteger) - : Stream Matrix SUP D =3D=3D=20 --=20 + : Stream Matrix SUP D == +- + - n :=3D #f - g: Vector V :=3D new(n, 0) - den: Vector D :=3D new(n, 0) --=20 + n := #f + g: Vector V := new(n, 0) + den: Vector D := new(n, 0) +- + for i in 1..n repeat - c :=3D coefficients(f.i) - den.i :=3D commonDenominator(c)$CommonDenominator(D, F, List F) - g.i :=3D map(retract(#1*den.i)@D, f.i) + c := coefficients(f.i) + den.i := commonDenominator(c)$CommonDenominator(D, F, List F) + g.i := map(retract(#1*den.i)@D, f.i) $FAMR2(NonNegativeInteger, Fraction D, VF, D, V) --=20 +- + - c: cFunction :=3D generalCoefficient(coeffAction, g, + c: cFunction := generalCoefficient(coeffAction, g, (#1-1)::NonNegativeInteger, #2)= $FFFG(D, V) -=20 -=20 - MS: Stream Matrix SUP D=20 - :=3D generalInterpolation(C, coeffAction, g, sumEta, maxEta)$FF= + + + MS: Stream Matrix SUP D + := generalInterpolation(C, coeffAction, g, sumEta, maxEta)$FF= FG(D, V) --=20 +- + -- The following is necessary since I'm multiplying each row with a fact= or, not @@ -20502,32 +20235,32 @@ index f21b766..5addd74 100644 \end{abstract} \tableofcontents -\section{domain UFPS UnivariateFormalPowerSeries} --<>=3D +-<>= -)abbrev domain UFPS UnivariateFormalPowerSeries --UnivariateFormalPowerSeries(Coef: Ring) =3D=3D=20 +-UnivariateFormalPowerSeries(Coef: Ring) == - UnivariateTaylorSeries(Coef, 'x, 0$Coef) - -@ -%$ - \section{package UFPS1 UnivariateFormalPowerSeriesFunctions} - <>=3D + <>= )abbrev package UFPS1 UnivariateFormalPowerSeriesFunctions @@ -47,148 +38,6 @@ UnivariateFormalPowerSeriesFunctions(Coef: Ring): Exp= -orts =3D=3D Implementation +orts == Implementation @ %$ -=20 + -\section{domain GOPT GuessOption} --<>=3D +-<>= -)abbrev domain GOPT GuessOption -++ Author: Martin Rubey -++ Description: GuessOption is a domain whose elements are various optio= ns used -++ by \spadtype{Guess}. --GuessOption(): Exports =3D=3D Implementation where=20 +-GuessOption(): Exports == Implementation where - -- Exports =3D=3D SetCategory with +- Exports == SetCategory with - - maxDerivative: Integer -> % - ++ maxDerivative(d) specifies the maximum derivative in an algebra= @@ -20536,14 +20269,14 @@ ic imum - ++ derivative can be arbitrary. This option is expressed in the fo= rm -- ++ \spad{maxDerivative =3D=3D d}. +- ++ \spad{maxDerivative == d}. - - maxShift: Integer -> % - ++ maxShift(d) specifies the maximum shift in a recurrence - ++ equation. maxShift(-1) specifies that the maximum shift can be - ++ arbitrary. This option is expressed in the form \spad{maxShift = -=3D=3D d}. -- =20 +== d}. +- - maxPower: Integer -> % - ++ maxPower(d) specifies the maximum degree in an algebraic differ= ential @@ -20551,13 +20284,13 @@ ential -1) - ++ specifies that the maximum exponent can be arbitrary. This opti= on is -- ++ expressed in the form \spad{maxPower =3D=3D d}. +- ++ expressed in the form \spad{maxPower == d}. - - homogeneous: Boolean -> % - ++ homogeneous(d) specifies whether we allow only homogeneous alge= braic - ++ differential equations. This option is expressed in the form -- ++ \spad{homogeneous =3D=3D d}. +- ++ \spad{homogeneous == d}. - - maxLevel: Integer -> % - ++ maxLevel(d) specifies the maximum number of recursion levels op= @@ -20565,7 +20298,7 @@ erators - ++ guessProduct and guessSum will be applied. maxLevel(-1) specif= ies - ++ that all levels are tried. This option is expressed in the form -- ++ \spad{maxLevel =3D=3D d}. +- ++ \spad{maxLevel == d}. - - maxDegree: Integer -> % - ++ maxDegree(d) specifies the maximum degree of the coefficient @@ -20574,10 +20307,10 @@ n with - ++ polynomial coefficients. For rational functions with an exponen= tial - ++ term, \spad{maxDegree} bounds the degree of the denominator -- ++ polynomial.=20 +- ++ polynomial. - ++ maxDegree(-1) specifies that the maximum - ++ degree can be arbitrary. This option is expressed in the form -- ++ \spad{maxDegree =3D=3D d}. +- ++ \spad{maxDegree == d}. - - allDegrees: Boolean -> % - ++ allDegrees(d) specifies whether all possibilities of the degree= @@ -20586,39 +20319,39 @@ tial ly - ++ interesting for rational interpolation. This option is expresse= d in -- ++ the form \spad{allDegrees =3D=3D d}. +- ++ the form \spad{allDegrees == d}. - - safety: NonNegativeInteger -> % - ++ safety(d) specifies the number of values reserved for testing a= ny - ++ solutions found. This option is expressed in the form \spad{saf= -ety =3D=3D +ety == - ++ d}. - - one: Boolean -> % - ++ one(d) specifies whether we are happy with one solution. This o= ption -- ++ is expressed in the form \spad{one =3D=3D d}. +- ++ is expressed in the form \spad{one == d}. - - debug: Boolean -> % - ++ debug(d) specifies whether we want additional output on the -- ++ progress. This option is expressed in the form \spad{debug =3D=3D= +- ++ progress. This option is expressed in the form \spad{debug === d}. - - functionName: Symbol -> % - ++ functionName(d) specifies the name of the function given by the - ++ algebraic differential equation or recurrence. This option is -- ++ expressed in the form \spad{functionName =3D=3D d}. +- ++ expressed in the form \spad{functionName == d}. - - variableName: Symbol -> % - ++ variableName(d) specifies the variable used in by the algebraic - ++ differential equation. This option is expressed in the form -- ++ \spad{variableName =3D=3D d}. +- ++ \spad{variableName == d}. - - indexName: Symbol -> % - ++ indexName(d) specifies the index variable used for the formulas= . This -- ++ option is expressed in the form \spad{indexName =3D=3D d}. +- ++ option is expressed in the form \spad{indexName == d}. - - displayAsGF: Boolean -> % - ++ displayAsGF(d) specifies whether the result is a generating fun= @@ -20628,115 +20361,115 @@ ction - ++ by the HP-specification. - - option : (List %, Symbol) -> Union(Any, "failed") -- ++ option() is not to be used at the top level;=20 +- ++ option() is not to be used at the top level; - ++ option determines internally which drawing options are indicate= -d in=20 +d in - ++ a draw command. - - option?: (List %, Symbol) -> Boolean - ++ option?() is not to be used at the top level; -- ++ option? internally returns true for drawing options which are=20 +- ++ option? internally returns true for drawing options which are - ++ indicated in a draw command, or false for those which are not. - - checkOptions: List % -> Void - ++ checkOptions checks whether an option is given twice -- =20 -- Implementation =3D=3D> add +- +- Implementation ==> add - import AnyFunctions1(Boolean) - import AnyFunctions1(Symbol) - import AnyFunctions1(Integer) - import AnyFunctions1(NonNegativeInteger) - -- Rep :=3D Record(keyword: Symbol, value: Any) -- =20 -- maxLevel d =3D=3D ["maxLevel"::Symbol, d::Any] -- maxDerivative d =3D=3D ["maxDerivative"::Symbol, d::Any] -- maxShift d =3D=3D maxDerivative d -- maxDegree d =3D=3D ["maxDegree"::Symbol, d::Any] -- allDegrees d =3D=3D ["allDegrees"::Symbol, d::Any] -- maxPower d =3D=3D ["maxPower"::Symbol, d::Any] -- safety d =3D=3D ["safety"::Symbol, d::Any] -- homogeneous d =3D=3D ["homogeneous"::Symbol, d::Any] -- debug d =3D=3D ["debug"::Symbol, d::Any] -- one d =3D=3D ["one"::Symbol, d::Any] -- functionName d =3D=3D ["functionName"::Symbol, d::Any] -- variableName d =3D=3D ["variableName"::Symbol, d::Any] -- indexName d =3D=3D ["indexName"::Symbol, d::Any] -- displayAsGF d =3D=3D ["displayAsGF"::Symbol, d::Any] +- Rep := Record(keyword: Symbol, value: Any) +- +- maxLevel d == ["maxLevel"::Symbol, d::Any] +- maxDerivative d == ["maxDerivative"::Symbol, d::Any] +- maxShift d == maxDerivative d +- maxDegree d == ["maxDegree"::Symbol, d::Any] +- allDegrees d == ["allDegrees"::Symbol, d::Any] +- maxPower d == ["maxPower"::Symbol, d::Any] +- safety d == ["safety"::Symbol, d::Any] +- homogeneous d == ["homogeneous"::Symbol, d::Any] +- debug d == ["debug"::Symbol, d::Any] +- one d == ["one"::Symbol, d::Any] +- functionName d == ["functionName"::Symbol, d::Any] +- variableName d == ["variableName"::Symbol, d::Any] +- indexName d == ["indexName"::Symbol, d::Any] +- displayAsGF d == ["displayAsGF"::Symbol, d::Any] - -- coerce(x:%):OutputForm =3D=3D x.keyword::OutputForm =3D x.value::Out= +- coerce(x:%):OutputForm == x.keyword::OutputForm = x.value::Out= putForm -- x:% =3D y:% =3D=3D x.keyword =3D y.keyword and x.value = -=3D y.value +- x:% = y:% == x.keyword = y.keyword and x.value = += y.value - -- option?(l, s) =3D=3D +- option?(l, s) == - for x in l repeat -- x.keyword =3D s =3D> return true +- x.keyword = s => return true - false - -- option(l, s) =3D=3D +- option(l, s) == - for x in l repeat -- x.keyword =3D s =3D> return(x.value) +- x.keyword = s => return(x.value) - "failed" - -- checkOptions l =3D=3D +- checkOptions l == - if not empty? l then -- if find((first l).keyword =3D #1.keyword, rest l) case "failed" +- if find((first l).keyword = #1.keyword, rest l) case "failed" - then checkOptions rest l - else error "GuessOption: Option specified twice" - -@ -=20 + \section{package GOPT0 GuessOptionFunctions0} - <>=3D -@@ -213,7 +62,7 @@ GuessOptionFunctions0(): Exports =3D=3D Implementation= + <>= +@@ -213,7 +62,7 @@ GuessOptionFunctions0(): Exports == Implementation= where -=20 + maxShift: LGOPT -> Integer ++ maxShift returns the specified maxShift or -1 as default. -- =20 +- + maxDegree: LGOPT -> Integer ++ maxDegree returns the specified maxDegree or -1 as default. -=20 -@@ -267,7 +116,7 @@ GuessOptionFunctions0(): Exports =3D=3D Implementatio= + +@@ -267,7 +116,7 @@ GuessOptionFunctions0(): Exports == Implementatio= n where retract(opt :: Any)$AnyFunctions1(Integer) -=20 - maxShift l =3D=3D maxDerivative l -- =20 + + maxShift l == maxDerivative l +- + - maxDegree l =3D=3D - if (opt :=3D option(l, "maxDegree" :: Symbol)) case "failed" then + maxDegree l == + if (opt := option(l, "maxDegree" :: Symbol)) case "failed" then -1 -@@ -279,13 +128,13 @@ GuessOptionFunctions0(): Exports =3D=3D Implementat= +@@ -279,13 +128,13 @@ GuessOptionFunctions0(): Exports == Implementat= ion where false - else=20 + else retract(opt :: Any)$AnyFunctions1(Boolean) -- =20 +- + - maxPower l =3D=3D - if (opt :=3D option(l, "maxPower" :: Symbol)) case "failed" then + maxPower l == + if (opt := option(l, "maxPower" :: Symbol)) case "failed" then -1 - else=20 + else retract(opt :: Any)$AnyFunctions1(Integer) -- =20 +- + - safety l =3D=3D - if (opt :=3D option(l, "safety" :: Symbol)) case "failed" then + safety l == + if (opt := option(l, "safety" :: Symbol)) case "failed" then 1$NonNegativeInteger -@@ -345,17 +194,17 @@ GuessOptionFunctions0(): Exports =3D=3D Implementat= +@@ -345,17 +194,17 @@ GuessOptionFunctions0(): Exports == Implementat= ion where ++ \spadtype{GuessPolynomial}, etc. - Guess(F, S, EXPRR, R, retract, coerce): Exports =3D=3D Implementation wh= + Guess(F, S, EXPRR, R, retract, coerce): Exports == Implementation wh= ere F: Field -- zB.: FRAC POLY PF 5 ---- in F wird interpoliert und gerechnet=20 -+-- in F we interpolate und check=20 -=20 +--- in F wird interpoliert und gerechnet ++-- in F we interpolate und check + S: GcdDomain -=20 + --- in guessExpRat m=C3=B6chte ich die Wurzeln von Polynomen =C3=BCber F = bestimmen. Wenn F --- ein Quotientenk=C3=B6rper ist, dann kann ich den Nenner loswerden. @@ -20746,18 +20479,18 @@ F. When +-- F is a quotientfield, I can get rid of the denominator. In this case= F is +-- roughly QFCAT S -=20 + R: Join(OrderedSet, IntegralDomain) -- zB.: FRAC POLY INT -=20 + --- die Ergebnisse werden aber in EXPRR dargestellt +-- results are given as elements of EXPRR -- EXPRR: Join(ExpressionSpace, IntegralDomain, EXPRR: Join(FunctionSpace Integer, IntegralDomain, - RetractableTo R, RetractableTo Symbol,=20 -@@ -369,16 +218,16 @@ Guess(F, S, EXPRR, R, retract, coerce): Exports =3D= -=3D Implementation where + RetractableTo R, RetractableTo Symbol, +@@ -369,16 +218,16 @@ Guess(F, S, EXPRR, R, retract, coerce): Exports == += Implementation where ground? : % -> Boolean -=20 + -- zB.: EXPR INT --- EXPR FRAC POLY INT ist ja verboten. Deshalb kann ich nicht einfach EX= PR R @@ -20767,34 +20500,34 @@ ird. +-- EXPR FRAC POLY INT is forbidden. Thus i cannot just use EXPR R + +-- EXPRR exists, in case at some point there is support for EXPR PF 5. -=20 -=20 + + --- das folgende m=C3=B6chte ich eigentlich loswerden. -- =20 +- +-- the following I really would like to get rid of + retract: R -> F -- zB.: i+->i coerce: F -> EXPRR -- zB.: i+->i ---- Achtung EXPRR ~=3D EXPR R -+-- attention: EXPRR ~=3D EXPR R -=20 - LGOPT =3D=3D> List GuessOption - GOPT0 =3D=3D> GuessOptionFunctions0 +--- Achtung EXPRR ~= EXPR R ++-- attention: EXPRR ~= EXPR R + + LGOPT ==> List GuessOption + GOPT0 ==> GuessOptionFunctions0 @@ -445,6 +294,8 @@ Section~\ref{sec:Hermite-Pade}. -=20 - <>=3D + + <>= --@<> -+ -- EXT =3D=3D> (Integer, V, V) -> FPOLYS -+ -- EXTEXPR =3D=3D> (Symbol, F, F) -> EXPRR ++ -- EXT ==> (Integer, V, V) -> FPOLYS ++ -- EXTEXPR ==> (Symbol, F, F) -> EXPRR @ -=20 - <>=3D + + <>= @@ -455,168 +306,184 @@ Section~\ref{sec:Hermite-Pade}. ++ \spadfun{guessADE} to the successive differences and quotie= nts of ++ the list. Default options as described in ++ \spadtype{GuessOptionFunctions0} are used. -- =20 +- + guess: (List F, LGOPT) -> GUESSRESULT ++ \spad{guess(l, options)} applies recursively \spadfun{guess= @@ -20802,7 +20535,7 @@ Rec} ++ and \spadfun{guessADE} to the successive differences and qu= otients ++ of the list. The given options are used. -- =20 +- + guess: (List F, List GUESSER, List Symbol) -> GUESSRESULT ++ \spad{guess(l, guessers, ops)} applies recursively the give= @@ -20813,7 +20546,7 @@ symbol uct to ++ the list. Default options as described in ++ \spadtype{GuessOptionFunctions0} are used. -- =20 +- + guess: (List F, List GUESSER, List Symbol, LGOPT) -> GUESSRESULT ++ \spad{guess(l, guessers, ops)} applies recursively the give= @@ -20822,38 +20555,38 @@ n symbol ++ \spad{guessSum} and quotients if ops contains the symbol ++ \spad{guessProduct} to the list. The given options are used. -- =20 +- + guessExpRat: List F -> GUESSRESULT - ++ \spad{guessExpRat l} tries to find a function of the form=20 + ++ \spad{guessExpRat l} tries to find a function of the form ++ n+->(a+b n)^n r(n), where r(n) is a rational function, that= fits - ++ l.=20 -- =20 + ++ l. +- + guessExpRat: (List F, LGOPT) -> GUESSRESULT ++ \spad{guessExpRat(l, options)} tries to find a function of = the ++ form n+->(a+b n)^n r(n), where r(n) is a rational function,= that - ++ fits l.=20 -- =20 + ++ fits l. +- + + guessBinRat: List F -> GUESSRESULT + ++ \spad{guessBinRat(l, options)} tries to find a function of = the -+ ++ form n+->binomial(a+b n, n) r(n), where r(n) is a rational=20 -+ ++ function, that fits l.=20 ++ ++ form n+->binomial(a+b n, n) r(n), where r(n) is a rational ++ ++ function, that fits l. + + guessBinRat: (List F, LGOPT) -> GUESSRESULT + ++ \spad{guessBinRat(l, options)} tries to find a function of = the -+ ++ form n+->binomial(a+b n, n) r(n), where r(n) is a rational=20 -+ ++ function, that fits l.=20 ++ ++ form n+->binomial(a+b n, n) r(n), where r(n) is a rational ++ ++ function, that fits l. + if F has RetractableTo Symbol and S has RetractableTo Symbol the= n -=20 + guessExpRat: Symbol -> GUESSER ++ \spad{guessExpRat q} returns a guesser that tries to fi= nd a @@ -20870,13 +20603,13 @@ nd a + ++ function of the form n+->qbinomial(a+b n, n) r(n), wher= e r(q^n) is a + ++ q-rational function, that fits l. -=20 + guessHP: (LGOPT -> HPSPEC) -> GUESSER ++ \spad{guessHP f} constructs an operation that applies Hermi= te-Pade ++ approximation to the series generated by the given function= f. -- =20 +- + guessADE: List F -> GUESSRESULT ++ \spad{guessADE l} tries to find an algebraic differential e= @@ -20885,14 +20618,14 @@ quation re ++ given by l, using the default options described in ++ \spadtype{GuessOptionFunctions0}. -- =20 +- + guessADE: (List F, LGOPT) -> GUESSRESULT ++ \spad{guessADE(l, options)} tries to find an algebraic ++ differential equation for a generating function whose first= Taylor ++ coefficients are given by l, using the given options. -- =20 +- + guessAlg: List F -> GUESSRESULT ++ \spad{guessAlg l} tries to find an algebraic equation for a @@ -20900,8 +20633,8 @@ re en by ++ l, using the default options described in ++ \spadtype{GuessOptionFunctions0}. It is equivalent to - ++ \spadfun{guessADE}(l, maxDerivative =3D=3D 0). -- =20 + ++ \spadfun{guessADE}(l, maxDerivative == 0). +- + guessAlg: (List F, LGOPT) -> GUESSRESULT ++ \spad{guessAlg(l, options)} tries to find an algebraic equa= @@ -20909,9 +20642,9 @@ tion ++ for a generating function whose first Taylor coefficients a= re ++ given by l, using the given options. It is equivalent to - ++ \spadfun{guessADE}(l, options) with \spad{maxDerivative =3D= -=3D 0}. -- =20 + ++ \spadfun{guessADE}(l, options) with \spad{maxDerivative == += 0}. +- + guessHolo: List F -> GUESSRESULT ++ \spad{guessHolo l} tries to find an ordinary linear differe= @@ -20920,8 +20653,8 @@ ntial icients ++ are given by l, using the default options described in ++ \spadtype{GuessOptionFunctions0}. It is equivalent to - ++ \spadfun{guessADE}\spad{(l, maxPower =3D=3D 1)}. -- =20 + ++ \spadfun{guessADE}\spad{(l, maxPower == 1)}. +- + guessHolo: (List F, LGOPT) -> GUESSRESULT ++ \spad{guessHolo(l, options)} tries to find an ordinary line= @@ -20930,8 +20663,8 @@ ar Taylor ++ coefficients are given by l, using the given options. It is ++ equivalent to \spadfun{guessADE}\spad{(l, options)} with - ++ \spad{maxPower =3D=3D 1}. -- =20 + ++ \spad{maxPower == 1}. +- + guessPade: (List F, LGOPT) -> GUESSRESULT ++ \spad{guessPade(l, options)} tries to find a rational funct= @@ -20939,9 +20672,9 @@ ion ++ whose first Taylor coefficients are given by l, using the g= iven ++ options. It is equivalent to \spadfun{guessADE}\spad{(l, - ++ maxDerivative =3D=3D 0, maxPower =3D=3D 1, allDegrees =3D=3D= + ++ maxDerivative == 0, maxPower == 1, allDegrees === true)}. -- =20 +- + guessPade: List F -> GUESSRESULT ++ \spad{guessPade(l, options)} tries to find a rational funct= @@ -20951,9 +20684,9 @@ efault ++ options described in \spadtype{GuessOptionFunctions0}. It i= s ++ equivalent to \spadfun{guessADE}\spad{(l, options)} with - ++ \spad{maxDerivative =3D=3D 0, maxPower =3D=3D 1, allDegrees= - =3D=3D true}. -- =20 + ++ \spad{maxDerivative == 0, maxPower == 1, allDegrees= + == true}. +- + guessRec: List F -> GUESSRESULT ++ \spad{guessRec l} tries to find an ordinary difference equa= @@ -20961,14 +20694,14 @@ tion ++ whose first values are given by l, using the default option= s ++ described in \spadtype{GuessOptionFunctions0}. -- =20 +- + guessRec: (List F, LGOPT) -> GUESSRESULT ++ \spad{guessRec(l, options)} tries to find an ordinary diffe= rence ++ equation whose first values are given by l, using the given - ++ options.=20 -- =20 + ++ options. +- + guessPRec: (List F, LGOPT) -> GUESSRESULT ++ \spad{guessPRec(l, options)} tries to find a linear recurre= @@ -20976,9 +20709,9 @@ nce ++ with polynomial coefficients whose first values are given b= y l, ++ using the given options. It is equivalent to - ++ \spadfun{guessRec}\spad{(l, options)} with \spad{maxPower =3D= -=3D 1}. -- =20 + ++ \spadfun{guessRec}\spad{(l, options)} with \spad{maxPower == += 1}. +- + guessPRec: List F -> GUESSRESULT ++ \spad{guessPRec l} tries to find a linear recurrence with @@ -20986,18 +20719,18 @@ y l, using ++ the default options described in ++ \spadtype{GuessOptionFunctions0}. It is equivalent to - ++ \spadfun{guessRec}\spad{(l, maxPower =3D=3D 1)}.=20 -- =20 + ++ \spadfun{guessRec}\spad{(l, maxPower == 1)}. +- + guessRat: (List F, LGOPT) -> GUESSRESULT ++ \spad{guessRat(l, options)} tries to find a rational functi= on ++ whose first values are given by l, using the given options.= It is - ++ equivalent to \spadfun{guessRec}\spad{(l, maxShift =3D=3D 0= + ++ equivalent to \spadfun{guessRec}\spad{(l, maxShift == 0= , maxPower - ++ =3D=3D 1, allDegrees =3D=3D true)}. -- =20 + ++ == 1, allDegrees == true)}. +- + guessRat: List F -> GUESSRESULT ++ \spad{guessRat l} tries to find a rational function whose f= @@ -21005,22 +20738,22 @@ irst ++ values are given by l, using the default options described = in ++ \spadtype{GuessOptionFunctions0}. It is equivalent to - ++ \spadfun{guessRec}\spad{(l, maxShift =3D=3D 0, maxPower =3D= -=3D 1, - ++ allDegrees =3D=3D true)}. -- =20 + ++ \spadfun{guessRec}\spad{(l, maxShift == 0, maxPower == += 1, + ++ allDegrees == true)}. +- + diffHP: LGOPT -> HPSPEC ++ \spad{diffHP options} returns a specification for Hermite-P= ade ++ approximation with the differential operator -- =20 +- + shiftHP: LGOPT -> HPSPEC ++ \spad{shiftHP options} returns a specification for Hermite-= Pade ++ approximation with the shift operator -- =20 +- + if F has RetractableTo Symbol and S has RetractableTo Symbol the= n @@ -21028,13 +20761,13 @@ n shiftHP: Symbol -> (LGOPT -> HPSPEC) ++ \spad{shiftHP options} returns a specification for ++ Hermite-Pade approximation with the $q$-shift operator -- =20 +- + diffHP: Symbol -> (LGOPT -> HPSPEC) ++ \spad{diffHP options} returns a specification for Hermi= te-Pade ++ approximation with the $q$-dilation operator -- =20 +- + guessRec: Symbol -> GUESSER ++ \spad{guessRec q} returns a guesser that finds an ordin= @@ -21042,16 +20775,16 @@ ary ++ q-difference equation whose first values are given by l= , using ++ the given options. -- =20 +- + guessPRec: Symbol -> GUESSER ++ \spad{guessPRec q} returns a guesser that tries to find ++ a linear q-recurrence with polynomial coefficients whos= e first ++ values are given by l, using the given options. It is - ++ equivalent to \spadfun{guessRec}\spad{(q)} with=20 - ++ \spad{maxPower =3D=3D 1}. -- =20 + ++ equivalent to \spadfun{guessRec}\spad{(q)} with + ++ \spad{maxPower == 1}. +- + guessRat: Symbol -> GUESSER ++ \spad{guessRat q} returns a guesser that tries to find = @@ -21060,9 +20793,9 @@ a using ++ the given options. It is equivalent to \spadfun{guessRe= c} with - ++ \spad{(l, maxShift =3D=3D 0, maxPower =3D=3D 1, allDegr= -ees =3D=3D true)}. -- =20 + ++ \spad{(l, maxShift == 0, maxPower == 1, allDegr= +ees == true)}. +- + guessADE: Symbol -> GUESSER ++ \spad{guessADE q} returns a guesser that tries to find = @@ -21071,8 +20804,8 @@ an on whose @@ -627,22 +494,32 @@ Section~\ref{sec:Hermite-Pade}. @ -=20 - <>=3D + + <>= -termAsUFPSF: (UFPSF, List Integer, DIFFSPECS, DIFFSPEC1) -> UFPSF -termAsUFPSF2: (UFPSF, List Integer, DIFFSPECS, DIFFSPEC1) -> UFPSF -termAsEXPRR: (EXPRR, Symbol, List Integer, DIFFSPECX, DIFFSPEC1X) -> EXP= @@ -21108,7 +20841,7 @@ PRR, _ NNI, HPSPEC, Symbol, BasicOperator, LGOPT) _ -> Union("failed", Record(function: EXPRR, order: NNI)= ) -=20 + +--checkResult: (EXPRR, Symbol, Integer, List F, LGOPT) -> NNI +-- +--guessBinRatAux: (Symbol, List F, DIFFSPECN, EXT, EXTEXPR, @@ -21120,42 +20853,42 @@ PRR, _ +--defaultD: DIFFSPECN + @ -=20 - <>=3D + + <>= @@ -659,6 +536,7 @@ testInterpolant: (List SUP S, List F, List UFPSSUPF, = List EXPRR, List EXPRR, _ -=20 + <> <> +<> <> <> @ -@@ -686,6 +564,7 @@ SUPS2SUPF(p: SUP S): SUP F =3D=3D +@@ -686,6 +564,7 @@ SUPS2SUPF(p: SUP S): SUP F == to Fraction S" -=20 + @ +%$ -=20 + \subsection{guessing rational functions with an exponential term} -=20 -@@ -740,7 +619,7 @@ SUPPOLYS2SUPF(p: SUP POLYS, a1v: F, Av: F): SUP F =3D= -=3D - SUPFPOLYS2FSUPPOLYS(p: SUP FPOLYS): Fraction SUP POLYS =3D=3D - cden :=3D splitDenominator(p) + +@@ -740,7 +619,7 @@ SUPPOLYS2SUPF(p: SUP POLYS, a1v: F, Av: F): SUP F == += + SUPFPOLYS2FSUPPOLYS(p: SUP FPOLYS): Fraction SUP POLYS == + cden := splitDenominator(p) $UnivariatePolynomialCommonDenominator(POLYS, FPOLYS,SUP FPOLYS= ) -- =20 +- + - pnum: SUP POLYS=20 - :=3D map(retract(#1 * cden.den)$FPOLYS, p) + pnum: SUP POLYS + := map(retract(#1 * cden.den)$FPOLYS, p) $SparseUnivariatePolynomialFunctions2(FPOLYS, POLYS) -@@ -754,9 +633,19 @@ POLYF2EXPRR(p: POLYF): EXPRR =3D=3D - $PolynomialCategoryLifting(IndexedExponents V, V,=20 +@@ -754,9 +633,19 @@ POLYF2EXPRR(p: POLYF): EXPRR == + $PolynomialCategoryLifting(IndexedExponents V, V, F, POLYF, EXPRR) -=20 + +-- this needs documentation. In particular, why is V appearing here? -+GF =3D=3D> GeneralizedMultivariateFactorize(SingletonAsOrderedSet, ++GF ==> GeneralizedMultivariateFactorize(SingletonAsOrderedSet, + IndexedExponents V, F, F, + SUP F) + @@ -21164,18 +20897,18 @@ List EXPRR, List EXPRR, _ +-- WARNING (genufact): No known algorithm to factor ? , trying square-= free. + -+-- GF =3D=3D> GenUFactorize F ++-- GF ==> GenUFactorize F @ -=20 + -\paragraph{mimicking $q$-anaologa} +\paragraph{mimicking $q$-analoga} -=20 - <>=3D + + <>= defaultD: DIFFSPECN -@@ -772,8 +661,8 @@ DN2DL(DN, i) =3D=3D retract(retract(DN(i::EXPRR))@R) -=20 +@@ -772,8 +661,8 @@ DN2DL(DN, i) == retract(retract(DN(i::EXPRR))@R) + \subsubsection{reducing the degree of the polynomials} -=20 + -The degree of [[poly3]] is governed by $(a0+x_m a_1)^{x_m}$. Therefore, = we -substitute $A-x_m a1$ for $a$, which reduces the degree in $a_1$ by @@ -21183,57 +20916,57 @@ we we +substitute $A-x_m a1$ for $a_0$, which reduces the degree in $a_1$ by $x_m-x_{i+1}$. -=20 - <>=3D + + <>= @@ -896,10 +785,6 @@ still obtain a polynomial. \subsubsection{The main routine} -=20 - <>=3D --GF =3D=3D> GeneralizedMultivariateFactorize(SingletonAsOrderedSet, + + <>= +-GF ==> GeneralizedMultivariateFactorize(SingletonAsOrderedSet, - IndexedExponents V, F, F, - SUP F) - - guessExpRatAux(xx: Symbol, list: List F, basis: DIFFSPECN,=20 - xValues: List Integer, options: LGOPT): List EXPRR =3D=3D -=20 + guessExpRatAux(xx: Symbol, list: List F, basis: DIFFSPECN, + xValues: List Integer, options: LGOPT): List EXPRR == + @@ -909,7 +794,7 @@ guessExpRatAux(xx: Symbol, list: List F, basis: DIFFS= PECN, - len: NNI :=3D #list + len: NNI := #list if len < 4 then return [] - else len :=3D (len-3)::NNI -- =20 + else len := (len-3)::NNI +- + - xlist :=3D [F2FPOLYS DN2DL(basis, xValues.i) for i in 1..len] - x1 :=3D F2FPOLYS DN2DL(basis, xValues.(len+1)) - x2 :=3D F2FPOLYS DN2DL(basis, xValues.(len+2)) + xlist := [F2FPOLYS DN2DL(basis, xValues.i) for i in 1..len] + x1 := F2FPOLYS DN2DL(basis, xValues.(len+1)) + x2 := F2FPOLYS DN2DL(basis, xValues.(len+2)) @@ -1034,7 +919,8 @@ a rational function. To obtain $y$, we compute $y(n)= -=3Ds_n*(a+b n)^{-n}$. +=s_n*(a+b n)^{-n}$. systemCommand("sys date +%s")$MoreSystemCommands output("computing gcd..."::OutputForm)$OutputPackage -=20 ---- we want to solve over F =20 + +--- we want to solve over F +-- we want to solve over F -+-- for polynomial domains S this seems to be very costly! =20 - res3: SUP F :=3D SUPS2SUPF(primitivePart(gcd(res1, res2))) -=20 - if debug(options)$GOPT0 then=20 ++-- for polynomial domains S this seems to be very costly! + res3: SUP F := SUPS2SUPF(primitivePart(gcd(res1, res2))) + + if debug(options)$GOPT0 then @@ -1153,7 +1039,7 @@ guessExpRatAux0(list: List F, basis: DIFFSPECN, opt= -ions: LGOPT): GUESSRESULT =3D=3D - res: List EXPRR=20 - :=3D [eval(zeros * f, xx::EXPRR, xx::EXPRR) _ +ions: LGOPT): GUESSRESULT == + res: List EXPRR + := [eval(zeros * f, xx::EXPRR, xx::EXPRR) _ for f in guessExpRatAux(xx, newlist, basis, xValues, options= )] -- =20 +- + - reslist :=3D map([#1, checkResult(#1, xx, len, list, options)], res) + reslist := map([#1, checkResult(#1, xx, len, list, options)], res) $ListFunctions2(EXPRR, Record(function: EXPRR, order: = NNI)) -=20 + @@ -1172,6 +1058,334 @@ if F has RetractableTo Symbol and S has Retractab= leTo Symbol then -=20 + @ -=20 + +\subsection{guessing rational functions with a binomial term} + +\begin{ToDo} @@ -21253,62 +20986,62 @@ er we +\end{ToDo} + + -+<>=3D ++<>= + -+EXT =3D=3D> (Integer, V, V) -> FPOLYS -+EXTEXPR =3D=3D> (Symbol, F, F) -> EXPRR ++EXT ==> (Integer, V, V) -> FPOLYS ++EXTEXPR ==> (Symbol, F, F) -> EXPRR + +binExt: EXT -+binExt(i: Integer, va1: V, vA: V): FPOLYS =3D=3D=20 -+ numl: List POLYS :=3D [(vA::POLYS) + i * (va1::POLYS) - (l::POLYS) _ ++binExt(i: Integer, va1: V, vA: V): FPOLYS == ++ numl: List POLYS := [(vA::POLYS) + i * (va1::POLYS) - (l::POLYS) _ + for l in 0..i-1] -+ num: POLYS :=3D reduce(_*, numl, 1) ++ num: POLYS := reduce(_*, numl, 1) + + num/(factorial(i)::POLYS) + +binExtEXPR: EXTEXPR -+binExtEXPR(i: Symbol, a1v: F, Av: F): EXPRR =3D=3D=20 ++binExtEXPR(i: Symbol, a1v: F, Av: F): EXPRR == + binomial(coerce Av + coerce a1v * (i::EXPRR), i::EXPRR) + + -+guessBinRatAux(xx: Symbol, list: List F,=20 ++guessBinRatAux(xx: Symbol, list: List F, + basis: DIFFSPECN, ext: EXT, extEXPR: EXTEXPR, -+ xValues: List Integer, options: LGOPT): List EXPRR =3D=3D ++ xValues: List Integer, options: LGOPT): List EXPRR == + -+ a1: V :=3D index(1)$V -+ A: V :=3D index(2)$V ++ a1: V := index(1)$V ++ A: V := index(2)$V + -+ len: NNI :=3D #list ++ len: NNI := #list + if len < 4 then return [] -+ else len :=3D (len-3)::NNI ++ else len := (len-3)::NNI + -+ xlist :=3D [F2FPOLYS DN2DL(basis, xValues.i) for i in 1..len] -+ x1 :=3D F2FPOLYS DN2DL(basis, xValues.(len+1)) -+ x2 :=3D F2FPOLYS DN2DL(basis, xValues.(len+2)) -+ x3 :=3D F2FPOLYS DN2DL(basis, xValues.(len+3)) ++ xlist := [F2FPOLYS DN2DL(basis, xValues.i) for i in 1..len] ++ x1 := F2FPOLYS DN2DL(basis, xValues.(len+1)) ++ x2 := F2FPOLYS DN2DL(basis, xValues.(len+2)) ++ x3 := F2FPOLYS DN2DL(basis, xValues.(len+3)) + +@ + +We try to fit the data $(s1,s2,\dots)$ to the model $\binom{a+b n}{n} y(= n)$, +$r$ being a rational function. To obtain $y$, we compute -+$y(n)=3Ds_n*\binom{a+bn}{n}^-1$. ++$y(n)=s_n*\binom{a+bn}{n}^-1$. + -+<>=3D -+ y: NNI -> FPOLYS :=3D=20 ++<>= ++ y: NNI -> FPOLYS := + F2FPOLYS(list.#1) / _ + ext((xValues.#1)::Integer, a1, A) + -+ ylist: List FPOLYS :=3D [y i for i in 1..len] ++ ylist: List FPOLYS := [y i for i in 1..len] + -+ y1 :=3D y(len+1) -+ y2 :=3D y(len+2) -+ y3 :=3D y(len+3) ++ y1 := y(len+1) ++ y2 := y(len+2) ++ y3 := y(len+3) + -+ res :=3D []::List EXPRR -+ if maxDegree(options)$GOPT0 =3D -1 -+ then maxDeg :=3D len-1 -+ else maxDeg :=3D min(maxDegree(options)$GOPT0, len-1) ++ res := []::List EXPRR ++ if maxDegree(options)$GOPT0 = -1 ++ then maxDeg := len-1 ++ else maxDeg := min(maxDegree(options)$GOPT0, len-1) + + for i in 0..maxDeg repeat +-- if debug(options)$GOPT0 then @@ -21333,20 +21066,20 @@ than + should make sense. +\end{ToDo} + -+<>=3D -+-- if debug(options)$GOPT0 then=20 ++<>= ++-- if debug(options)$GOPT0 then +-- output("interpolating..."::OutputForm)$OutputPackage + + ri: FSUPFPOLYS -+ :=3D interpolate(xlist, ylist, (len-1-i)::NNI) _ ++ := interpolate(xlist, ylist, (len-1-i)::NNI) _ + $FFFG(FPOLYS, SUP FPOLYS) + -+-- if debug(options)$GOPT0 then=20 ++-- if debug(options)$GOPT0 then +-- output(hconcat("ri ", ri::OutputForm))$OutputPackage + -+ poly1: POLYS :=3D numer(elt(ri, x1)$SUP(FPOLYS) - y1) -+ poly2: POLYS :=3D numer(elt(ri, x2)$SUP(FPOLYS) - y2) -+ poly3: POLYS :=3D numer(elt(ri, x3)$SUP(FPOLYS) - y3) ++ poly1: POLYS := numer(elt(ri, x1)$SUP(FPOLYS) - y1) ++ poly2: POLYS := numer(elt(ri, x2)$SUP(FPOLYS) - y2) ++ poly3: POLYS := numer(elt(ri, x3)$SUP(FPOLYS) - y3) + +-- if debug(options)$GOPT0 then +-- output(hconcat("poly1 ", poly1::OutputForm))$OutputPackage @@ -21354,14 +21087,14 @@ than +-- output(hconcat("poly3 ", poly3::OutputForm))$OutputPackage + + -+ n:Integer :=3D len - i -+ res1: SUP S :=3D univariate(resultant(poly1, poly3, a1)) -+ res2: SUP S :=3D univariate(resultant(poly2, poly3, a1)) ++ n:Integer := len - i ++ res1: SUP S := univariate(resultant(poly1, poly3, a1)) ++ res2: SUP S := univariate(resultant(poly2, poly3, a1)) + if debug(options)$GOPT0 then +-- output(hconcat("res1 ", res1::OutputForm))$OutputPackage +-- output(hconcat("res2 ", res2::OutputForm))$OutputPackage + -+-- if res1 ~=3D res1res or res2 ~=3D res2res then ++-- if res1 ~= res1res or res2 ~= res2res then +-- output(hconcat("poly1 ", poly1::OutputForm))$OutputPackage +-- output(hconcat("poly2 ", poly2::OutputForm))$OutputPac= kage @@ -21380,27 +21113,27 @@ ge + output("res2 deg: " string(degree res2)) + $OutputPackage + -+ if debug(options)$GOPT0 then=20 ++ if debug(options)$GOPT0 then + output("computing gcd..."::OutputForm)$OutputPackage + -+-- we want to solve over F =20 -+ res3: SUP F :=3D SUPS2SUPF(primitivePart(gcd(res1, res2))) ++-- we want to solve over F ++ res3: SUP F := SUPS2SUPF(primitivePart(gcd(res1, res2))) + -+-- if debug(options)$GOPT0 then=20 ++-- if debug(options)$GOPT0 then +-- output(hconcat("res3 ", res3::OutputForm))$OutputPackage + -+-- res3 is a polynomial in A=3Da0+(len+3)*a1 ++-- res3 is a polynomial in A=a0+(len+3)*a1 +-- now we have to find the roots of res3 + -+ for f in factors factor(res3)$GF | degree f.factor =3D 1 repeat=20 ++ for f in factors factor(res3)$GF | degree f.factor = 1 repeat +-- we are only interested in the linear factors -+-- if debug(options)$GOPT0 then=20 ++-- if debug(options)$GOPT0 then +-- output(hconcat("f: ", f::OutputForm))$OutputPackage + -+ Av: F :=3D -coefficient(f.factor, 0) ++ Av: F := -coefficient(f.factor, 0) + / leadingCoefficient f.factor + -+-- if debug(options)$GOPT0 then=20 ++-- if debug(options)$GOPT0 then +-- output(hconcat("Av: ", Av::OutputForm))$OutputPackage + +-- FIXME: in an earlier version, we disregarded vanishing Av @@ -21408,9 +21141,9 @@ ge eally +-- make sense to me right now. + -+ evalPoly :=3D eval(POLYS2POLYF poly3, A, Av) -+ if zero? evalPoly=20 -+ then evalPoly :=3D eval(POLYS2POLYF poly1, A, Av) ++ evalPoly := eval(POLYS2POLYF poly3, A, Av) ++ if zero? evalPoly ++ then evalPoly := eval(POLYS2POLYF poly1, A, Av) +-- Note that it really may happen that poly3 vanishes when specializing +-- A. Consider for example guessExpRat([1,1,1,1]). + @@ -21418,16 +21151,16 @@ eally y3 +-- vanishes. + -+ for g in factors factor(univariate evalPoly)$GF=20 -+ | degree g.factor =3D 1 repeat -+-- if debug(options)$GOPT0 then=20 ++ for g in factors factor(univariate evalPoly)$GF ++ | degree g.factor = 1 repeat ++-- if debug(options)$GOPT0 then +-- output(hconcat("g: ", g::OutputForm))$OutputPacka= ge + -+ a1v: F :=3D -coefficient(g.factor, 0) ++ a1v: F := -coefficient(g.factor, 0) + / leadingCoefficient g.factor + -+-- if debug(options)$GOPT0 then=20 ++-- if debug(options)$GOPT0 then +-- output(hconcat("a1v: ", a1v::OutputForm))$OutputP= ackage + @@ -21436,54 +21169,54 @@ found +-- an extraneous solution, since we only computed the gcd of the two +-- resultants. + -+ t1 :=3D eval(POLYS2POLYF poly1, [a1, A]::List V,=20 ++ t1 := eval(POLYS2POLYF poly1, [a1, A]::List V, + [a1v, Av]::List F) + -+-- if debug(options)$GOPT0 then=20 ++-- if debug(options)$GOPT0 then +-- output(hconcat("t1: ", t1::OutputForm))$OutputPac= kage + -+ if zero? t1 then =20 -+ t2 :=3D eval(POLYS2POLYF poly2, [a1, A]::List V,=20 ++ if zero? t1 then ++ t2 := eval(POLYS2POLYF poly2, [a1, A]::List V, + [a1v, Av]::List F) + -+-- if debug(options)$GOPT0 then=20 ++-- if debug(options)$GOPT0 then +-- output(hconcat("t2: ", t2::OutputForm))$Outpu= tPackage + + if zero? t2 then + -+ ri1: Fraction SUP POLYS=20 -+ :=3D SUPFPOLYS2FSUPPOLYS(numer ri) ++ ri1: Fraction SUP POLYS ++ := SUPFPOLYS2FSUPPOLYS(numer ri) + / SUPFPOLYS2FSUPPOLYS(denom ri) + -+-- if debug(options)$GOPT0 then=20 ++-- if debug(options)$GOPT0 then +-- output(hconcat("ri1: ", ri1::OutputForm))= $OutputPackage + -+ numr: SUP F :=3D SUPPOLYS2SUPF(numer ri1, a1v, = ++ numr: SUP F := SUPPOLYS2SUPF(numer ri1, a1v, = Av) -+ denr: SUP F :=3D SUPPOLYS2SUPF(denom ri1, a1v, = ++ denr: SUP F := SUPPOLYS2SUPF(denom ri1, a1v, = Av) + -+-- if debug(options)$GOPT0 then=20 ++-- if debug(options)$GOPT0 then +-- output(hconcat("numr: ", numr::OutputForm= ))$OutputPackage +-- output(hconcat("denr: ", denr::OutputForm= ))$OutputPackage + + if not zero? denr then -+ res4: EXPRR :=3D eval(FSUPF2EXPRR(xx, numr/= -denr),=20 -+ kernel(xx),=20 ++ res4: EXPRR := eval(FSUPF2EXPRR(xx, numr/= +denr), ++ kernel(xx), + basis(xx::EXPRR)) + * extEXPR(xx, a1v, Av) + -+-- if debug(options)$GOPT0 then=20 ++-- if debug(options)$GOPT0 then +-- output(hconcat("res4: ", res4::Output= Form))$OutputPackage + -+ res :=3D cons(res4, res) ++ res := cons(res4, res) + else if zero? numr and debug(options)$GOPT0 the= n + output("numerator and denominator vanish!") @@ -21500,83 +21233,83 @@ ect. + +guessBinRatAux0(list: List F, + basis: DIFFSPECN, ext: EXT, extEXPR: EXTEXPR, -+ options: LGOPT): GUESSRESULT =3D=3D ++ options: LGOPT): GUESSRESULT == + + if zero? safety(options)$GOPT0 then + error "Guess: guessBinRat does not support zero safety" +-- guesses Functions of the form binomial(a+b*n, n)*rat(n) -+ xx :=3D indexName(options)$GOPT0 ++ xx := indexName(options)$GOPT0 + +-- restrict to safety + -+ len: Integer :=3D #list ++ len: Integer := #list + if len-safety(options)$GOPT0+1 < 0 then return [] + -+ shortlist: List F :=3D first(list, (len-safety(options)$GOPT0+1)::NN= ++ shortlist: List F := first(list, (len-safety(options)$GOPT0+1)::NN= I) + +-- remove zeros from list + -+ zeros: EXPRR :=3D 1 ++ zeros: EXPRR := 1 + newlist: List F + xValues: List Integer + -+ i: Integer :=3D -1 ++ i: Integer := -1 + for x in shortlist repeat -+ i :=3D i+1 -+ if x =3D 0 then=20 -+ zeros :=3D zeros * (basis(xx::EXPRR) - basis(i::EXPRR)) ++ i := i+1 ++ if x = 0 then ++ zeros := zeros * (basis(xx::EXPRR) - basis(i::EXPRR)) + -+ i :=3D -1 ++ i := -1 + for x in shortlist repeat -+ i :=3D i+1 -+ if x ~=3D 0 then -+ newlist :=3D cons(x/retract(retract(eval(zeros, xx::EXPRR,=20 ++ i := i+1 ++ if x ~= 0 then ++ newlist := cons(x/retract(retract(eval(zeros, xx::EXPRR, + i::EXPRR))@R), + newlist) -+ xValues :=3D cons(i, xValues) ++ xValues := cons(i, xValues) + -+ newlist :=3D reverse newlist -+ xValues :=3D reverse xValues ++ newlist := reverse newlist ++ xValues := reverse xValues + -+ res: List EXPRR=20 -+ :=3D [eval(zeros * f, xx::EXPRR, xx::EXPRR) _ ++ res: List EXPRR ++ := [eval(zeros * f, xx::EXPRR, xx::EXPRR) _ + for f in guessBinRatAux(xx, newlist, basis, ext, extEXPR, xV= alues, _ + options)] + -+ reslist :=3D map([#1, checkResult(#1, xx, len, list, options)], res) ++ reslist := map([#1, checkResult(#1, xx, len, list, options)], res) + $ListFunctions2(EXPRR, Record(function: EXPRR, order: = NNI)) + + select(#1.order < len-safety(options)$GOPT0, reslist) + -+guessBinRat(list : List F): GUESSRESULT =3D=3D ++guessBinRat(list : List F): GUESSRESULT == + guessBinRatAux0(list, defaultD, binExt, binExtEXPR, []) + -+guessBinRat(list: List F, options: LGOPT): GUESSRESULT =3D=3D ++guessBinRat(list: List F, options: LGOPT): GUESSRESULT == + guessBinRatAux0(list, defaultD, binExt, binExtEXPR, options) + + +if F has RetractableTo Symbol and S has RetractableTo Symbol then + + qD: Symbol -> DIFFSPECN -+ qD q =3D=3D (q::EXPRR)**#1 ++ qD q == (q::EXPRR)**#1 + + -+ qBinExtAux(q: Symbol, i: Integer, va1: V, vA: V): FPOLYS =3D=3D=20 -+ fl: List FPOLYS=20 -+ :=3D [(1$FPOLYS - _ ++ qBinExtAux(q: Symbol, i: Integer, va1: V, vA: V): FPOLYS == ++ fl: List FPOLYS ++ := [(1$FPOLYS - _ + va1::POLYS::FPOLYS * (vA::POLYS::FPOLYS)**(i-1) * _ -+ F2FPOLYS(q::F)**l) / (1-F2FPOLYS(q::F)**l) _=20 ++ F2FPOLYS(q::F)**l) / (1-F2FPOLYS(q::F)**l) _ + for l in 1..i] + reduce(_*, fl, 1) + + qBinExt: Symbol -> EXT -+ qBinExt q =3D=3D qBinExtAux(q, #1, #2, #3) ++ qBinExt q == qBinExtAux(q, #1, #2, #3) + -+ qBinExtEXPRaux(q: Symbol, i: Symbol, a1v: F, Av: F): EXPRR =3D=3D=20 -+ l: Symbol :=3D 'l ++ qBinExtEXPRaux(q: Symbol, i: Symbol, a1v: F, Av: F): EXPRR == ++ l: Symbol := 'l + product((1$EXPRR - _ + coerce a1v * (coerce Av) ** (coerce i - 1$EXPRR) * _ + (q::EXPRR) ** coerce(l)) / _ @@ -21584,67 +21317,67 @@ NNI)) + equation(l, 1$EXPRR..i::EXPRR)) + + qBinExtEXPR: Symbol -> EXTEXPR -+ qBinExtEXPR q =3D=3D qBinExtEXPRaux(q, #1, #2, #3) ++ qBinExtEXPR q == qBinExtEXPRaux(q, #1, #2, #3) + -+ guessBinRat(q: Symbol): GUESSER =3D=3D ++ guessBinRat(q: Symbol): GUESSER == + guessBinRatAux0(#1, qD q, qBinExt q, qBinExtEXPR q, #2)_ + +@ + + \subsection{Hermite Pad\'e interpolation}\label{sec:Hermite-Pade} -=20 - <>=3D -@@ -1193,12 +1407,12 @@ DIFFSPECX =3D=3D> (EXPRR, Symbol, NonNegativeInte= + + <>= +@@ -1193,12 +1407,12 @@ DIFFSPECX ==> (EXPRR, Symbol, NonNegativeInte= ger) -> EXPRR -- f(x)+->D(f, x) - DIFFSPECS =3D=3D> (UFPSF, NonNegativeInteger) -> UFPSF + DIFFSPECS ==> (UFPSF, NonNegativeInteger) -> UFPSF -- eg.: f(x)+->f(q*x) -- =20 +- + - DIFFSPECSF =3D=3D> (UFPSSUPF, NonNegativeInteger) -> UFPSSUPF + DIFFSPECSF ==> (UFPSSUPF, NonNegativeInteger) -> UFPSSUPF -- eg.: f(x)+->f(q*x) -- =20 +- + -- the constant term for the inhomogeneous case -- =20 +- + - DIFFSPEC1 =3D=3D> UFPSF -=20 - DIFFSPEC1F =3D=3D> UFPSSUPF -@@ -1209,8 +1423,8 @@ DIFFSPEC1X =3D=3D> Symbol -> EXPRR -=20 + DIFFSPEC1 ==> UFPSF + + DIFFSPEC1F ==> UFPSSUPF +@@ -1209,8 +1423,8 @@ DIFFSPEC1X ==> Symbol -> EXPRR + \subsubsection{Streams}\label{sec:streams} -=20 + -In this section we define some functions that provide streams for [[Herm= itePade]]. - +In this section we define some functions that provide streams for +[[HermitePade]]. -=20 + The following three functions transform a partition [[l]] into a product= of derivatives of [[f]], using the given operators. We need to provide the = same @@ -1317,7 +1531,7 @@ does not. -=20 + Note that we conjugate all partitions at the very end of the following procedure\dots --=20 +- + - <>=3D - FilteredPartitionStream(options: LGOPT): Stream List Integer =3D=3D - maxD :=3D 1+maxDerivative(options)$GOPT0 + <>= + FilteredPartitionStream(options: LGOPT): Stream List Integer == + maxD := 1+maxDerivative(options)$GOPT0 @@ -1340,7 +1554,7 @@ FilteredPartitionStream(options: LGOPT): Stream Lis= -t Integer =3D=3D - s :=3D cons([], - select(((maxD =3D 0) or (# #1 <=3D maxD)) _ - and ((maxP =3D -1) or (first #1 <=3D maxP)), s3)) -- =20 +t Integer == + s := cons([], + select(((maxD = 0) or (# #1 <= maxD)) _ + and ((maxP = -1) or (first #1 <= maxP)), s3)) +- + - s :=3D conjugates(s)$PartitionsAndPermutations + s := conjugates(s)$PartitionsAndPermutations if homogeneous(options)$GOPT0 then rest s else s -=20 + @@ -1364,7 +1578,7 @@ applying one of the power and shift or differentiat= ion operators. More precisely, the $n$\textsuperscript{th} entry of the stream takes into ac= @@ -21652,15 +21385,15 @@ count all partitions up to index $n$. Thus, the entries of the stream are weak= ly increasing. -- =20 +- + - <>=3D =20 - ADEdegreeStream(partitions: Stream List Integer): Stream NNI =3D=3D + <>= + ADEdegreeStream(partitions: Stream List Integer): Stream NNI == scan(0, max((if empty? #1 then 0 else (first #1 - 1)::NNI), #2), @@ -1389,7 +1603,7 @@ ADEEXPRRStream(f: EXPRR, xx: Symbol, partitions: St= ream List Integer, \subsubsection{Operators} -=20 + We need to define operators that transform series for differentiation an= d -shifting. We also provide operators for $q$-analoga. The functionality @@ -21668,10 +21401,10 @@ d corresponding to powering and taking the Hadamard product if provided by= the streams, see Section~\ref{sec:streams}. -=20 -@@ -1571,7 +1785,7 @@ shiftHP options =3D=3D + +@@ -1571,7 +1785,7 @@ shiftHP options == @ -=20 + \paragraph{$q$-Shifting} The $q$-shift also transforms $u(n)$ into $u(n+= 1)$, -and we can reuse the corrseponding functions of the previous paragraph. @@ -21680,10 +21413,10 @@ d coefficient of $x^k$ in $z u(n)$ is $q^n u(n)$. We do not define the corresponding functionality for power series. @@ -1716,7 +1930,7 @@ guessInterpolate2(guessList: List SUP F, - generalInterpolation((D.C)(sumEta), D.A,=20 + generalInterpolation((D.C)(sumEta), D.A, vguessListF, sumEta, maxEta) $FFFGF(S, SUP S, SUP F) -- =20 +- + else error "Type parameter F should be either equal to S or equal _ to Fraction S" @@ -21694,36 +21427,36 @@ ow we cancel the greatest it seems to be quicker to check [[generalCoefficient]] with the original [[= resi]]. -=20 + +If [[S]] is a [[Field]], the [[gcd]] will always be $1$. Thus, in this = case we +make the result monic. + - <>=3D -- g: SUP S :=3D gcd resi + <>= +- g: SUP S := gcd resi + g: SUP S -+ if S has Field=20 -+ then g :=3D leadingCoefficient(find(not zero? #1, reverse resi)::SUP= ++ if S has Field ++ then g := leadingCoefficient(find(not zero? #1, reverse resi)::SUP= (S))::SUP(S) -+ else g :=3D gcd resi - resiF :=3D map(SUPS2SUPF((#1 exquo g)::SUP(S)), resi) ++ else g := gcd resi + resiF := map(SUPS2SUPF((#1 exquo g)::SUP(S)), resi) $ListFunctions2(SUP S, SUP F) -=20 + @@ -1877,12 +2097,10 @@ important if we apply, for example, [[guessRat]] = recursively. In this case, - x :=3D variableName(options)$GOPT0 - dummy :=3D new$Symbol -=20 + x := variableName(options)$GOPT0 + dummy := new$Symbol + - initials: List EXPRR - if displayAsGF(options)$GOPT0 -- then initials :=3D [coerce(e)@EXPRR*factorial(k::EXPRR) _ +- then initials := [coerce(e)@EXPRR*factorial(k::EXPRR) _ - for e in list for k in 0..] -- else initials :=3D [coerce(e)@EXPRR for e in list] -+ initials: List EXPRR :=3D [coerce(e)@EXPRR for e in list] +- else initials := [coerce(e)@EXPRR for e in list] ++ initials: List EXPRR := [coerce(e)@EXPRR for e in list] + @ +%$ -=20 + We need to create several streams. Let $P$ be the univariate power serie= s whose first few elements are given by [[list]]. As an example, consider the @@ -21731,42 +21464,42 @@ s whose into account [[safety]]. output(hconcat("guessDegree is ", guessDegree::OutputForm)) $OutputPackage - @=20 + @ -%$ +%$" -=20 + We now have to distinguish between the case where we try all combination= of degrees and the case where we try only an (nearly) evenly distributed ve= ctor of @@ -2004,10 +2222,19 @@ increase the order anymore. - .quotient =3D 0) and + .quotient = 0) and (newMaxParams.remainder < o))) - then iterate? :=3D true + then iterate? := true - else eta: List NNI -- :=3D [(if i <=3D maxParams.remainder _ +- := [(if i <= maxParams.remainder _ - then maxParams.quotient + 1 _ - else maxParams.quotient)::NNI for i in 1..o] -+ else if ((maxDegree(options)$GOPT0 ~=3D -1) and ++ else if ((maxDegree(options)$GOPT0 ~= -1) and + (maxParams.quotient > maxDegree(options)$GOPT0)) + then -+ guessDegree :=3D o*(1+maxDegree(options)$GOPT0)-2 ++ guessDegree := o*(1+maxDegree(options)$GOPT0)-2 + eta: List NNI -+ :=3D [(if i < o _ ++ := [(if i < o _ + then maxDegree(options)$GOPT0 + 1 _ + else maxDegree(options)$GOPT0)::NNI _ + for i in 1..o] + else eta: List NNI -+ :=3D [(if i <=3D maxParams.remainder _ ++ := [(if i <= maxParams.remainder _ + then maxParams.quotient + 1 _ + else maxParams.quotient)::NNI for i in 1.= .o] @ -=20 + We distribute the parameters as evenly as possible. Is it better to hav= e @@ -2019,7 +2246,10 @@ HermitePade. -=20 + \begin{ToDo} [[maxDegree]] should be handled differently, maybe: we should only pas= s as @@ -21778,133 +21511,133 @@ s as to take + care of [[allDegrees]], too. \end{ToDo} -=20 - <>=3D + + <>= @@ -2035,7 +2265,7 @@ HermitePade. - if debug(options)$GOPT0 then=20 + if debug(options)$GOPT0 then output("The list of expressions is")$OutputPackage output(exprList::OutputForm)$OutputPackage -- =20 +- + if allDegrees(options)$GOPT0 then - MS: Stream Matrix SUP S :=3D guessInterpolate2(guessList= -,=20 + MS: Stream Matrix SUP S := guessInterpolate2(guessList= +, guessDegree= ::NNI+1, @@ -2043,7 +2273,7 @@ HermitePade. repeat - (empty? MS) =3D> break - M :=3D first MS -- =20 + (empty? MS) => break + M := first MS +- + for i in 1..o repeat - res :=3D testInterpolant(entries column(M, i),=20 + res := testInterpolant(entries column(M, i), list, @@ -2057,13 +2287,13 @@ HermitePade. -=20 - if not member?(res, reslist)=20 - then reslist :=3D cons(res, reslist) -- =20 + + if not member?(res, reslist) + then reslist := cons(res, reslist) +- + - if one(options)$GOPT0 then return reslist=20 -- =20 + if one(options)$GOPT0 then return reslist +- + - MS :=3D rest MS + MS := rest MS else - M: Matrix SUP S :=3D guessInterpolate(guessList, eta, D) -- =20 + M: Matrix SUP S := guessInterpolate(guessList, eta, D) +- + for i in 1..o repeat - res :=3D testInterpolant(entries column(M, i),=20 + res := testInterpolant(entries column(M, i), list, @@ -2073,10 +2303,10 @@ HermitePade. - guessDegree::NNI,=20 + guessDegree::NNI, D, dummy, op, options) - (res case "failed") =3D> "iterate" -- =20 + (res case "failed") => "iterate" +- + - if not member?(res, reslist)=20 - then reslist :=3D cons(res, reslist) -- =20 + if not member?(res, reslist) + then reslist := cons(res, reslist) +- + - if one(options)$GOPT0 then return reslist=20 -=20 + if one(options)$GOPT0 then return reslist + reslist @@ -2168,7 +2398,7 @@ if F has RetractableTo Symbol and S has Retractable= To Symbol then - guessRec(q: Symbol): GUESSER =3D=3D - opts: LGOPT :=3D cons(displayAsGF(false)$GuessOption, #2) + guessRec(q: Symbol): GUESSER == + opts: LGOPT := cons(displayAsGF(false)$GuessOption, #2) guessHPaux(#1, (shiftHP q)(opts), opts) -- =20 +- + - guessPRec(q: Symbol): GUESSER =3D=3D - opts: LGOPT :=3D append([displayAsGF(false)$GuessOption,=20 + guessPRec(q: Symbol): GUESSER == + opts: LGOPT := append([displayAsGF(false)$GuessOption, maxPower(1)$GuessOption], #2) @@ -2219,7 +2449,7 @@ guess(list: List F, guessers: List GUESSER, ops: Li= st Symbol, output(hconcat("res ", res::OutputForm))$OutputPackage -=20 + if one(options)$GOPT0 and not empty? res then return res --=20 +- + - if (maxLevel =3D 0) then return res -=20 + if (maxLevel = 0) then return res + if member?('guessProduct, ops) and not member?(0$F, list) then @@ -2270,7 +2500,7 @@ guess(list: List F, guessers: List GUESSER, ops: Li= st Symbol, - for guess in sumGuess=20 - | not any?(guess.function =3D #1.function, res) repe= + for guess in sumGuess + | not any?(guess.function = #1.function, res) repe= at - res :=3D cons(guess, res) -- =20 + res := cons(guess, res) +- + res -=20 - guess(list: List F): GUESSRESULT =3D=3D=20 -@@ -2308,15 +2538,15 @@ GuessInteger() =3D=3D Guess(Fraction Integer, Int= + + guess(list: List F): GUESSRESULT == +@@ -2308,15 +2538,15 @@ GuessInteger() == Guess(Fraction Integer, Int= eger, Expression Integer, ++ This package exports guessing of sequences of numbers in a finite fie= ld GuessFiniteFunctions(F:Join(FiniteFieldCategory, ConvertibleTo Integer))= : - Exports =3D=3D Implementation where --=20 + Exports == Implementation where +- + - EXPRR =3D=3D> Expression Integer --=20 + EXPRR ==> Expression Integer +- + - Exports =3D=3D with -=20 + Exports == with + F2EXPRR: F -> EXPRR --=20 +- + - Implementation =3D=3D add --=20 + Implementation == add +- + - F2EXPRR(p: F): EXPRR =3D=3D convert(p)@Integer::EXPRR -=20 + F2EXPRR(p: F): EXPRR == convert(p)@Integer::EXPRR + @ -@@ -2345,6 +2575,320 @@ GuessPolynomial() =3D=3D Guess(Fraction Polynomia= +@@ -2345,6 +2575,320 @@ GuessPolynomial() == Guess(Fraction Polynomia= l Integer, Polynomial Integer, -=20 + @ -=20 + +\section{package GUESSAN GuessAlgebraicNumber} -+<>=3D ++<>= +)abbrev package GUESSAN GuessAlgebraicNumber +++ Description: +++ This package exports guessing of sequences of rational functions -+GuessAlgebraicNumber() =3D=3D Guess(AlgebraicNumber, AlgebraicNumber,=20 -+ Expression Integer,=20 ++GuessAlgebraicNumber() == Guess(AlgebraicNumber, AlgebraicNumber, ++ Expression Integer, + AlgebraicNumber, -+ id$MappingPackage1(AlgebraicNumber),=20 ++ id$MappingPackage1(AlgebraicNumber), + coerce$Expression(Integer)) + +@ + + +\section{package GUESSUP GuessUnivariatePolynomial} -+<>=3D ++<>= +)abbrev domain MYUP MyUnivariatePolynomial +MyUnivariatePolynomial(x:Symbol, R:Ring): + UnivariatePolynomialCategory(R) with @@ -21916,34 +21649,34 @@ l Integer, Polynomial Integer, + if R has univariate: (R, Symbol) -> SparseUnivariatePolynomial R + then coerce: R -> % + coerce: Polynomial R -> % -+ =3D=3D SparseUnivariatePolynomial(R) add -+ Rep :=3D SparseUnivariatePolynomial(R) -+ coerce(p: %):OutputForm =3D=3D outputForm(p, outputForm x) -+ coerce(x: Symbol): % =3D=3D monomial(1, 1) -+ coerce(v: Variable(x)):% =3D=3D monomial(1, 1) -+ retract(p: %): Symbol =3D=3D=20 ++ == SparseUnivariatePolynomial(R) add ++ Rep := SparseUnivariatePolynomial(R) ++ coerce(p: %):OutputForm == outputForm(p, outputForm x) ++ coerce(x: Symbol): % == monomial(1, 1) ++ coerce(v: Variable(x)):% == monomial(1, 1) ++ retract(p: %): Symbol == + retract(p)@SingletonAsOrderedSet + x + if R has univariate: (R, Symbol) -> SparseUnivariatePolynomial R -+ then coerce(p: R): % =3D=3D univariate(p, x)$R ++ then coerce(p: R): % == univariate(p, x)$R + -+ coerce(p: Polynomial R): % =3D=3D=20 -+ poly: SparseUnivariatePolynomial(Polynomial R)=20 -+ :=3D univariate(p, x)$(Polynomial R) ++ coerce(p: Polynomial R): % == ++ poly: SparseUnivariatePolynomial(Polynomial R) ++ := univariate(p, x)$(Polynomial R) + map(retract(#1), poly)$UnivariatePolynomialCategoryFunctions2(Po= lynomial R, -+ SparseUnivariatePolynomial Polynomial R,=20 ++ SparseUnivariatePolynomial Polynomial R, + R, %) + + +)abbrev domain MYEXPR MyExpression -+MyExpression(q: Symbol, R): Exports =3D=3D Implementation where ++MyExpression(q: Symbol, R): Exports == Implementation where + + R: Join(Ring, OrderedSet, IntegralDomain) -+ UP =3D=3D> MyUnivariatePolynomial(q, R) ++ UP ==> MyUnivariatePolynomial(q, R) + -+ Exports =3D=3D Join(FunctionSpace R, IntegralDomain, -+ RetractableTo UP, RetractableTo Symbol,=20 ++ Exports == Join(FunctionSpace R, IntegralDomain, ++ RetractableTo UP, RetractableTo Symbol, + RetractableTo Integer, CombinatorialOpsCategory, + PartialDifferentialRing Symbol) with + _* : (%,%) -> % @@ -21951,38 +21684,38 @@ lynomial R, + _*_* : (%,%) -> % + numerator : % -> % + denominator : % -> % -+ ground? : % -> Boolean=20 ++ ground? : % -> Boolean + + coerce: Fraction UP -> % + retract: % -> Fraction UP + -+ Implementation =3D=3D Expression R add -+ Rep :=3D Expression R ++ Implementation == Expression R add ++ Rep := Expression R + -+ iunivariate(p: Polynomial R): UP =3D=3D -+ poly: SparseUnivariatePolynomial(Polynomial R)=20 -+ :=3D univariate(p, q)$(Polynomial R) ++ iunivariate(p: Polynomial R): UP == ++ poly: SparseUnivariatePolynomial(Polynomial R) ++ := univariate(p, q)$(Polynomial R) + map(retract(#1), poly)$UnivariatePolynomialCategoryFunctions2(Po= lynomial R, -+ SparseUnivariatePolynomial Polynomial R,=20 ++ SparseUnivariatePolynomial Polynomial R, + R, UP) + -+ retract(p: %): Fraction UP =3D=3D=20 -+ poly: Fraction Polynomial R :=3D retract p -+ upoly: UP :=3D iunivariate numer poly -+ vpoly: UP :=3D iunivariate denom poly ++ retract(p: %): Fraction UP == ++ poly: Fraction Polynomial R := retract p ++ upoly: UP := iunivariate numer poly ++ vpoly: UP := iunivariate denom poly + + upoly / vpoly + -+ retract(p: %): UP =3D=3D iunivariate retract p ++ retract(p: %): UP == iunivariate retract p + -+ coerce(r: Fraction UP): % =3D=3D=20 -+ num: SparseUnivariatePolynomial R :=3D makeSUP numer r -+ den: SparseUnivariatePolynomial R :=3D makeSUP denom r -+ u: Polynomial R :=3D multivariate(num, q) -+ v: Polynomial R :=3D multivariate(den, q) ++ coerce(r: Fraction UP): % == ++ num: SparseUnivariatePolynomial R := makeSUP numer r ++ den: SparseUnivariatePolynomial R := makeSUP denom r ++ u: Polynomial R := multivariate(num, q) ++ v: Polynomial R := multivariate(den, q) + -+ quot: Fraction Polynomial R :=3D u/v ++ quot: Fraction Polynomial R := u/v + + quot::(Expression R) + @@ -21992,19 +21725,19 @@ lynomial R, +++ Description: +++ This package exports guessing of sequences of univariate rational fun= ctions -+GuessUnivariatePolynomial(q: Symbol): Exports =3D=3D Implementation wher= ++GuessUnivariatePolynomial(q: Symbol): Exports == Implementation wher= e + -+ UP =3D=3D> MyUnivariatePolynomial(q, Integer) -+ EXPRR =3D=3D> MyExpression(q, Integer) -+ F =3D=3D> Fraction UP -+ S =3D=3D> UP -+ NNI =3D=3D> NonNegativeInteger -+ LGOPT =3D=3D> List GuessOption -+ GUESSRESULT =3D=3D> List Record(function: EXPRR, order: NNI) -+ GUESSER =3D=3D> (List F, LGOPT) -> GUESSRESULT ++ UP ==> MyUnivariatePolynomial(q, Integer) ++ EXPRR ==> MyExpression(q, Integer) ++ F ==> Fraction UP ++ S ==> UP ++ NNI ==> NonNegativeInteger ++ LGOPT ==> List GuessOption ++ GUESSRESULT ==> List Record(function: EXPRR, order: NNI) ++ GUESSER ==> (List F, LGOPT) -> GUESSRESULT + -+ Exports =3D=3D with ++ Exports == with + + guess: List F -> GUESSRESULT + ++ \spad{guess l} applies recursively \spadfun{guessRec} and @@ -22039,29 +21772,29 @@ symbol + ++ \spad{guessProduct} to the list. The given options are used. + + guessExpRat: List F -> GUESSRESULT -+ ++ \spad{guessExpRat l} tries to find a function of the form=20 ++ ++ \spad{guessExpRat l} tries to find a function of the form + ++ n+->(a+b n)^n r(n), where r(n) is a rational function, that= fits -+ ++ l.=20 ++ ++ l. + + guessExpRat: (List F, LGOPT) -> GUESSRESULT + ++ \spad{guessExpRat(l, options)} tries to find a function of = the + ++ form n+->(a+b n)^n r(n), where r(n) is a rational function,= that -+ ++ fits l.=20 ++ ++ fits l. + + guessBinRat: List F -> GUESSRESULT + ++ \spad{guessBinRat(l, options)} tries to find a function of = the -+ ++ form n+->binomial(a+b n, n) r(n), where r(n) is a rational=20 -+ ++ function, that fits l.=20 ++ ++ form n+->binomial(a+b n, n) r(n), where r(n) is a rational ++ ++ function, that fits l. + + guessBinRat: (List F, LGOPT) -> GUESSRESULT + ++ \spad{guessBinRat(l, options)} tries to find a function of = the -+ ++ form n+->binomial(a+b n, n) r(n), where r(n) is a rational=20 -+ ++ function, that fits l.=20 ++ ++ form n+->binomial(a+b n, n) r(n), where r(n) is a rational ++ ++ function, that fits l. + +-- if F has RetractableTo Symbol and S has RetractableTo Symbol t= hen @@ -22107,7 +21840,7 @@ re en by + ++ l, using the default options described in + ++ \spadtype{GuessOptionFunctions0}. It is equivalent to -+ ++ \spadfun{guessADE}(l, maxDerivative =3D=3D 0). ++ ++ \spadfun{guessADE}(l, maxDerivative == 0). + + guessAlg: (List F, LGOPT) -> GUESSRESULT + ++ \spad{guessAlg(l, options)} tries to find an algebraic equa= @@ -22115,8 +21848,8 @@ tion + ++ for a generating function whose first Taylor coefficients a= re + ++ given by l, using the given options. It is equivalent to -+ ++ \spadfun{guessADE}(l, options) with \spad{maxDerivative =3D= -=3D 0}. ++ ++ \spadfun{guessADE}(l, options) with \spad{maxDerivative == += 0}. + + guessHolo: List F -> GUESSRESULT + ++ \spad{guessHolo l} tries to find an ordinary linear differe= @@ -22125,7 +21858,7 @@ ntial icients + ++ are given by l, using the default options described in + ++ \spadtype{GuessOptionFunctions0}. It is equivalent to -+ ++ \spadfun{guessADE}\spad{(l, maxPower =3D=3D 1)}. ++ ++ \spadfun{guessADE}\spad{(l, maxPower == 1)}. + + guessHolo: (List F, LGOPT) -> GUESSRESULT + ++ \spad{guessHolo(l, options)} tries to find an ordinary line= @@ -22134,7 +21867,7 @@ ar Taylor + ++ coefficients are given by l, using the given options. It is + ++ equivalent to \spadfun{guessADE}\spad{(l, options)} with -+ ++ \spad{maxPower =3D=3D 1}. ++ ++ \spad{maxPower == 1}. + + guessPade: (List F, LGOPT) -> GUESSRESULT + ++ \spad{guessPade(l, options)} tries to find a rational funct= @@ -22142,7 +21875,7 @@ ion + ++ whose first Taylor coefficients are given by l, using the g= iven + ++ options. It is equivalent to \spadfun{guessADE}\spad{(l, -+ ++ maxDerivative =3D=3D 0, maxPower =3D=3D 1, allDegrees =3D=3D= ++ ++ maxDerivative == 0, maxPower == 1, allDegrees === true)}. + + guessPade: List F -> GUESSRESULT @@ -22153,8 +21886,8 @@ efault + ++ options described in \spadtype{GuessOptionFunctions0}. It i= s + ++ equivalent to \spadfun{guessADE}\spad{(l, options)} with -+ ++ \spad{maxDerivative =3D=3D 0, maxPower =3D=3D 1, allDegrees= - =3D=3D true}. ++ ++ \spad{maxDerivative == 0, maxPower == 1, allDegrees= + == true}. + + guessRec: List F -> GUESSRESULT + ++ \spad{guessRec l} tries to find an ordinary difference equa= @@ -22167,7 +21900,7 @@ s + ++ \spad{guessRec(l, options)} tries to find an ordinary diffe= rence + ++ equation whose first values are given by l, using the given -+ ++ options.=20 ++ ++ options. + + guessPRec: (List F, LGOPT) -> GUESSRESULT + ++ \spad{guessPRec(l, options)} tries to find a linear recurre= @@ -22175,8 +21908,8 @@ nce + ++ with polynomial coefficients whose first values are given b= y l, + ++ using the given options. It is equivalent to -+ ++ \spadfun{guessRec}\spad{(l, options)} with \spad{maxPower =3D= -=3D 1}. ++ ++ \spadfun{guessRec}\spad{(l, options)} with \spad{maxPower == += 1}. + + guessPRec: List F -> GUESSRESULT + ++ \spad{guessPRec l} tries to find a linear recurrence with @@ -22184,16 +21917,16 @@ y l, using + ++ the default options described in + ++ \spadtype{GuessOptionFunctions0}. It is equivalent to -+ ++ \spadfun{guessRec}\spad{(l, maxPower =3D=3D 1)}.=20 ++ ++ \spadfun{guessRec}\spad{(l, maxPower == 1)}. + + guessRat: (List F, LGOPT) -> GUESSRESULT + ++ \spad{guessRat(l, options)} tries to find a rational functi= on + ++ whose first values are given by l, using the given options.= It is -+ ++ equivalent to \spadfun{guessRec}\spad{(l, maxShift =3D=3D 0= ++ ++ equivalent to \spadfun{guessRec}\spad{(l, maxShift == 0= , maxPower -+ ++ =3D=3D 1, allDegrees =3D=3D true)}. ++ ++ == 1, allDegrees == true)}. + + guessRat: List F -> GUESSRESULT + ++ \spad{guessRat l} tries to find a rational function whose f= @@ -22201,9 +21934,9 @@ irst + ++ values are given by l, using the default options described = in + ++ \spadtype{GuessOptionFunctions0}. It is equivalent to -+ ++ \spadfun{guessRec}\spad{(l, maxShift =3D=3D 0, maxPower =3D= -=3D 1, -+ ++ allDegrees =3D=3D true)}. ++ ++ \spadfun{guessRec}\spad{(l, maxShift == 0, maxPower == += 1, ++ ++ allDegrees == true)}. + + diffHP: LGOPT -> HPSPEC + ++ \spad{diffHP options} returns a specification for Hermite-P= @@ -22238,8 +21971,8 @@ ing + ++ a linear q-recurrence with polynomial coefficients whose fi= rst + ++ values are given by l, using the given options. It is -+ ++ equivalent to \spadfun{guessRec}\spad{(q)} with=20 -+ ++ \spad{maxPower =3D=3D 1}. ++ ++ equivalent to \spadfun{guessRec}\spad{(q)} with ++ ++ \spad{maxPower == 1}. + + guessRat: Symbol -> GUESSER + ++ \spad{guessRat q} returns a guesser that tries to find a @@ -22247,8 +21980,8 @@ rst g + ++ the given options. It is equivalent to \spadfun{guessRec} w= ith -+ ++ \spad{(l, maxShift =3D=3D 0, maxPower =3D=3D 1, allDegrees = -=3D=3D true)}. ++ ++ \spad{(l, maxShift == 0, maxPower == 1, allDegrees = +== true)}. + + guessADE: Symbol -> GUESSER + ++ \spad{guessADE q} returns a guesser that tries to find an @@ -22260,7 +21993,7 @@ hose +------------------------------------------------------------------------= ------- + -+ Implementation =3D=3D Guess(Fraction UP, UP, ++ Implementation == Guess(Fraction UP, UP, + MyExpression(q, Integer), + Fraction UP, + id$MappingPackage1(Fraction UP), @@ -22269,13 +22002,13 @@ hose + + \section{License} - <>=3D + <>= --Copyright (c) 2006-2007, Martin Rubey -@@ -2377,14 +2921,14 @@ GuessPolynomial() =3D=3D Guess(Fraction Polynomia= +@@ -2377,14 +2921,14 @@ GuessPolynomial() == Guess(Fraction Polynomia= l Integer, Polynomial Integer, - <<*>>=3D + <<*>>= <> -=20 + -<> <> -<> @@ -22295,18 +22028,18 @@ index 5be79c2..8cedd33 100644 --- a/src/algebra/rec.spad.pamphlet +++ b/src/algebra/rec.spad.pamphlet @@ -21,7 +21,8 @@ - RecurrenceOperator(R, F): Exports =3D=3D Implementation where + RecurrenceOperator(R, F): Exports == Implementation where R: Join(OrderedSet, IntegralDomain, ConvertibleTo InputForm) F: Join(FunctionSpace R, AbelianMonoid, RetractableTo Integer, _ - RetractableTo Symbol, PartialDifferentialRing Symbol) + RetractableTo Symbol, PartialDifferentialRing Symbol, _ + CombinatorialOpsCategory) - --RecurrenceOperator(F): Exports =3D=3D Implementation where + --RecurrenceOperator(F): Exports == Implementation where -- F: Join(ExpressionSpace, AbelianMonoid, RetractableTo Integer, - -- RetractableTo Symbol, PartialDifferentialRing Symbol)=20 -@@ -39,14 +40,20 @@ RecurrenceOperator(R, F): Exports =3D=3D Implementati= + -- RetractableTo Symbol, PartialDifferentialRing Symbol) +@@ -39,14 +40,20 @@ RecurrenceOperator(R, F): Exports == Implementati= on where -=20 + evalADE: (BasicOperator, Symbol, F, F, F, List F) -> F ++ \spad{evalADE(f, dummy, x, n, eq, values)} creates an expressio= n that @@ -22334,155 +22067,155 @@ he + ++ \spad{getOp f}, if f represents the coefficient of a recurrence= or + ++ ADE, returns the operator representing the solution -=20 + - getADE: F -> F - ++ \spad{getADE f} returns the defining equation, if f stands for = the - ++ coefficient of an ADE. -=20 + -- should be local numberOfValuesNeeded: (Integer, BasicOperator, Symbol, F) -> Integer @@ -165,7 +172,7 @@ how many initial values are necessary. -=20 - p :=3D univariate(a.1, retract(n::F)@Kernel(F)) - if denominator p ~=3D 1 then return "failed" -- =20 -+ - num :=3D numer p -=20 - if degree num =3D 1 and coefficient(num, 1) =3D 1 + + p := univariate(a.1, retract(n::F)@Kernel(F)) + if denominator p ~= 1 then return "failed" +- ++ + num := numer p + + if degree num = 1 and coefficient(num, 1) = 1 @@ -249,14 +256,14 @@ how many initial values are necessary. then values.(len-n) else - shiftInfo :=3D shiftInfoRec(op, argsym, eq) -- =20 + shiftInfo := shiftInfoRec(op, argsym, eq) +- + if shiftInfo.max case Integer then - p :=3D univariate(eq, shiftInfo.ker) -=20 - num :=3D numer p -- =20 + p := univariate(eq, shiftInfo.ker) + + num := numer p +- + - if degree num =3D 1 then -- =20 + if degree num = 1 then +- + - next :=3D -coefficient(num, 0)/coefficient(num, 1) - nextval :=3D eval(next, argsym::F,=20 + next := -coefficient(num, 0)/coefficient(num, 1) + nextval := eval(next, argsym::F, (len-(shiftInfo.max)::Integer)::F) @@ -266,7 +273,7 @@ how many initial values are necessary. else - kernel(oprecur,=20 + kernel(oprecur, append([eq, argsym::F, argdisp, op(arg)], values)= ) -- =20 +- + else - kernel(oprecur,=20 + kernel(oprecur, append([eq, argsym::F, argdisp, op(arg)], values)) @@ -334,6 +341,24 @@ an operator. -=20 + \subsection{Functional Equations} -=20 + +\subsubsection{Determining the number of initial values for ADE's} + +We use Joris van der Hoeven's instructions for ADE's. Given -+$Q=3Dp(f,f',\dots,f^{(r)})$ we first need to differentiate $Q$ with resp= ++$Q=p(f,f',\dots,f^{(r)})$ we first need to differentiate $Q$ with resp= ect to +$f^{(i)}$ for $i\in\{0,1,\dots,r\}$, plug in the given truncated power s= eries +solution and determine the valuation. + -+<>=3D -+ getValuation(op, argsym, eq, maxorder, values): Integer =3D=3D -+ max: Integer :=3D -1; ++<>= ++ getValuation(op, argsym, eq, maxorder, values): Integer == ++ max: Integer := -1; + ker: Kernel F + for i in 0..maxorder repeat -+ ker :=3D D(op(argsym), argsym, i)::Kernel F -+ pol :=3D univariate(eq, ker) -+ dif :=3D D pol ++ ker := D(op(argsym), argsym, i)::Kernel F ++ pol := univariate(eq, ker) ++ dif := D pol + ground numer(dif.D(op(argsym), argsym, i)) +@ + \subsubsection{Extracting some information from the functional equation} -=20 + [[getOrder]] returns the maximum derivative of [[op]] occurring in [[f]]. @@ -360,51 +385,55 @@ an operator. -=20 - if ((n :=3D retractIfCan(arg)@Union(Integer, "failed")) case "fail= + + if ((n := retractIfCan(arg)@Union(Integer, "failed")) case "fail= ed") - then=20 + then --- --- The following would need yet another operator, namely "coefficient of= ". --- ---- keq :=3D kernels eq ---- order :=3D getOrder(op, keq.1) ---- for k in rest keq repeat order :=3D max(order, getOrder(op, k= +--- keq := kernels eq +--- order := getOrder(op, keq.1) +--- for k in rest keq repeat order := max(order, getOrder(op, k= )) ----=20 ---- if zero? order then=20 +--- +--- if zero? order then --- -- in this case, we have an algebraic equation ----=20 ---- p: Fraction SparseUnivariatePolynomial F=20 ---- :=3D univariate(eq, kernels(D(op(argsym::F), argsym, orde= +--- +--- p: Fraction SparseUnivariatePolynomial F +--- := univariate(eq, kernels(D(op(argsym::F), argsym, orde= r)).1)$F ----=20 ---- num :=3D numer p ----=20 +--- +--- num := numer p +--- --- if one? degree num then --- -- the equation is in fact linear --- return eval(-coefficient(num, 0)/coefficient(num, 1), arg= sym::F, arg::F) ----=20 -- kernel(opADE,=20 +--- +- kernel(opADE, - append([eq, argsym::F, argdisp, op(arg)], values)) +-- try to determine the necessary number of initial values -+ keq :=3D kernels eq -+ order :=3D getOrder(op, keq.1) -+ for k in rest keq repeat order :=3D max(order, getOrder(op, k)) ++ keq := kernels eq ++ order := getOrder(op, keq.1) ++ for k in rest keq repeat order := max(order, getOrder(op, k)) + -+ p: Fraction SparseUnivariatePolynomial F=20 -+ :=3D univariate(eq, kernels(D(op(argsym::F), argsym, order)).= ++ p: Fraction SparseUnivariatePolynomial F ++ := univariate(eq, kernels(D(op(argsym::F), argsym, order)).= 1)$F + -+ if one? degree numer p=20 ++ if one? degree numer p +-- the equation is holonomic -+ then kernel(opADE,=20 -+ append([eq, argsym::F, argdisp, op(arg)],=20 ++ then kernel(opADE, ++ append([eq, argsym::F, argdisp, op(arg)], + reverse first(reverse values, order))) -+ else kernel(opADE,=20 ++ else kernel(opADE, + append([eq, argsym::F, argdisp, op(arg)], values)) else if n < 0 then 0 else - keq :=3D kernels eq - order :=3D getOrder(op, keq.1) + keq := kernels eq + order := getOrder(op, keq.1) - output(hconcat("The order is ", order::OutputForm))$OutputPack= age +-- output(hconcat("The order is ", order::OutputForm))$OutputPa= ckage - for k in rest keq repeat order :=3D max(order, getOrder(op, k)= + for k in rest keq repeat order := max(order, getOrder(op, k)= ) -=20 - p: Fraction SparseUnivariatePolynomial F=20 - :=3D univariate(eq, kernels(D(op(argsym::F), argsym, order))= + + p: Fraction SparseUnivariatePolynomial F + := univariate(eq, kernels(D(op(argsym::F), argsym, order))= .1)$F -=20 + - output(hconcat("p: ", p::OutputForm))$OutputPackage +-- output(hconcat("p: ", p::OutputForm))$OutputPackage + if degree numer p > 1 then -- kernel(opADE,=20 +- kernel(opADE, - append([eq, argsym::F, argdisp, op(arg)], values)) -+-- kernel(opADE,=20 ++-- kernel(opADE, +-- append([eq, argsym::F, argdisp, op(arg)], values)) + -+ s :=3D seriesSolve(eq, op, argsym, reverse values) -+ $ExpressionSolve(R, F,=20 ++ s := seriesSolve(eq, op, argsym, reverse values) ++ $ExpressionSolve(R, F, + UnivariateFormalPowerSeries= - F,=20 + F, + UnivariateFormalPowerSeries + SparseUnivariatePolynomia= lExpressions F) @@ -22490,39 +22223,39 @@ lExpressions F) + elt(s, n::Integer::NonNegativeInteger) + else - s :=3D seriesSolve(eq, op, argsym, first(reverse values, ord= + s := seriesSolve(eq, op, argsym, first(reverse values, ord= er)) - $ExpressionSolve(R, F,=20 + $ExpressionSolve(R, F, UnivariateFormalPowerSeries= - F,=20 + F, UnivariateFormalPowerSeries SparseUnivariatePolynomia= lExpressions F) -- =20 +- + elt(s, n::Integer::NonNegativeInteger) -=20 -=20 + + @@ -418,13 +447,25 @@ an operator. -=20 + evaluate(opADE, iADE)$BasicOperatorFunctions1(F) -=20 -- getADE(f: F): F =3D=3D -+ getEq(f: F): F =3D=3D - ker :=3D kernels f + +- getADE(f: F): F == ++ getEq(f: F): F == + ker := kernels f - if one?(#ker) and is?(operator(ker.1), "rootOfADE"::Symbol) then + if one?(#ker) and _ + (is?(operator(ker.1), "rootOfADE"::Symbol) or _ + is?(operator(ker.1), "rootOfRec"::Symbol)) then - l :=3D argument(ker.1) + l := argument(ker.1) eval(eqAsF l, dummyAsF l, displayVariable l) else - error "getADE: argument should be a single rootOfADE object" + error "getEq: argument should be a single rootOfADE or rootOfRec= object" + -+ getOp(f: F): BasicOperator =3D=3D -+ ker :=3D kernels f ++ getOp(f: F): BasicOperator == ++ ker := kernels f + if one?(#ker) and _ + (is?(operator(ker.1), "rootOfADE"::Symbol) or _ + is?(operator(ker.1), "rootOfRec"::Symbol)) then @@ -22531,21 +22264,21 @@ lExpressions F) + error "getOp: argument should be a single rootOfADE or rootOfRec= object" + -=20 + @ %$ @@ -440,7 +481,9 @@ an operator. - :=3D cons(eval(eqAsF l, dummyAsF l, displayVariable l)::Outpu= -tForm =3D _ + := cons(eval(eqAsF l, dummyAsF l, displayVariable l)::Outpu= +tForm = _ 0::OutputForm, [eval(D(op(dummyAsF l), dummy l, i), _ -- dummyAsF l=3D0)::OutputForm =3D (values.(i+1)):= +- dummyAsF l=0)::OutputForm = (values.(i+1)):= :OutputForm -+ dummyAsF l=3D0)::OutputForm =3D _ ++ dummyAsF l=0)::OutputForm = _ + (values.(i+1))::OutputForm * _ + factorial(box(i::R::F)$F)::OutputForm _ for i in 0..min(4,#values-5)]) -=20 + bracket(hconcat([bracket((displayVariable l)::OutputForm ** _ diff --git a/src/algebra/ssolve.spad.pamphlet b/src/algebra/ssolve.spad.p= amphlet @@ -22590,29 +22323,29 @@ of + [[sin(1+monomial(1,1)$UFPS SUP EXPR INT)]]. +\end{ToDo} + -+<>=3D ++<>= +)abb package UTSSOL TaylorSolve -+TaylorSolve(F, UTSF, UTSSUPF): Exports =3D=3D Implementation where ++TaylorSolve(F, UTSF, UTSSUPF): Exports == Implementation where + F: Field -+ SUP =3D=3D> SparseUnivariatePolynomialExpressions ++ SUP ==> SparseUnivariatePolynomialExpressions + UTSF: UnivariateTaylorSeriesCategory F + UTSSUPF: UnivariateTaylorSeriesCategory SUP F -+ NNI =3D=3D> NonNegativeInteger ++ NNI ==> NonNegativeInteger + -+ Exports =3D=3D with ++ Exports == with + seriesSolve: (UTSSUPF -> UTSSUPF, List F) -> UTSF + -+ Implementation =3D=3D add ++ Implementation == add +<> +@ + -+<>=3D -+ seriesSolve(f, l) =3D=3D -+ c1 :=3D map(#1::(SUP F), l)$ListFunctions2(F, SUP F)::(Strea= ++<>= ++ seriesSolve(f, l) == ++ c1 := map(#1::(SUP F), l)$ListFunctions2(F, SUP F)::(Strea= m SUP F) -+ coeffs: Stream SUP F :=3D concat(c1, generate(monomial(1$F,1= ++ coeffs: Stream SUP F := concat(c1, generate(monomial(1$F,1= $NNI))) -+-- coeffs: Stream SUP F :=3D concat(c1, monomial(1$F,1$NNI)) ++-- coeffs: Stream SUP F := concat(c1, monomial(1$F,1$NNI)) +@ + +[[coeffs]] is the stream of the already computed coefficients of the sol= @@ -22633,13 +22366,13 @@ ution + is produced, although it is not uniquely determined\dots +\end{ToDo} + -+<>=3D -+ st: List Stream SUP F :=3D [coeffs, coeffs] ++<>= ++ st: List Stream SUP F := [coeffs, coeffs] +@ + -+Consider an arbitrary equation $f\big(x, y(x)\big)=3D0$. When setting $x= -=3D0$, we -+obtain $f\big(0, y(0)\big)=3D0$. It is not necessarily the case that thi= ++Consider an arbitrary equation $f\big(x, y(x)\big)=0$. When setting $x= +=0$, we ++obtain $f\big(0, y(0)\big)=0$. It is not necessarily the case that thi= s +determines $y(0)$ uniquely, so we need one initial value that satisfies = this @@ -22647,17 +22380,17 @@ this +\begin{ToDo} + [[seriesSolve]] should check that the given initial values satisfy $f\= big(0, y(0), -+ y'(0),...\big) =3D 0$. ++ y'(0),...\big) = 0$. +\end{ToDo} +Now consider the derivatives of $f$, where we write $y$ instead of $y(x)= $ for +better readability: +\begin{equation*} -+ \frac{d}{dx}f(x, y)=3Df_1(x, y) + f_2(x, y)y^\prime ++ \frac{d}{dx}f(x, y)=f_1(x, y) + f_2(x, y)y^\prime +\end{equation*} +and +\begin{align*} -+ \frac{d^2}{dx^2}f(x, y)&=3Df_{1,1}(x, y)\\ ++ \frac{d^2}{dx^2}f(x, y)&=f_{1,1}(x, y)\\ + &+f_{1,2}(x, y)y^\prime\\ + &+f_{2,1}(x, y)y^\prime\\ + &+f_{2,2}(x, y)(y^\prime)^2\\ @@ -22680,21 +22413,21 @@ is + seems that composition is allowed. +\end{ToDo} + -+<>=3D -+ next: () -> F :=3D=20 -+ nr :=3D st.1 ++<>= ++ next: () -> F := ++ nr := st.1 + res: F + -+ if ground?(coeff: SUP F :=3D nr.1)$(SUP F) ++ if ground?(coeff: SUP F := nr.1)$(SUP F) +@ +%$ + +If the next element was already calculated, we can simply return it: + -+<>=3D -+ then=20 -+ res :=3D ground coeff=20 -+ st.1 :=3D rest nr ++<>= ++ then ++ res := ground coeff ++ st.1 := rest nr + else +@ + @@ -22704,25 +22437,25 @@ is on +should be unique. + -+<>=3D -+ ns :=3D st.2 -+ eqs: Stream SUP F :=3D coefficients f series ns -+ while zero? first eqs repeat eqs :=3D rest eqs -+ eq: SUP F :=3D first eqs ++<>= ++ ns := st.2 ++ eqs: Stream SUP F := coefficients f series ns ++ while zero? first eqs repeat eqs := rest eqs ++ eq: SUP F := first eqs + if degree eq > 1 then -+ if monomial? eq then res :=3D 0 -+ else=20 ++ if monomial? eq then res := 0 ++ else + output(hconcat("The equation is: ", eq::Outp= utForm)) + $OutputPackage + error "seriesSolve: equation for coefficient= not linear" -+ else res :=3D (-coefficient(eq, 0$NNI)$(SUP F) ++ else res := (-coefficient(eq, 0$NNI)$(SUP F) + /coefficient(eq, 1$NNI)$(SUP F)) + -+ nr.1 :=3D res::SUP F ++ nr.1 := res::SUP F +-- concat!(st.2, monomial(1$F,1$NNI)) -+ st.1 :=3D rest nr ++ st.1 := rest nr + + res + @@ -22733,16 +22466,16 @@ utForm)) + + \section{package EXPRSOL ExpressionSolve} -=20 + \begin{ToDo} -@@ -34,6 +184,7 @@ ExpressionSolve(R, F, UTSF, UTSSUPF): Exports =3D=3D I= +@@ -34,6 +184,7 @@ ExpressionSolve(R, F, UTSF, UTSSUPF): Exports == I= mplementation where - Exports =3D=3D with -=20 + Exports == with + seriesSolve: (F, OP, SY, List F) -> UTSF + replaceDiffs: (F, OP, Symbol) -> F -=20 - Implementation =3D=3D add + + Implementation == add <> @@ -51,18 +202,25 @@ It turns out that the compiler doesn't find the righ= t definition of @@ -22758,36 +22491,36 @@ o use + seriesSolve(h x -1-x*h x *h(q*x), h, x, [1]) + \end{verbatim} +\end{ToDo} -=20 - <>=3D - opelt :=3D operator("elt"::Symbol)$OP - opdiff :=3D operator("D"::Symbol)$OP - opcoerce :=3D operator("coerce"::Symbol)$OP -=20 + + <>= + opelt := operator("elt"::Symbol)$OP + opdiff := operator("D"::Symbol)$OP + opcoerce := operator("coerce"::Symbol)$OP + - replaceDiffs: (F, OP, Symbol) -> F +-- replaceDiffs: (F, OP, Symbol) -> F - replaceDiffs (expr, op, sy) =3D=3D - lk :=3D kernels expr + replaceDiffs (expr, op, sy) == + lk := kernels expr for k in lk repeat - if freeOf?(coerce k, sy) then -- expr :=3D subst(expr, [k], [opcoerce [coerce k]]) +- expr := subst(expr, [k], [opcoerce [coerce k]]) +-- if freeOf?(coerce k, sy) then -+-- expr :=3D subst(expr, [k], [opcoerce [coerce k]]) -=20 ++-- expr := subst(expr, [k], [opcoerce [coerce k]]) + if is?(k, op) then - arg :=3D first argument k + arg := first argument k @@ -139,10 +297,8 @@ works. This is probably due to missing [[/]] in [[UF= PS]]. - <<*>>=3D + <<*>>= <> -=20 + - -<> - -<> +<> +<> -=20 + @ \end{document} diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.h= @@ -22797,11 +22530,11 @@ index 3189281..b6d0a87 100644 +++ b/src/axiom-website/patches.html @@ -817,6 +817,8 @@ bookvol10.3 add domains
bookvol10.3 add domains
- 20081217.01.tpd.patch + 20081217.01.tpd.patch padic.spad removed
-+20081217.02.tpd.patch ++20081217.02.tpd.patch +add guess package
-=20 + - \ No newline at end of file @@ -22811,25 +22544,21 @@ phlet index 84578e4..3e4c0ab 100644 --- a/src/input/ndftip.input.pamphlet +++ b/src/input/ndftip.input.pamphlet -@@ -586,7 +586,7 @@ hdftsD :=3D nagHermitianDFT seqsD; +@@ -586,7 +586,7 @@ hdftsD := nagHermitianDFT seqsD; --S 34 of 45 used to work? map(expand,hdftsD) :: List Vector Complex Float - --R=20 ----R There are 68 exposed and 8 unexposed library operations named map=20 -+--R There are 68 exposed and 9 unexposed library operations named map=20 - --R having 2 argument(s) but none was determined to be applicable.=20 + --R +---R There are 68 exposed and 8 unexposed library operations named map ++--R There are 68 exposed and 9 unexposed library operations named map + --R having 2 argument(s) but none was determined to be applicable. --R Use HyperDoc Browse, or issue --R )display op map - - \start -From: Tim Daly Date: Mon, 22 Dec 2008 00:47:09 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081219.01.wxh.patch (Float has exp: Float -> - Float) +Subject: 20081219.01.wxh.patch (Float has exp: Float -> Float) Patch by Waldek to expand has questions for explicit signatures ======================================================================= @@ -22872,13 +22601,10 @@ index 7613842..5c1c210 100644 domform = catOrAtt => 'T for [aCat,:cond] in [:ancestorsOf(domform,NIL),:SUBLISLIS (rest domform,$FormalMapVariableList,GETDATABASE(opOf domform,'ATTRIBUTES))] | aCat = catOrAtt repeat - - \start -From: Tim Daly Date: Mon, 22 Dec 2008 20:12:27 -0600 +From: Tim Daly To: list -Cc: Subject: 20081221.01.tpd.patch (bookvol10.3 add domains) Break out MYEXPR, MYUP from GUESSF @@ -23190,15 +22916,11 @@ index c8f6886..16f1537 100644 - - \start -From: Tim Daly Date: Tue, 23 Dec 2008 04:49:23 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081222.01.tpd.patch (algebra/Makefile add - clique mechanism) +Subject: 20081222.01.tpd.patch (algebra/Makefile add clique mechanism) The clique mechanism solves mutual dependencies in source files ====================================================================== @@ -23277,15 +22999,11 @@ index 16f1537..c42abc6 100644 - - \start -From: Tim Daly Date: Tue, 23 Dec 2008 13:45:43 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081223.02.tpd.patch (algebra/Makefile move - BASTYPE to layer 0) +Subject: 20081223.02.tpd.patch (algebra/Makefile move BASTYPE to layer 0) BASTYPE needs no support files. ======================================================================= @@ -23335,15 +23053,11 @@ index fc9f5fc..c16accc 100644 - - \start -From: Tim Daly Date: Wed, 24 Dec 2008 00:17:48 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081223.04.tpd.patch (algebra/Makefile move - LIST3 to layer 1) +Subject: 20081223.04.tpd.patch (algebra/Makefile move LIST3 to layer 1) Move LIST3 to layer 1 =================================================================== @@ -23400,15 +23114,11 @@ index 287754e..ae73df3 100644 - - \start -From: Tim Daly Date: Wed, 24 Dec 2008 01:25:06 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081223.05.tpd.patch (algebra/Makefile move - MKFUNC to layer 1) +Subject: 20081223.05.tpd.patch (algebra/Makefile move MKFUNC to layer 1) Move MKFUNC.o to layer 1 of the build ===================================================================== @@ -23458,15 +23168,11 @@ index ae73df3..09fe518 100644 - - \start -From: Tim Daly Date: Wed, 24 Dec 2008 02:55:08 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081223.06.tpd.patch (algebra/Makefile move - ESCONT1 to layer 0) +Subject: 20081223.06.tpd.patch (algebra/Makefile move ESCONT1 to layer 0) Move ESCONT1.o to layer 0 ===================================================================== @@ -23516,15 +23222,11 @@ index 09fe518..77f3f1e 100644 - - \start -From: Tim Daly Date: Wed, 24 Dec 2008 03:52:45 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081224.01.tpd.patch (algebra/Makefile move - PARPCURV to layer 1) +Subject: 20081224.01.tpd.patch (algebra/Makefile move PARPCURV to layer 1) Move PARPCURV to layer 1 ======================================================================= @@ -23573,15 +23275,11 @@ index 77f3f1e..364bafe 100644 - - \start -From: Tim Daly Date: Wed, 24 Dec 2008 05:15:22 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081224.02.tpd.patch (algebra/Makefile move - PARPC2 to layer 1) +Subject: 20081224.02.tpd.patch (algebra/Makefile move PARPC2 to layer 1) Move PARPC2 to layer 1 ===================================================================== @@ -23631,15 +23329,11 @@ index 364bafe..dce3b5b 100644 - - \start -From: Tim Daly Date: Wed, 24 Dec 2008 07:11:28 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081224.03.tpd.patch (algebra/Makefile move - PARSCURV to layer 1) +Subject: 20081224.03.tpd.patch (algebra/Makefile move PARSCURV to layer 1) Move PARSCURV to layer 1 =================================================================== @@ -23667,15 +23361,11 @@ index dce3b5b..9e12433 100644 - - \start -From: Tim Daly Date: Wed, 24 Dec 2008 08:57:30 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081224.04.tpd.patch (algebra/Makefile move - PARCS2 to layer 1) +Subject: 20081224.04.tpd.patch (algebra/Makefile move PARCS2 to layer 1) Move PARCS2 to layer 1 ===================================================================== @@ -23724,15 +23414,11 @@ index 9e12433..1f4ea90 100644 - - \start -From: Tim Daly Date: Wed, 24 Dec 2008 11:33:23 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081224.05.tpd.patch (algebra/Makefile collapse - layer 4 into 1 and 2) +Subject: 20081224.05.tpd.patch (algebra/Makefile collapse layer 4 into 1 and 2) Layer 4 collapses into layers 1 and 2. The graph now eliminates layers 3 and 4 completely. @@ -23902,15 +23588,11 @@ index 1f4ea90..dbc6520 100644 - - \start -From: Tim Daly Date: Wed, 24 Dec 2008 22:25:37 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081224.06.tpd.patch (algebra/Makefile collapse - layer 5 into layer 2) +Subject: 20081224.06.tpd.patch (algebra/Makefile collapse layer 5 into layer 2) Layer 5 of the build graph now collapses into layer 2 ======================================================================= @@ -24003,15 +23685,11 @@ index dbc6520..7769f15 100644 - - \start -From: Tim Daly Date: Thu, 25 Dec 2008 01:32:28 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081225.01.tpd.patch (algebra/Makefile move - layers 7, 8, 9) +Subject: 20081225.01.tpd.patch (algebra/Makefile move layers 7, 8, 9) Layers 7,8,and 9 have been numbered downward to 5,6 and 7 respectively. Some domains were moved to reflect constraints. @@ -24212,15 +23890,11 @@ index 7769f15..b524223 100644 - - \start -From: Tim Daly Date: Thu, 25 Dec 2008 02:54:24 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081225.02.tpd.patch (algebra/Makefile move - layer 10, MAPPKG4) +Subject: 20081225.02.tpd.patch (algebra/Makefile move layer 10, MAPPKG4) MAPPKG4 was misplaced and moved. Layer 10 was renamed. @@ -24377,15 +24051,11 @@ index b524223..bd746ae 100644 - - \start -From: Tim Daly Date: Thu, 25 Dec 2008 06:19:47 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081225.03.tpd.patch (algebra/Makefile move - layers 11, 12, 13) +Subject: 20081225.03.tpd.patch (algebra/Makefile move layers 11, 12, 13) Renumber layers 11, 12, and 13 downward as graph collapses. ===================================================================== @@ -24666,15 +24336,11 @@ index bd746ae..4ca6300 100644 - - \start -From: Tim Daly Date: Thu, 25 Dec 2008 11:04:04 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081225.04.tpd.patch (algebra/Makefile move - layers 15-19) +Subject: 20081225.04.tpd.patch (algebra/Makefile move layers 15-19) Layers up to 19 have been collapsed downward. ======================================================================= @@ -25083,15 +24749,11 @@ index 4ca6300..1a34cd9 100644 - - \start -From: Tim Daly Date: Fri, 26 Dec 2008 09:12:24 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081226.01.tpd.patch (algebra/Makefile rearrange - build order) +Subject: 20081226.01.tpd.patch (algebra/Makefile rearrange build order) Move several domains downward in the build order ======================================================================= @@ -25422,15 +25084,11 @@ index 1a34cd9..e0cedab 100644 - - \start -From: Tim Daly Date: Fri, 26 Dec 2008 17:39:10 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081226.02.tpd.patch (algebra/Makefile rearrange - build order) +Subject: 20081226.02.tpd.patch (algebra/Makefile rearrange build order) More rearrangements in the build order to satisfy build graph ====================================================================== @@ -25783,16 +25441,11 @@ index e0cedab..1c48c17 100644 - - \start -From: Tim Daly Date: Sun, 28 Dec 2008 02:00:11 -0600 +From: Tim Daly To: list - seldom 2.4 (older, 4) -Cc: -Subject: 20081227.01.tpd.patch (algebra/Makfile complete - build order change) +Subject: 20081227.01.tpd.patch (algebra/Makfile complete build order change) This patch completes the build order change of the algebra. We are now ready to build the graph of the algebra build process. @@ -26183,15 +25836,11 @@ index 1c48c17..b31dabe 100644 - - \start -From: Tim Daly Date: Mon, 29 Dec 2008 21:27:42 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081229.01.tpd.patch (hp.svg Axiom build order - graph) +Subject: 20081229.01.tpd.patch (hp.svg Axiom build order graph) The Axiom build order graph now exists at: @@ -26209,18 +25858,11 @@ in your browser using Ctrl- and Ctrl+ although it is rather large. The patch is too large to post. It is available at http://axiom-developer.org/axiom-website/patches.html#latest -Tim - - - - \start -From: Tim Daly Date: Tue, 30 Dec 2008 20:46:40 -0600 +From: Tim Daly To: list -Cc: -Subject: 20081230.01.tpd.patch (CATS Kamke test suite - uploaded) +Subject: 20081230.01.tpd.patch (CATS Kamke test suite uploaded) The CATS Kamke test suite for Ordinary Differential Equations was added to the website at: @@ -26229,15 +25871,10 @@ http://axiom-developer.org/axiom-website/CATS The patch is too large to post. Visit http://axiom-developer.org/axiom-website/patches.html#latest -Tim - - - \start -From: Tim Daly Date: Wed, 31 Dec 2008 07:32:58 -0600 +From: Tim Daly To: list -Cc: Subject: 20081231.01.tpd.patch (hp build order graph fixes) Remove a couple of bogus nodes. diff --git a/book/2009-04.txt b/book/2009-04.txt index df566a5..b626bb7 100644 --- a/book/2009-04.txt +++ b/book/2009-04.txt @@ -5610,7 +5610,7 @@ Tim \start Date: Wed, 8 Apr 2009 20:52:44 -0400 -From: Stephen Wilson +From: Stephen Wilson To: Igor Pashev Subject: Re: Building Axiom on Slackware qJ1HSJhu3QCCugQVrrUDoNf/twSHvQmwT7BQEPwskke9lvgr0E @@ -5881,7 +5881,7 @@ Tim \start From: Tim Daly Date: Thu, 9 Apr 2009 12:17:51 -0500 -To: list, "Stephen Wilson" , +To: list, "Stephen Wilson" Stephen Wilson, "Igor Pashev" Cc: Subject: 20090409.01.tpd.patch (src/algebra/Makefile egrep @@ -8022,7 +8022,7 @@ index 5304ddf..672d982 100644 \start Date: Sat, 11 Apr 2009 18:29:27 -0400 -From: Stephen Wilson +From: Stephen Wilson To: Igor Pashev Subject: Re: [Fwd: Re: Building Axiom on Slackware] 9tBjsvf4JlMit9FZ3VoxA0K45kVf1O1bFIjDTCQkW71buDAOQK @@ -8058,7 +8058,7 @@ Steve \start Date: Sat, 11 Apr 2009 21:43:17 -0400 From: Tim Daly -To: wilsons@start.ca +To: Stephen Wilson Wilson on Sat, 11 Apr 2009 18:29:27 -0400) Subject: Re: [Fwd: Re: Building Axiom on Slackware] <20090411222927.GA7785@fibrous.localdomain> @@ -8098,7 +8098,7 @@ Date: Sat, 11 Apr 2009 20:18:37 -0500 Subject: Re: [Fwd: Re: Building Axiom on Slackware] From: Gabriel Dos Reis To: Tim Daly -Cc: list, wilsons@start.ca +Cc: list, Stephen Wilson On Sat, Apr 11, 2009 at 8:43 PM, Tim Daly wrote: >> Actually, a patch for this problem was posted a year ago (and even long = @@ -8150,7 +8150,7 @@ Subject: Re: [Fwd: Re: Building Axiom on Slackware] <200904120143.n3C1hH308454@localhost.localdomain> <206fcf960904111818w2c511f7k965fd63183baa145@mail.gmail.com> recognized. -Cc: list, wilsons@start.ca +Cc: list, Stephen Wilson > >> Actually, a patch for this problem was posted a year ago (and even long before > >> counting the build-improvements branch).  I was (mistakenly) under the @@ -8227,7 +8227,7 @@ Date: Sat, 11 Apr 2009 21:36:04 -0500 Subject: Re: [Fwd: Re: Building Axiom on Slackware] From: Gabriel Dos Reis To: Tim Daly -Cc: list, wilsons@start.ca +Cc: list, Stephen Wilson On Sat, Apr 11, 2009 at 9:50 PM, Tim Daly wrote: @@ -8287,7 +8287,7 @@ Subject: Re: [Fwd: Re: Building Axiom on Slackware] <200904120250.n3C2o3g08491@localhost.localdomain> <206fcf960904111936u6f1c7b27v6777b18bb4a9629b@mail.gmail.com> recognized. -Cc: list, wilsons@start.ca +Cc: list, Stephen Wilson > Please, continue your regularly scheduled work and ignore > my suggestion (which Stephen reproduced) that happens to work @@ -8323,7 +8323,7 @@ Date: Sat, 11 Apr 2009 22:18:59 -0500 Subject: Re: [Fwd: Re: Building Axiom on Slackware] From: Gabriel Dos Reis To: Tim Daly -Cc: list, wilsons@start.ca +Cc: list, Stephen Wilson On Sat, Apr 11, 2009 at 10:51 PM, Tim Daly wrote: > @@ -8364,7 +8364,7 @@ Subject: Re: [Fwd: Re: Building Axiom on Slackware] <200904120351.n3C3p7P08510@localhost.localdomain> <206fcf960904112018y651dbad9l66ba9ce84c27cd37@mail.gmail.com> recognized. -Cc: list, wilsons@start.ca +Cc: list, Stephen Wilson > > All I asked was, did anyone test the patch. > @@ -8383,7 +8383,7 @@ Date: Sat, 11 Apr 2009 22:41:16 -0500 Subject: Re: [Fwd: Re: Building Axiom on Slackware] From: Gabriel Dos Reis To: Tim Daly -Cc: list, wilsons@start.ca +Cc: list, Stephen Wilson On Sat, Apr 11, 2009 at 11:18 PM, Tim Daly wrote: >> > All I asked was, did anyone test the patch. @@ -8418,7 +8418,7 @@ Subject: Re: [Fwd: Re: Building Axiom on Slackware] <200904120418.n3C4I8o08527@localhost.localdomain> <206fcf960904112041u2a93360pe7520a2219e5d7e4@mail.gmail.com> recognized. -Cc: list, wilsons@start.ca +Cc: list, Stephen Wilson > >> > All I asked was, did anyone test the patch. > >> @@ -8669,7 +8669,7 @@ Subject: Re: [Fwd: Re: Building Axiom on Slackware] <206fcf960904111818w2c511f7k965fd63183baa145@mail.gmail.com> <200904120250.n3C2o3g08491@localhost.localdomain> recognized. -Cc: list, wilsons@start.ca +Cc: list, Stephen Wilson On slackware 12.2 I applied your patch to use the Xpm shared library. I built Axiom from scratch using the shared library. @@ -8880,7 +8880,7 @@ Martin \start Date: Sun, 12 Apr 2009 12:04:32 -0400 -From: Stephen Wilson +From: Stephen Wilson To: Tim Daly Subject: Re: [Fwd: Re: Building Axiom on Slackware] <20090411222927.GA7785@fibrous.localdomain> @@ -8935,7 +8935,7 @@ This is the case for OpenAxiom. \start Date: Sun, 12 Apr 2009 16:20:29 -0400 From: Tim Daly -To: wilsons@start.ca +To: Stephen Wilson Wilson on Sun, 12 Apr 2009 12:04:32 -0400) Subject: Re: [Fwd: Re: Building Axiom on Slackware] <20090411222927.GA7785@fibrous.localdomain> @@ -8971,7 +8971,7 @@ Tim \start Date: Sun, 12 Apr 2009 16:25:12 -0400 From: Tim Daly -To: wilsons@start.ca +To: Stephen Wilson Wilson on Sun, 12 Apr 2009 12:04:32 -0400) Subject: Re: [Fwd: Re: Building Axiom on Slackware] <20090411222927.GA7785@fibrous.localdomain> @@ -9008,7 +9008,7 @@ Tim \start Date: Sun, 12 Apr 2009 17:10:33 -0400 -From: Stephen Wilson +From: Stephen Wilson To: Tim Daly Subject: Re: [Fwd: Re: Building Axiom on Slackware] <20090411222927.GA7785@fibrous.localdomain> @@ -9055,7 +9055,7 @@ Steve \start Date: Sun, 12 Apr 2009 17:36:40 -0400 -From: Stephen Wilson +From: Stephen Wilson To: Tim Daly Subject: Re: [Fwd: Re: Building Axiom on Slackware] <20090411222927.GA7785@fibrous.localdomain> @@ -9103,7 +9103,7 @@ Steve \start Date: Sun, 12 Apr 2009 21:01:37 -0400 From: Tim Daly -To: wilsons@start.ca +To: Stephen Wilson Wilson on Sun, 12 Apr 2009 17:36:40 -0400) Subject: Re: [Fwd: Re: Building Axiom on Slackware] <20090411222927.GA7785@fibrous.localdomain> @@ -9140,7 +9140,7 @@ Tim \start Date: Sun, 12 Apr 2009 21:03:47 -0400 From: Tim Daly -To: wilsons@start.ca +To: Stephen Wilson Wilson on Sun, 12 Apr 2009 17:36:40 -0400) Subject: Re: [Fwd: Re: Building Axiom on Slackware] <20090411222927.GA7785@fibrous.localdomain> @@ -9399,7 +9399,7 @@ CY \start Date: Sun, 12 Apr 2009 22:02:09 -0400 -From: Stephen Wilson +From: Stephen Wilson To: Tim Daly Subject: Re: [Fwd: Re: Building Axiom on Slackware] <200904120143.n3C1hH308454@localhost.localdomain> @@ -9468,7 +9468,7 @@ Steve \start Date: Sun, 12 Apr 2009 23:30:28 -0400 -From: Stephen Wilson +From: Stephen Wilson To: Tim Daly Subject: Re: [Fwd: Re: Building Axiom on Slackware] <200904120143.n3C1hH308454@localhost.localdomain> @@ -9503,7 +9503,7 @@ Steve \start Date: Mon, 13 Apr 2009 00:32:34 -0400 From: Tim Daly -To: wilsons@start.ca +To: Stephen Wilson Wilson on Sun, 12 Apr 2009 23:30:28 -0400) Subject: Re: [Fwd: Re: Building Axiom on Slackware] <200904120143.n3C1hH308454@localhost.localdomain> @@ -10564,7 +10564,7 @@ index 2eb437e..39d84df 100644 \start From: Tim Daly Date: Mon, 13 Apr 2009 19:41:49 -0500 -To: list, "Stephen Wilson" +To: list, "Stephen Wilson" Stephen Wilson Cc: Subject: 20090413.03.tpd.patch (bookvol5 fix 7191, set *system-directory*) diff --git a/book/2009-08.txt b/book/2009-08.txt index 3714d5e..7a22436 100644 --- a/book/2009-08.txt +++ b/book/2009-08.txt @@ -2594,7 +2594,7 @@ To: sage-devel@googlegroups.com n7O84X3W008904 Cc: "list >> Axiom-Developer" , - sage-combinat-devel@googlegroups.com, Nicolas.Thiery@u-psud.fr + sage-combinat-devel@googlegroups.com, Nicolas Thiery Subject: Re: [sage-devel] Re: Categories restart: call for reviewers @@ -2610,7 +2610,7 @@ Nicolas M. Thiery wrote: > > On Sun, Aug 23, 2009 at 12:37:11PM +0100, John Cremona wrote: > =20 ->> 2009/8/23 Nicolas M. Thiery : +>> 2009/8/23 Nicolas M. Thiery Nicolas Thiery: >> =20 >>> So you can focus on looking at the code, doc, and tests in the files >>> mentioned in: diff --git a/book/2009-11.txt b/book/2009-11.txt index c8f22f1..e300e3f 100644 --- a/book/2009-11.txt +++ b/book/2009-11.txt @@ -3998,7 +3998,7 @@ Tim \start Date: Mon, 16 Nov 2009 22:46:15 -0500 -From: Stephen Wilson +From: Stephen Wilson To: Tim Daly Tim Daly Subject: Re: Embedding Axiom Y2YpnYW0H/dWnacH3HR2UBTwo7cCKY3AM66iTuR2ic+G6phvQL @@ -4034,7 +4034,7 @@ steve \start Date: Tue, 17 Nov 2009 00:26:59 -0500 From: Tim Daly Tim Daly -To: Stephen Wilson +To: Stephen Wilson Subject: Re: Embedding Axiom <20091117034615.GA20998@fibrous.localdomain> Cc: list diff --git a/book/2011-04.txt b/book/2011-04.txt index 5ad4350..0fc9f9b 100644 --- a/book/2011-04.txt +++ b/book/2011-04.txt @@ -2895,7 +2895,7 @@ On Wed, 2011-04-13 at 17:59 -0400, donald wrote: \start Date: Wed, 13 Apr 2011 19:27:47 -0400 -From: Stephen Wilson +From: Stephen Wilson To: daly Tim Daly <4DA61CDC.9060202@sbcglobal.net> <1302733132.31324.246.camel@pewter> diff --git a/changelog b/changelog index 601a4d7..8f80f2e 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20140605 tpd src/axiom-website/patches.html 20140605.03.tpd.patch +20140605 tpd book/*.txt email cleanup 20140605 tpd src/axiom-website/patches.html 20140605.02.tpd.patch 20140605 tpd books/bookvolbib add Special Topics / Polynomial GCD 20140605 tpd src/axiom-website/patches.html 20140605.01.tpd.patch diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 3e8b09c..2036134 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -4382,6 +4382,8 @@ books/dvipdfm.def added to fix missing file in latex builds book/*.txt email cleanup 20140605.02.tpd.patch books/bookvolbib add Special Topics / Polynomial GCD +20140605.03.tpd.patch +book/*.txt email cleanup