\start
Date: Mon, 22 Feb 2010 12:09:29 +0100
From: Sergio Iovacchini
To: list
Subject: can not configure for Apple Mac OS X 10.4 powerpc

Pls, can You help me on how to modify configure shell so I
can buil Axiom on a Mac OS X system?
I don't need /dev/pty.. for HyperDoc.
TIA

\start
Date: Tue, 23 Feb 2010 12:40:43 -0500
From: Tim Daly
To: Sergio Iovacchini
Subject: Re: can not configure for Apple Mac OS X 10.4 powerpc

The last supported version of Axiom on the 10.4 is listed here:
http://axiom-developer.org/axiom-website/download.html

1) download the binary axiom-macosxppc-mar2008-bin.tgz
2) tar -zxf axiom-macosxppc-mar2008-bin.tgz
3) cd axiom
4) export AXIOM=`pwd`/mnt/macosxppc
5) export PATH=$AXIOM/bin:$PATH
6) axiom -nox   (runs axiom with no X support)

Sergio Iovacchini wrote:
> Pls, can You help me on how to modify configure shell so I
> can buil Axiom on a Mac OS X system?
> I don't need /dev/pty.. for HyperDoc.
> TIA

\start
Date: Wed, 24 Feb 2010 17:47:21 -0500
From: Tim Daly
To: Joel Spolsky
Subject: Software editor

I'm just about to cross 11,000 changes in the Axiom changelog file.
It will be 10 years of effort as of August 2010.

There have been many phases of development starting with
trying to get Axiom to run at all. At the present time I'm
reorganizing all of the software into books.
http://en.wikipedia.org/wiki/Axiom_computer_algebra_system

The idea is literate programming, ala Knuth and the model for the
ultimate goal is "Lisp In Small Pieces" by Christian Queinnec.  The
goal is to be able to read Axiom like a book and understand the
result. If that can be achieved then new generations of programmers
can continue to maintain, modify, and expand the system. Axiom will be
"living software".

Having attempted to write 2 "real" books I had much interaction
with publishing houses. My contact with the publisher started
out with being assigned an "editor". Her job (female in both
cases) involved pretty much everything but content. The tasks
of arranging, editing, checking, indexing, presentation,
managing the clarity, choosing the layout, and just about
everything else fell on their shoulders. I don't think a book
comes from a publisher without going through an editor. I don't
think a book goes through an editor without begin improved.
And I don't know of many books that put the editor's name on
the cover, although given the amount of work, they probably should.
Which brings me to the point...

The job of Software Editor is missing from the development cycle
of software. We do not have people who manage the editorial aspects
of software development.

I think that if we are going to build quality software which is
intended to outlive its original developer base we need to use
literate programming. If we use literate programming we need to
learn lessons from the field of literature. One of these lessons
is the need for a "Software Editor".

\start
Date: Thu, 25 Feb 2010 20:08:39 -0500
From: Tim Daly
To: list
Subject: Axiom and Cloud Computing

I have successfully built Axiom on Amazon's EC2 Cloud Computing service.
This means that Axiom images can now be built on a wider combination
of hardware and software. If you need a particular combination you can
choose one from the thousands of pre-configured machines or you can
custom create a machine. If you let me know the "AMI" setup I can build
and host the images in the future.

\start
Date: Sat, 27 Feb 2010 03:36:37 -0500
From: Tim Daly
To: Rupinder Singh
Subject: Axiom volunteer work ideas

(Note that I have copied the axiom-developer.org mailing list)

Well my todo list is way too long to print.
Here are some interesting ideas that I have "in the queue" to do.
If one of them interests you let me know.


Interactive 3D Object in Axiom documentation

Axiom is being rewritten into a literate programming style.
That means that all of the source code will be in pdfs.
There is a site:
http://meshlabstuff.blogspot.com/2009/03/creating-interactive-3d-objects-inside.html
which allows someone to put a 3D object into a pdf yet keep
it interactive. Axiom can create 3D images. I'd like to be able
to put one of those images into the Axiom pdfs. If you look at
Volume 1, Chapter 10 it shows how to draw 3D objects.
Demonstrate an Axiom 3D graph being used interactively in a pdf.



