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

Welcome to MathAction - The Interactive Mathematical Web!

This web site is a wiki (see below) with support for LaTeX and computer algebra.

http://wiki.fricas.org <== You are here


The purpose of MathAction is to support the development of FriCAS and other systems descending from the open source version of Axiom (see PanAxiom) and to promote the use of computer algebra systems in general. It provides an over-the-web graphical interface for Axiom, FriCAS (see FriCASTutorial), and Reduce (see AboutReduce). Try out FriCAS and Reduce online in the SandBox.

Currently MathAction is hosted by FriCAS project, but users of other forks are invited to use it.

MathAction is based on some customizations of LatexWiki - itself an extension of ZWiki which in turn is based on Zope. It expands on LatexWiki by nicely formatting the output of FriCAS and Reduce commands and the ability to display graphs using GraphViz.

The wiki is discussed in more detail below..

Note: Below is old material, wiki should be substantially reorganized.

FriCAS Wiki

The wiki Concept: A wiki is a website that is editable by anyone. It is simple enough that anyone who discovers it on the web can contribute meaningfully by creating new content or re-organization it. The pages themselves have a simple syntax that resembles the web-page output, and pages are automatically interlinked via the use of camel-case (mixed upper and lowercase) noun-phrases called WikiWords?.

This openness and free access perhaps counter-intuitively does seem to result in organization, widespread contribution, and high-quality content. In some sense it is the open source philosophy applied to documentation. See also:


The web pages on this wiki are grouped into folders and the folders are arranged in a tree structure just like directories and sub-directories in Linux and Windows. The top level folder (root of the tree) is simply called mathaction. Inside each folder there are web pages and possibly more nested folders. FrontPage is the name of the page that introduces the contents of a folder.

Your current location in the tree is shown as a path listing each of the nested folders at the top of each page. For example the path:


is displayed when you are looking at the following list of files in the Axiom source code tree.

You can click on any folder name in the path to jump directly to that location in the tree.


The text box in the upper right corner of every page allows you to search for pages based on their content within the current folder. Enter a few key words and then press Enter to see a list of pages.

TouchGraph Navigator

The TouchGraph navigator is a java application that displays the links between all the pages in a folder and to quickly move from one place to the next.

The Axiom wiki has grown rapidly over the last year. This graphic generated by the TouchGraph navigator interface should give you a general idea of the amount of Axiom related information available here.

How it Works

You can comment on the content or edit all of the pages on this web site but you are required to identify yourself first by clicking preferences. If your browser options allow it, this information will be saved and used the next time you access the site. You can enter mathematics using \text{\LaTeX}, FriCAS commands or Reduce commands and display the results as properly formatted mathematics. For example see FriCASTutorial and ReduceAppendixB.

The Axiom wiki is also able to operate like a mailing list. Anyone can "subscribe" to the individual web pages or to the whole web site. First they must identify themselves by clicking preferences (or logging in) and specifying their name (or pseudonym) and email address. Then all they have to do is click the "subscribe" link at the top right side of the page. Any comments subsequently attached to a page will be automatically distributed by email to all subscribers.

It is also possible for you to use email to reply directly to the emails sent out by MathAction. These replies will in turn be attached to the original web page and again sent out to subscribers. This way a chronological record of the discussion is kept with the web page and later (if desired) this discussion can be editted and kept for posterity.

This is an interactive web site so please feel free to experiment. There is a Help Page and a page the describes the use of LaTeX.

MathAction Software

The software used in MathAction is based on the LatexWiki extension of ZWiki which is an open source Zope application. This same software can run inside of a Plone portal on Zope.

Zope is both a web server and a set of classes for manipulating web-data stored in its object-oriented database. One could think of it as server-side scripting with a persistent object orientation. In other words Zope is an "integrated web application development environment" consisting of a web server (Zserver) and an object-oriented database (ZODB) based on the idea of persistent objects and classes. Zope is written in Python and was originally a commercial product of Zope Corporation before it went "open source" (It is still a commercial product in the sense that Zope Corporation continues to make money from it's earlier effort, albeit in a different way.)

Plone is a very pretty and popular "portal" application built on top of Zope that allows high-level control like multiple users, owners, access rights, publication rules, and web-based site management.

ZWiki and Plone are two of quite a large number of applications built using Zope. More specifically these applications are (usually) built according to a "layered" architecture that takes full advantage of the object-orientation at a fairly high level (almost everything is an object or an attribute of an object, including web pages, images, files, etc.). Each object has associated "methods" etc.

Plone is a portal application that is built on top of a layer called the Content Management Framework (CMF). CMF provide the object model for distributed management of website contents. CMF in turn is built directly on Zope. Both CMF and ZWiki define object types that are inherited by Plone.

ZWiki fits into the hierarchy roughly at the same layer as CMF - just above Zope. ZWiki is a powerful wiki implementation that allows several forms of input type (StructuredText, WikiWikiWeb, MoinMoin?, and now Latex) and because it is built on Zope it is more powerful but not as simple as the original Wiki idea.

Installing MathAction

See InstallingMathAction? for information about how to configure your own Axiom-enabled wiki and web portal.

Testing and Development

The software for this web site is still under development. Your comments and suggestions are welcome!

The test and development version of MathAction is
The development repository (darcs) for MathAction is

Current Version of FriCAS

The current version of FriCAS on MathAction is

(1) -> )version
"FriCAS 1.3.9 compiled at Sun Sep 17 04:15:23 PM CEST 2023"

6900a8c0@asus">Ideas from literateprograms.org --Bill Page, 6900a8c0@asus">Sun, 05 Mar 2006 00:37:30 -0600 reply
Reading the instructions for submission to the




I see at least a couple of really neat ideas!

1) Allow file names in chunk defintions, e.g.:


Chunks with names like these are automatically processed by:

  notangle -R'file:path/name' > path/name

to create the files with name. This could include for example a Makefile and could also place files into different directories (path).

2) All of the files thus created by processing the literate program (pamphlet) files and subdirectories thus created are saved in a temporary directory and then collected into an archive (tgz and zip) for easy downloading.


So that all you would need to do is click on the download button, save the file, unzip it, and type make.

This could be very easily implemented on the Axiom Wiki. We could have a single download button for each pamphlet file.

Previously Tim Daly had suggested that we could extend the noweb "pamphlet" format to a "booklet" format allowing external chunk references such as:


This would recursively run notangle to the specified source file and include the thus generated default '<<*>>=' chunk.


http://lists.nongnu.org/archive/html/axiom-developer/2005-11/msg00607.html http://lists.nongnu.org/archive/html/axiom-developer/2003-07/msg00197.html

These ideas taken together would go a long way toward implementing the goal suggested by Tim Daly some months ago of being able to just "plug-in" a complete literate computer algebra package.

Regards, Bill Page.

  Subject:   Be Bold !!
  ( 14 subscribers )  
Please rate this page: