|
|
last edited 1 year ago by test1 |
1 2 3 4 5 6 7 8 9 10 11 12 | ||
Editor: page
Time: 2013/04/28 19:05:20 GMT+0 |
||
Note: |
changed: -graphical interface for Axiom (see AxiomTutorial) and Reduce graphical interface for Axiom (see FriCASTutorial) and Reduce changed: -mathematics. For example see AxiomTutorial and ReduceAppendixB. mathematics. For example see FriCASTutorial and ReduceAppendixB.
MathAction consists of two related web sites. This web site is a wiki (see below) with support for LaTeX? and computer algebra. There is also a portal web site that provides a workspace, document publishing and other advanced features for developers.
http://axiom-wiki.newsynthesis.org <== You are here
http://axiom-portal.newsynthesis.org
Mirrors
A low traffic volume mirror site will usually be available if there are problems with the main site.
http://axiom-wiki2.newsynthesis.org <== Alternate Wiki
http://axiom-portal2.newsynthesis.org <== Alternate Portal
These alternate websites can be used the same way as the main axiom-developer site and any changes and additions will be synchronized on an approximately weekly basis. The mirror site serves as both a backup and to distribute some of the workload. Large file downloads would normally be faster from the main web sites.
The purpose of MathAction is to support the development of the open source version of Axiom and to promote the use of computer algebra systems in general. It provides an over-the-web graphical interface for Axiom (see FriCASTutorial?) and Reduce (see AboutReduce?). Try out Axiom and Reduce online in the SandBox?.
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 Axiom and Reduce commands and the ability to display graphs using GraphViz?. These customizations work on this wiki and on the portal.
The wiki is discussed in more detail below. For more detailed information about the portal see [Axiom Portal]?.
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:
/mathaction/axiom--test--1/src/algebra/FrontPage
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.
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.
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 , Axiom 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.
Note: The Axiom-developer email list itself is no longer directly
connected to the Axiom Wiki however all subscribers to the email list
are automatically also subscribed to the Wiki. This means that if you
subscribe to axiom-developer, then you will automatically receive
notices by email of updates to pages on this website. If you would
prefer not to receive these notices, please visit the Axiom Wiki web
site and click subscribe
in the upper right hand menu bar to remove
your email address.
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?.
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.
See InstallingMathAction? for information about how to configure your own Axiom-enabled wiki and web portal.
The software for this web site is still under development. Your comments and suggestions are welcome!
The current version of Axiom on MathAction? is
)version
Value = "FriCAS 2013-04-06 compiled at Thursday April 25,2013 at 18:12:03 "
here:
http://literateprograms.org/LiteratePrograms:How_to_write_an_article
I see at least a couple of really neat ideas!
1) Allow file names in chunk defintions, e.g.:
<<file://path/name>>= code @
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:
<<file://path/filename>>
This would recursively run notangle
to the specified source file
and include the thus generated default '<<*>>=' chunk.
See:
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.