Axiom Browser and Canvas work

Axiom documentation is in "hyperdoc" which is a browser-like program
we wrote in the late 70s. This program will start when Axiom starts.
I have been moving this documentation from hyperdoc to html so it
can be used in a standard browser. All of the "glue code" exists.
The new firefox version of Axiom documentation is in Volume 11
http://axiom-developer.org/axiom-website/documentation.html
but it is incomplete. However, there are plans to be able to use
the new HTML5 Canvas tag to do the standard Axiom graphics. This
involves several problems:

  How do I do interactive graphics in a canvas?
  (see http://www.danvk.org/dygraphs/)
  Demonstrate generating the data from Axiom and displaying it in the
  Axiom browser


  How do I generate graphviz "dot" graphs in a canvas?
  (see: http://www.ryandesign.com/canviz/)
     In particular, I now generate the full graph of Axiom's
     Categories (see:
     http://axiom-developer.org/axiom-website/bookvol10.2abb.html)
     but I want the graph automated in a page.
  Demonstrate creating and drawing a graphviz dot graph from Axiom
  and displaying it in the Axiom browser



Latex in HTML

Axiom uses MathML for direct output but it uses latex everywhere else.
It would be useful to be able to do latex output in html. See:
http://code.google.com/p/jstexrender/
Demonstrate pages in Volume 11 that render static text in latex in
a browser window



Fortran Library work

If you want something more mathematical there are a large number of
fortran library routines that were part of the commercial version of
Axiom but were not released to open source. See Volume 10.3 and look
for the ASP domains. These are Axiom "covers" for the NAG fortran
library. There are 2 possible paths to explore, either to find a
standard fortran library and rewrite the cover routines or find
algorithms (e.g. runga-kutta integration) and write lisp routines
to fit "under the covers" (Axiom is written in Lisp).
Demonstrate the lisp or fortran routine being used from Axiom.



Lisp in a Browser

Axiom is lisp code. How can I get lisp interactivity directly
into the browser? As in:
http://marcbelmont.com/lisp-interpreter-javascript-jquery/
Demonstrate putting the Axiom command prompt in a browser
(note that this works in the Axiom browser for limited cases)



FORTRAN/Python

Axiom generates Fortran output. I want to change this to also
generate Python output. See )set output fortran on
I want to be able to do )set output python on
Demonstrate automatically constructing a python program from Axiom



Fast Fourier Transform

I have a need for FFTs. Figure out how to implement this in Lisp:
http://www.fftw.org/
Demonstrate an FFTW in Axiom called from the command line



Axiom/Mathematica/Maple/Macsyma

These four systems all do trigonometric functions but they have
different branch cuts. I have done some investigation and found
that Axiom and Maple tend to agree and Mathematica and Macsyma
tend to agree but the two sets give different answers. This can
be changed so that Axiom falls into the Mathematica/Macsyma camp.
We need to figure out which trig identities agree and which do not.
Demonstrate the differences between Axiom and the other systems
in a systematic way.



CATS (Computer Algebra Test Suite)

Axiom has 2 major test suites in the src/input subdirectory.
One is the Schaums integration set and the other is the Kamke
differential equation set. There is a great need for other
fully worked problems based on published standards. Pick an
area of mathematics or otherwise and write a test suite.
(I found 4 errors in the Schaums published values so be sure
to check the published results as well as Axiom's results).
One useful test suite would be on infinite sequences and series.
See src/input/schaum* and src/input/kamke*
Demonstrate a new test suite.

If you want to do something fun there is a book called
CRC Standard Curves and Surfaces by David von Seggarn ISBN 0-8493-0196-3
that has both the equations and the curves. You can draw multiple
curve in a single viewport. See:
src/input/multiple.input.pamphlet
Demonstrate a new test suite of graphs from the book.



Bronstein's PMINT

Manuel Bronstein wrote an integration routine in 95 lines of code.
Rewrite this in Axiom as an input file. See:
http://emmy.cnnet.upr.edu/lmedina/software/software_index.html
See also: src/input/pmint.input.pamphlet
Demonstrate the correct solutions of integrals.



Line Breaking

One of the problems we have is the length of the output line.
This will vary by the width of the browser screen so we need
a line-breaking algorithm. Write a javascript implementation of:
http://defoe.sourceforge.net/folio/knuth-plass.html
Demonstrate a variable length dynamic line break in a browser.



Pseudo-inverse

For a more mathematical problem, write a new pamphlet file
(see src/input/* for examples) that computes the matrix pseudo-inverse:
http://en.wikipedia.org/wiki/Moore-Penrose_pseudoinverse
Demonstrate pseudo-inverses with a test suite.



Immutable Data Structures

Axiom needs to implement immutable data structures as I have
several plans in the works for parallel programming. Look at
Clojure (a lisp language), document their 32-trie copy-on-write
algorithms, and make common lisp implementations. See:
Purely Functional Data Structure by Chris Okasaki ISBN 0-521-66350-4
Demonstrate immutable data structures in common lisp.



3D Solid Models

I am currently working with a robot I built. I want to be able
to model the robot and the parts it manipulates in Axiom. In
particular, I'd like to interface to a 3D solid model program
from Axiom with some general purpose interface so they can both
communicate. See
http://www.hongkiat.com/blog/60-excellent-free-3d-model-websites/
for possible candidates. Also see the domain DHMATRIX in
volume 10.3 for the DH-matrix code which I use for the robot.
Demonstrate creating a 3D model from Axiom



Functionally Active Parse Structures

Currently Axiom parses to data structures. This is "old school".
I want to parse to lisp functions, not data (See the MIT lectures
http://www.youtube.com/watch?v=2QgZVYI3tDs on Structure and
Interpretation of Computer Programs. The book is available at
http://deptinfo.unice.fr/~roy/sicp.pdf)
The key idea is that there are no data structures, everything is
a function. I want to parse directly to executable lisp code rather
than to data structures. I have a plan for parallel work off this.
Demonstrate a parser that returns compiled, executable lisp code.

Note that the last item is pure research, a small piece of my
proviso research effort.

I could go on but it is 3am here.
Feel free to ask questions.

\start
Date: Sat, 27 Feb 2010 04:04:34 -0500
From: Edward Borasky
To: Tim Daly
Subject: Re: Axiom volunteer work ideas
Cc: Rupinder Singh

Quoting Tim Daly:

> Interactive 3D Object in Axiom documentation
>
> Axiom is being rewritten into a literate programming style.
> That means that all of the source code will be in pdfs.
> There is a site:
> http://meshlabstuff.blogspot.com/2009/03/creating-interactive-3d-objects-i=
nside.html
> which allows someone to put a 3D object into a pdf yet keep
> it interactive. Axiom can create 3D images. I'd like to be able
> to put one of those images into the Axiom pdfs. If you look at
> Volume 1, Chapter 10 it shows how to draw 3D objects.
> Demonstrate an Axiom 3D graph being used interactively in a pdf.

PDFs with embedded 3D objects are extremely cool - there's a piece of 
magic called "U3D" involved. Adobe has proprietary tools that do this 
magic, but I'm not sure there's a fully open-source tool set with a 
reasonable work flow. I remember downloading some stuff a couple of 
years ago and giving up on it. A quad core and 8 GB of RAM might be a 
big help. ;-)

> Fortran Library work
>
> If you want something more mathematical there are a large number of
> fortran library routines that were part of the commercial version of
> Axiom but were not released to open source. See Volume 10.3 and look
> for the ASP domains. These are Axiom "covers" for the NAG fortran
> library. There are 2 possible paths to explore, either to find a
> standard fortran library and rewrite the cover routines or find
> algorithms (e.g. runga-kutta integration) and write lisp routines
> to fit "under the covers" (Axiom is written in Lisp).
> Demonstrate the lisp or fortran routine being used from Axiom.

How much of this number crunching is already in GSL? Does it *have* to 
be FORTRAN? Why not C? The C compilers may have sucked wet dog fur 
when NAG was selling FORTRAN libraries, but they're fine now. Now that 
I think about it, I'd love to be able to simply "shell out to R" from 
Axiom. The closest thing to that is to run R and use Ryacas to talk to 
a Yacas server for the symbolic stuff. I'd rather work in a symbolic 
language and use a *numerical* server.

> FORTRAN/Python
>
> Axiom generates Fortran output. I want to change this to also
> generate Python output. See )set output fortran on
> I want to be able to do )set output python on
> Demonstrate automatically constructing a python program from Axiom

How about Ruby? Rationals and Matrices thereof are a "standard 
library" in Ruby. How about R or Octave code?

> Fast Fourier Transform
>
> I have a need for FFTs. Figure out how to implement this in Lisp:
> http://www.fftw.org/
> Demonstrate an FFTW in Axiom called from the command line

I've seen FFTs in Lisp, although I can't remember where. There's 
probably a Scheme macro to do it, too. ;-)

\start
Date: Sat, 27 Feb 2010 04:38:47 -0500
From: Tim Daly
To: Edward Borasky
Subject: Re: Axiom volunteer work ideas
Cc: Rupinder Singh

These are just ideas (well, mostly) at this point.
I've done some simple experiments with some of them
but I'm too busy scraping the last of the Axiom source
code into literate form to attack them at the moment.

As to the Fortran vs C question... I'd be happy with either
but, truth be told, I'd really prefer a lisp implementation.
That said, I have seen a Fortran-to-C conversion program
somewhere although how well it would work on BLAS is unclear.
But it would be easy to embed a C version directly into GCL.

The choice of python was motivated by the fact that I am
using python for a task in work. A general framework that
handled a common subset of any language would be ideal. This
would allow us to generate ruby/python/haskell/fortress/go/etc

Axiom can handle several forms of output. Some bright spot
only needs to architect a generalization of the existing code,
make it more table-driven, and ... bob's your uncle, as the
Brits say.

I did an FFT many years ago in lisp but it was on a very
old, non-common-lisp. I think the sources are on paper tape.
I suppose I could parse out the 7-bit ascii but I'm lazy.

In any case, I'm just paging through my pile of notes to find
something that doesn't seem too tedious for volunteers. Nobody
wants to resurrect the Doyen work, pretty up the website (not
the content but the CSS), or struggle with a Mac port. Other
ideas like embedding ACL2 under Axiom for proof work are just
too invasive and way too steep a learning curve for volunteers.

I suppose I should journal more of these ideas to the mailing
list so others can think about them. I have partial implementations
of a lot of things, like a Cohen algebra domain that allows
explanations to be printed for each step in a solution. It is
based on Joel Cohen's Computer Algebra and Symbolic Computation books.
And I've done some more special function work but not had the
cycles to put it into the algebra yet.

Time, time, time.... sigh.

Tim



Ed Borasky wrote:
> Quoting Tim Daly:
>
>> Interactive 3D Object in Axiom documentation
>>
>> Axiom is being rewritten into a literate programming style.
>> That means that all of the source code will be in pdfs.
>> There is a site:
>> http://meshlabstuff.blogspot.com/2009/03/creating-interactive-3d-objects-inside.html 
>>
>> which allows someone to put a 3D object into a pdf yet keep
>> it interactive. Axiom can create 3D images. I'd like to be able
>> to put one of those images into the Axiom pdfs. If you look at
>> Volume 1, Chapter 10 it shows how to draw 3D objects.
>> Demonstrate an Axiom 3D graph being used interactively in a pdf.
>
> PDFs with embedded 3D objects are extremely cool - there's a piece of 
> magic called "U3D" involved. Adobe has proprietary tools that do this 
> magic, but I'm not sure there's a fully open-source tool set with a 
> reasonable work flow. I remember downloading some stuff a couple of 
> years ago and giving up on it. A quad core and 8 GB of RAM might be a 
> big help. ;-)
>
>> Fortran Library work
>>
>> If you want something more mathematical there are a large number of
>> fortran library routines that were part of the commercial version of
>> Axiom but were not released to open source. See Volume 10.3 and look
>> for the ASP domains. These are Axiom "covers" for the NAG fortran
>> library. There are 2 possible paths to explore, either to find a
>> standard fortran library and rewrite the cover routines or find
>> algorithms (e.g. runga-kutta integration) and write lisp routines
>> to fit "under the covers" (Axiom is written in Lisp).
>> Demonstrate the lisp or fortran routine being used from Axiom.
>
> How much of this number crunching is already in GSL? Does it *have* to 
> be FORTRAN? Why not C? The C compilers may have sucked wet dog fur 
> when NAG was selling FORTRAN libraries, but they're fine now. Now that 
> I think about it, I'd love to be able to simply "shell out to R" from 
> Axiom. The closest thing to that is to run R and use Ryacas to talk to 
> a Yacas server for the symbolic stuff. I'd rather work in a symbolic 
> language and use a *numerical* server.
>
>> FORTRAN/Python
>>
>> Axiom generates Fortran output. I want to change this to also
>> generate Python output. See )set output fortran on
>> I want to be able to do )set output python on
>> Demonstrate automatically constructing a python program from Axiom
>
> How about Ruby? Rationals and Matrices thereof are a "standard 
> library" in Ruby. How about R or Octave code?
>
>> Fast Fourier Transform
>>
>> I have a need for FFTs. Figure out how to implement this in Lisp:
>> http://www.fftw.org/
>> Demonstrate an FFTW in Axiom called from the command line
>
> I've seen FFTs in Lisp, although I can't remember where. There's 
> probably a Scheme macro to do it, too. ;-)

\start
Date: Sat, 27 Feb 2010 05:04:09 -0500
From: Edward Borasky
To: Tim Daly
Subject: Re: Axiom volunteer work ideas
Cc: Rupinder Singh

Quoting Tim Daly:

>
> As to the Fortran vs C question... I'd be happy with either
> but, truth be told, I'd really prefer a lisp implementation.
> That said, I have seen a Fortran-to-C conversion program
> somewhere although how well it would work on BLAS is unclear.
> But it would be easy to embed a C version directly into GCL.

FORTRAN-C conversion is ancient technology, as are the BLAS. Allow me 
to introduce you to ATLAS

http://math-atlas.sourceforge.net/

I'm not sure how current non-x86_64 versions are, but the x86_64 
version gets tweaked more or less constantly. ATLAS is in C, with 
assembler kernels in many places where it makes sense to have them.


> The choice of python was motivated by the fact that I am
> using python for a task in work. A general framework that
> handled a common subset of any language would be ideal. This
> would allow us to generate ruby/python/haskell/fortress/go/etc

Python's a *lot* more efficient than Ruby for number crunching.

> I suppose I should journal more of these ideas to the mailing
> list so others can think about them. I have partial implementations
> of a lot of things, like a Cohen algebra domain that allows
> explanations to be printed for each step in a solution. It is
> based on Joel Cohen's Computer Algebra and Symbolic Computation books.
> And I've done some more special function work but not had the
> cycles to put it into the algebra yet.
>
> Time, time, time.... sigh.

Yeah - I need to seriously pick up algorithmic composition again. It's 
a lot easier than computational math, though.

\start
Date: Sat, 27 Feb 2010 14:23:12 -0500
From: Ted Kosan
To: list
Subject: Re: Axiom volunteer work ideas

Tim wrote:

>Interactive 3D Object in Axiom documentation
>
>Axiom is being rewritten into a literate programming style.
>That means that all of the source code will be in pdfs.
>There is a site:
>http://meshlabstuff.blogspot.com/2009/03/creating-interactive-3d-objects-inside.html
>which allows someone to put a 3D object into a pdf yet keep
>it interactive. Axiom can create 3D images. I'd like to be able
>to put one of those images into the Axiom pdfs. If you look at
>Volume 1, Chapter 10 it shows how to draw 3D objects.
>Demonstrate an Axiom 3D graph being used interactively in a pdf.

Something similar to this are live Dvi documents.  The demo at the
following website shows an interactive 3D object inside a live Dvi
document:

http://www-sfb288.math.tu-berlin.de/jdvi/

One advantage of this approach is that any kind of GUI components can
be placed into the Dvi document, including ones that interact with the
Axiom calculation engine.  Another advantage is that the live Dvi
document can either run in a browser or by itself outside of a
browser.

Ted
http://mathpiper.org



