login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for PanAxiomCommunity revision 6 of 6

1 2 3 4 5 6
Editor: test1
Time: 2015/10/14 13:29:59 GMT+0
Note:

changed:
-are more described in [Summer of Code].
-
-Aldor Licensing
-
-  Aldor is a language for writing Axiom libraries which was written
-to be an improvement to SPAD.  While the Aldor compiler is generously 
-licensed, it is not free or open source and so it cannot be a standard
-part of Axiom.  There is a possibility that the Aldor compiler may 
-become free software.  To show that there is a community of people
-interested in a freely licensed Aldor compiler, consider signing the 
-[FreeAldor] petition.
are more described in [OldSummer of Code].

Besides frequently visiting the FriCAS Wiki website. There are several ways to stay in contact with the PanAxiom community.

Talk to Us!

There is an irc channel where developers can find other developers. It is:

      server: irc.freenode.net 
      channel:#axiom-developer

Open Source Axiom Developer Websites

E-mail Lists

The Axiom mailinglists are:

axiom-math (archive)
Discussion of math theory and philosophy related to Axiom
axiom-mail (archive)
General discussion on Axiom
axiom-developer (archive)
When you have issues to compile Axiom or with Axiom internals
axiom-legal (archive)
All legal issues, like liceg/mailman/listinfo/axiom-legal (archive issues
axiom-commit (archive)
tracks all commits to the SourceForge SVN repository (dubbed "silver branch")
axiom-testresults (archive)
everything having to do with the results of building and testing Axiom
aldor-l (archive)
public mailing list used by aldor users

The FriCAS Email List

The FriCAS Email List is supported by Google Groups

FriCAS - computer algebra system ( fricas-devel@googlegroups.com )

FriCAS Commits ( fricas-commit@googlegroups.com )

OpenAxiom Email Lists

The OpenAxiom project has many mailing lists, archived on the web.

open-axiom-announce (subscribe/unsubscribe)

a read-only list where we send announcements about releases or other important events.

open-axiom-help (subscribe/unsubscribe)

a list for people interested in using or building OpenAxiom.

open-axiom-devel (subscribe/unsubscribe)

a list for development discussions about OpenAxiom.

open-axiom-bugs (subscribe/unsubscribe)

a list for bug reports and feature requests.

open-axiom-patches (subscribe/unsubscribe)

a list for patch submissions and discussion of particular patches. All patches and all discussion of particular patch should be sent to this list.

open-axiom-commit (subscribe/unsubscribe)

a read-only list which tracks checkins to the OpenAxiom SVN repository.

open-axiom-tests (subscribe/unsubscribe)

a list where test results of the OpenAxiom testsuites are posted.

Axiom Meetings

We are planning the next Axiom meeting. Please contribute your ideas and suggestions.

The Axiom Workshop 2007 took place at the Research Institute for Symbolic Computation in Hagenberg, Austria, from June 14 to June 16, 2007. A poster for the workshop is available.

The Axiom Workshop 2006 took place at the Research Institute for Symbolic Computation in Hagenberg, Austria, from April 27 to April 29, 2006. A poster for the workshop is available.

Doyen @ ASEE Mid-Atlantic Spring Conference 2006

The Axiom meeting 2005 was held in New York City, April 22, 2005.

News Feeds

You can use a NewsReader? (e.g. FireFox? "active" bookmarks) to efficiently keep track of changes going on here. For subscriptions:

new pages
See MathActionRSS?
individual edits
See MathActionRSSedit?

Axiom Projects

One place to discuss major new features of Axiom and other related issues is the Axiom Colloquium. We have collected a list of some suggested new features in the Axiom Wish List and there are more described in OldSummer of Code.

Axiom and the scientific commnunity

(based on an email from Daniel Augot on Friday, September 19, 2003 5:18 AM)

I think there is an issue for the future life of Axiom, which involves researchers in computer algebra. From some email exchanges with friends, I do not feel that the revival of Axiom as free software will motivate them to go back to Axiom.

In the French commnunauty, which I know a bit, because I was involved during my PHD thesis, 10 years ago, many people got very involved with Axiom. Many wrote domains, packages etc... for implementing the algorithms they were introducing in their research work.

But at his time, Axiom was a very closed software, and the French communauty was on its own, for documentation, help, contacting gurus, etc... Axiom also had its load of defaults~: a cumbersome system of categories, poor speed of code, compiler and interpreter bizareness, no way to use Unix pipes and redirection etc. Furthermore NAG did not show any clear sign about the future of Axiom. Even more, there was the promising A#/axiomxl/aldor project, with Basicmath, but it was immature, so the choice between Axiom and aldor was unclear.

As a consequence many were confused and discouraged, and switched to other computer algebra systems, for instance Magma, which offers a large library and is very fast (although it does not offer the rich mechanism of Axiom for contructing domains and categories).

Consequently, I think there must be a thinking about the state of Axiom, and clear signs concerning its future, beyond the point of making it publicly available. Will the compiler will be fixed ? Will it be documented ? Will compiled code be faster ? Will researchers in computer algebra be able to incorporate easily their software ? Will they be able to redesign the system of categories ? Will it be possible to link against efficient C code ? etc, etc...

May be the benefits of the free software will show up, but, after discussion with friends, it will not be enough for switching back to Axiom.

Kind regards, and felicitations for the work done. I have been able to download and compile all Axiom, and I am very glad for that.

------------

Daniel Augot

Reply

(based on an email from Tim Daly, on Friday, September 19, 2003 10:43 AM)

I have had both face-to-face and direct email discussions that the issues you raise are real and need to be addressed. I'll try to give you my current thinking on the subject.

I don't expect that Axiom will gain a great deal of use simply because it is free. I have collected about 100 free "computer algebra" systems which I distribute on my Rosetta CD collection. Free CA systems are "a dime a dozen" quite literally. Indeed many of these systems were built by researchers as part of their research work.

My experience shows that most of these free systems start with the insight that math "types" and programming "types" are similar. Starting with this idea it becomes clear that you can build a nice, clean system from scratch. It takes about a semester to build up a full, general purpose, polynomial manipulation library in C++ and, indeed, you find that the math and computer types interact very well. Then the insight occurs that the library isn't useful to anyone but the researcher so the second semester of work involves writing a front-end interpreter on the library. Subsequent effort involves trying to convince others that this could be a very useful system given sufficient effort.

This is very seductive since it looks like great progress. It has several problems.

First, a local problem is that the research work that is "reduced to practice" using a newly implemented system cannot be effectively used by others (e.g. library systems rarely do simplification and almost never document their algorithms).

Second, a local problem is that reduction to practice, that is, "programming" is generally not "valorized". The research is recognized but the year or two spent building a working system is either ignored or considered to be of little worth during tenure discussions.

Third, a global problem is that the algorithmic work, while free, is generally useless to others. Either the system is so specialized that it only does one thing well which makes it into a single-purpose, once-only use tool or it tries to be general purpose and has such a limited range of algorithms that it quickly reaches a point of frustration for the user. Thus the one great algorithm at the center of the system is buried and lost.

Fourth is the "rule of 3". It takes 1 unit of work to get something for yourself. It takes 3x1 units of work to make is so your office neighbor can use it. It takes 3x3x1 units of work so you can use it "in the department" and in courses. It takes 3x3x3x1 units of work to give it to the world for free without support. It takes 3x3x3x3x1 units of work to make it into a commercial product with support, a hotline, lawyers, etc. Most "computer algebra" systems stop at the 3x1 level as there is no interesting new research work beyond the first unit and the 3x1 units are expended as a matter of trying to get the work out to the world.

Building your research on top of Axiom or the 3Ms (Mathematica, Maple, Matlab) immediately gives you the benefit of the 81 units of work already done.

Systems like the 3Ms get purchased because they are general purpose enough to do virtually anything and hold out the hope that research done with these systems will be picked up and made useful to others. However you tend to lose control of your work. If it is badly implemented in the 3M world and has your name attached to it you have little choice but to suffer the hit on your reputation. In a free system like Axiom your reputation is yours to make or break.

Detailed discussions with researchers highlights another subtle fact. The 3Ms are built on weak theory ground. Practically speaking this has the effect of "limits of scale". You'll find that the more complex the package you build the more difficult these systems become, for reasons not related to your package. The difficulty is compounded if you need to use other "non-core" packages. In some sense, these systems are like Perl which is easy to use, fast to write, hard to scale to large projects, and impossible to maintain (yes, I know this is a religious debate).

Axiom started out like any other home-grown system, called Scratchpad. However it was started at a time that major funding was available (computer algebra was considered to be a branch of artificial intelligence). It was heavily funded by both the U.S. government and IBM Research for about 23 years. Many researchers came to visit, many people worked on the system, many algorithms were created in a broad range of areas. This is the "dream realized" for the authors of the many free "library" systems. Fortunately Axiom started out as a "theory" system and not a "library". (See the footnote).

IBM ran into financial trouble and sold Scratchpad (as Axiom) to raise cash. As a business decision this made sense but as a global decisions it was pointless. Scratchpad is a great system for doing research work and had the support and attention of about 400 researchers worldwide. If you're going to do real math research Scratchpad was definitely the place to work. It required at least a master's degree to learn but was easy to extend if you understood the underlying math. Your work could be integrated and used by the research community. As a "product" (Axiom) it had a very limited market with cash-poor clients who could not support Axiom as a commercial product. Axiom could never generate sufficient cash flow to cover the cost of a development team in the commercial, closed source world. And open-source generates no cash. So Axiom is the best place to do research and the worst place to make money.

Scratchpad was "open source" before the term existed. People who asked me (while I was at IBM) could get a free copy of the source code. Axiom when it was released followed the standard commercial path of closed source software. This depends on a staff of people to maintain, which depends on a good cash flow, and clearly Axiom couldn't generate the cash flow. So Axiom was cut off from the customers who made it useful and could never survive in a closed source model.

Scratchpad was ported onto AKCL, a compiled, hand-optimized version of common lisp specifically developed under contract. I worked closely with Bill Schelter on several detailed features like second-compile optimization of function calling, tail recursive optimizations, memory management, etc. to make Scratchpad perform well. When Axiom became a commercial product it was ported to run on CCL, a byte-code interpreted partial common lisp. This solved the portability problem (AKCL was very hard to port as it compiles to optimized machine code) but basically broke Scratchpad. Function calling and garbage collection optimizations disappeared. Axiom is now back to running on GCL, the open-source version of AKCL. Camm, the GCL lead developer, is on the Axiom maintainer list.

As to contacting gurus we on the scratchpad team were told to "circle our chairs" until we came up with something other than computer algebra to work on (they even brought in an industrial psych. to "reprogram" us which I found to be a very painful experience both professionally and emotionally). NAG was in a very difficult situation guru-wise as they lost the help of the guys who wrote it.

Aldor has great promise but people insist on trying to build the world "from scratch". It may be several years and several failed experiments before it becomes clear that the "library" approach is flawed. In the mean time Axiom and Aldor have committed to supporting cross-compiled compatibility.

As to the other issues like "cumbersome categories", hey, it's now open-source and I'm open to ways of improving it. Scratchpad/Axiom evolved to the system it is now because hundreds of people worked on it and improved it. Someone needs to "unify" the Axiom type tree with the mathematics in a much more systematic way. This is about a whole Ph.D-thesis level of effort. The benefits of such thesis work would be enormous as it would clarify how to correctly build these systems. Axiom's types grew with knowledge of the theory but without benefit of the detailed analysis.

Now Axiom is back as open source. That is a necessary condition but not sufficient. We need two things to survive. We need a community and we need a funding model.

For signs about its future visit savannah.nongnu.org/projects/axiom and click on the "homepage" link. There are long range plans to unify with theorem proving (ACL2 or MetaPRL?), group theory (GAP and Magnus), numerical work (Octave, etc). These are evolving as discussions proceed and the webpage has not kept pace. In addition there is the CATS (computer algebra test suite) effort to unify the test cases from the many systems and put them on a better mathematical footing.

The documentation is in process. Virtually all of Axiom is now written in a Literate Programming style and examples of literate programs which combine a Ph.D thesis (Richard Paul's Robotics work) with a domain (DHMATRIX) exist in the distribution. for example More work needs to be done both on this domain and on recovering the research papers behind the other domains. I've contacted several researchers and gotten their permission to use their research papers and integrate them into the documentation. This work continues but it is tedious because I need to find the research and secure the permissions.

In addition I'm rewriting the Axiom book as we speak. The current work is rebuilding the book but the later steps involve much rewriting as well as exploiting the power of Active DVI. The online book will likely be the "next announcement" so documentation is being given a priority.

Community can only occur if people feel there efforts will bring reward. In most cases, especially open source, this involves recognition. This is a particularly thorny problem as computer algebra systems tend to be the child of mathematicians. Math departments seems to feel that the reduction to practice of math theory is uninteresting. Until the cross breeding of the Computer Science and the Mathematics department yields a "Computational Mathematics" department I suspect the problem will continue. In the long run, of course, this has to occur as some of the mathematics can no longer be done without a computer and some of the mathematics only exists BECAUSE computers exist.

Beyond University issues Axiom needs to build a wider community of users who are not researchers. This involves reaching out to the teaching community. It involves finding ways to make Axiom easier to use and reducing the learning curve. It involves developing a focusing agenda for coordinating and developing teaching materials for the sciences (see footnote2). The MIT suggestion is motivated by the question of who is the Axiom community and how to reach/motivate/support it.

As to the funding issue I believe that this will also be a struggle. I've been mulling the idea of creating an Axiom company which would be chartered to work with schools to construct grant requests and administer grants for researchers. This is an outgrowth of the way Scratchpad worked during the IBM days. Researchers would come and spend time on site writing new domains, learning Axiom, and returning back to their schools. Unfortunately I'm not sufficiently skilled at grant writing to figure out how to make this work. The Axiom company wouldn't own anything and would only be a paper agency with a grant number and financial tracking.

An alternative approach is to "side-effect" the grants. That is, encourage and support researchers who are applying for grants that involve Axiom (such as classroom development of courses) in their efforts. This is much harder as the researcher has to decide to make it part of the grant.

Clearly I have no creative new ideas about how to get money. However if you take the "30 year view" of computer algebra it is clear that we need to build on the current systems rather than start from scratch. For one thing there is already 30 years of funding investment in Axiom which shows just how expensive it can be to develop a "real" system. For another it is clear that no-one is going to support another 30 years of funding just to achieve the same level as Axiom has reached.

So either we expend a great deal of energy creating small, special purpose library systems or we contribute to the larger systems like the 3Ms and Axiom. I would argue that Axiom is better designed to scale to higher mathematics and also better able to support the amplification of the teaching and research work because of the "open source" effect (that is, freely downloadable packages widely available with multiple authors as with Linux).

I don't expect people to switch back to Axiom because it is free. I hope they will switch back because it is better, both technically and socially, than the alternatives.

In addition I believe that "Computational Mathematics" will eventually arrive as a discipline in its own right just as the Computer Science departments eventually arose. As an undergrad 35 years ago I had to convince my math profs to create courses in "computer science" as it was "just a fad". We need to begin to collect the widespread research (enshrined in libraries and journals) and use it to document the algorithms. There needs to be a whole tower of computer algebra theory that can be taught as a field of research combining work in math, computer science, complexity, types, simplification, etc. There needs to be support work for the sciences that need computer algebra.

Switching to Axiom isn't really the point (pretend I never said that) but Axiom provides a kernel for the field of developing theory. In 30 years this will be perfectly obvious. Computer algebra both stimulates fields of research and provides answers that can't be arrived at by any non-computer means.

Anyway, that's my current thinking on the subject. There is more to come as work on Axiom continues.

--------

Tim Daly

Footnote: My survey of the computer algebra field shows that systems can be classified in one of three ways.

"Library systems" start out with the realization that math types and computer types are similar. A C++ (usually but not always) library gets created. An interpreter is grafted on top of the library. The focus of these systems is "speed".

"Engineering systems", like Mathematica, Maple, and Matlab, are systems that try to get "an answer". They seem to ignore math types and sometimes specialize in one general purpose programming type (e.g. lists). You can recognize these systems because operations like subtracting two equal matricies will yield the zero integer. They are general purpose, easy to use, and hard to scale (i.e. build on the work of other non-core packages).

"Theory systems" like Axiom or Docon. These systems start with the math types and build up a language based on them. The programming representations are flexible. Subtracting two matricies yields the zero matrix. They are general purpose, hard to learn, but scale very cleanly.

Footnote2: There is a game called Pontifex which simulates bridge building. It includes a construction set. Bridges are built and simulated loads (such as trains) are applied to the bridges. Learning occurs, "for example":(http://www.bridgebuilder-game.com)

Axiom could be very useful when packaged with games of this type in a classroom setting. Consider a mechanical engineering course where you have software that can compute virtual work loads on beam members (which are basically delta-displacements). You could explain the theory, show how to compute loads of 2 and 3 dimensional lattices, how to apply them to bridges, how to predict bridge successes and failures, and use the game to build the simulated bridges. Game playing and mathematics in the same course.

You could do the same in other sciences such as biology. If you look at the forces involved in protein folding you could create models using Axiom, define the forces, and compute results. The challenge would be to create a game that accurately simulates the models. Perhaps in chemistry you could model glue-binding forces for various types of glues (like post-it notes) and construct things with glue. Game playing is a fast growing (and profitable) field. We should bring games into the classroom along with the theory.

A axiom package, itovsn3 --unknown, Wed, 22 Feb 2006 06:53:13 -0600 reply
Thanks for professor W.Kendall, Warwick Univ,U.K. kindly allow us to include his effort, itovsn3 (in Axiom) in our LiveTeXmacs?. itovsn3 supports many functions for computing stochastic integrals, solving stochastic differential equations and others. Also itovsn3 gives several examples. With the such powerful tool for studying Stochastic process, I also make a lecture file about stochastic process in OldTeXmacs format ( more than 100 pages but not completed yet). In the future, I will add a part how to use Axiom+itovsn3 to solve SDE. Welcome all interesting readers to use.

cchuang_at_mail.cgu.edu.tw

itovsn3 and LiveTeXmacs? links --Bill Page, Wed, 22 Feb 2006 20:32:40 -0600 reply
itovsn3 (author: Wilfrid S. Kendall)
Symbolic Ito Calculus
LiveTeXmacs? (author: chu-ching huang)
ftp://math.cgu.edu.tw/pub/KNOPPIX ftp://math.cgu.edu.tw/pub/KNOPPIX/StocCal216.iso

[User Profiles]?

Dear root,

I and my supervisor have a paper accepted by ICMS2006. http://www.icms2006.unican.es/

They would like to make a list about the softwares developed or used by the authors.

They also can include the software in their DVD.

Since we used Axiom in our paper, I am not sure if you are interested of this. We already sent them a description of ALdor?.

The dealine of giving them a very brief description of the software with links is June.15,2006. For the DVD project, the deadline is later which can be found in the forwarded message.

Thanks for your time.

Xin Li ORCCA University of Western Ontarion --

---------- Forwarded message ---------- Date: Mon, 12 Jun 2006 15:41:24 +0900 (JST) From: Nobuki Takayama To: xli96@scl.csd.uwo.ca Subject: icms2006_links_to_projects

Dear speakers, contributors, PC and advisory members of icms2006---developer's meeting;

The deadline of "Links to Projects" is June 15 (Thu). This article will be included in our proceedings and will also be the master data file to edit our DVD's. You can browse the submitted data for links to projects

We welcome submissions to this article by speakers, contributors, PC and advisory members of icms2006. We accept a description of any mathematical software/documentation projects related to them.

The release schedule of our DVD's can be found at (DVD1 and DVD2)

The DVD1---testing 0 is now ready to download (800M, VMware? player image).

The due for DVD1 (free license) is June 24. The due for DVD2 (free and non-free licenses) is July 14.

We welcome your contributions and I look forward to seeing you at Castro-Urdiales and hopefully also at Madrid soon.

Nobuki Takayama

MMA is Theory System --MarkDsU?, Wed, 03 Feb 2010 15:45:01 -0800 reply
Corrections re Mathematica, http://DesignerUnits.com/axiomphilosophy

Re: MMA is Theory System --Bill Page, Wed, 03 Feb 2010 17:08:44 -0800 reply
Thanks for your comments.

Since this is a wiki and editable by everyone, please feel free to make such corrections regarding Mathematica or other computer algebra systems right here.