[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiomdeveloper] [Summer of Code]
From: 
anonymous 
Subject: 
[Axiomdeveloper] [Summer of Code] 
Date: 
Wed, 01 Jun 2005 17:19:34 0500 
Changes http://page.axiomdeveloper.org/zope/mathaction/SummerOfCode/diff

removed:
We could use students to:
++added:
Axiom is documented with 4 books which are under development,
a tutorial, a programmer's guide, a reference volume, and a
developer's guide.
??changed:
 visit each algebra file and make a complete listing of all of
 the function signatures with boilerplate documentation (e.g.
 the types in the argument lists). construct an index for the book.
The reference volume is intended to provide complete lookup
coverage of the Axiom system. There are over 11,000 functions
within Axiom which require standardized documentation.
This project would involve visiting each algebra file (approx
300 files) to make a complete listing of all of the function
signatures and their type information. Ideally this should be
automated as the information is available. The output should be
a set of Latex files which will contain boilerplate documentation.
The Latex output should be able to produce an index for the
reference volume.
??changed:
 choose a textbook (linear algebra for dummies?) or an online
 course (linear algebra at ocw.mit.edu?) and develop a tutorial
 based on the source material using axiom.
Propose and get agreement on a textbook (linear algebra for dummies?)
or an online course (linear algebra at ocw.mit.edu?) and develop a
tutorial based on the source material using Axiom. The tutorial should
be organized so that it demonstrates a wide variety of Axiom's abilities
such as graphics and the ability to generate userdefined browser pages.
Ideally it should be useful for the classroom.
The subject matter could be chosen from any computational domain, e.g.
math, physics, chemistry, biology, etc.
* literate documentation
Axiom consists of literate programs. Each lisp, C, Makefile, etc is
written by combining Latex and source code into a Latex document.
At build time the source code and technical paper are extracted from
these documents automatically.
There are several thousand files in Axiom each of which needs to be
understood and properly documented. Choose an algorithm (such as
the greatest common divisor) or an area (such as padic numbers) and
provide the required documentation for the algorithms.
??changed:
 Axiom is a worldwide project. It is used in multiple countries
 and runs on platforms like Red Flag Linux (Chinese). We have
 some introductory documentation in French but we need people
 who can translate the book into any nonenglish language.
Axiom is a worldwide project. It is used in multiple countries
and runs on platforms like Red Flag Linux (Chinese). We have
some introductory documentation in French but we need people
who can translate the book into any nonenglish language.
This requires that you be fluent in both languages. The result
should be a set of latex documents that are a complete translation
of the original material
??changed:
 work out the lisp code necessary to read browser pages and
 render them as TK pages
Axiom has a browser and a graphics component. Both of these
user interface components are written in C using X11 and are
hard to port to Windows. We're experimenting with methods of
creating a platform independent method of implementing these
components.
Common Lisps can communicate with TK which provides a platform
independent way of displaying graphics. We need to work out the
lisp code necessary to read browser pages and render them as TK
pages
++added:
An alternative project is to use a browser as the standard front
end to both the Axiom browser and the graphics. We need to
??changed:
 the wiki. figure out how to get the wiki to accept the browser
 page syntax.
the wiki.
The task is to figure out how to get the wiki to accept the browser
page syntax and how to inline graphics in wiki pages.
??changed:
 create a systematic way of regression testing and implement it
Axiom has several hundred test cases that are run during the
build of the system. Each of these test cases generate output.
Create a systematic way of using this test suite for systematic
regression testing and implement it.
The result should be integrated into the Axiom Makefile machinery.
??changed:
 create a domainbydomain set of reference test cases with
Axiom has about 1100 "domains" which include about 11,000
functions. We need to systematically create and organize a
domainbydomain set of reference test cases with
??changed:
* test code

 use the handbook of curves and surfaces to comprehensively test
 the graphics routines.
* test graphics code
The Graphics component on Axiom has not been systematically
tested. Use the handbook of curves and surfaces to
comprehensively test the graphics routines.
The result should be a set of input files which recreate
all of the graphics in the CRC handbook and a set of bug
reports that document failure cases.
An alternative result is to modify the graphics code to
handle the failure cases. This would require learning the
details of C, X11, and the graphics code.
??changed:
 given a literate program that includes axiom algebra code and
Axiom uses Knuth's idea of literate programs as the basic file
format for all of its code. There is a project called Doyen
which needs to be able to draganddrop a literate program onto
a running Axiom system and have that code and documentation
automatically added to the system.
Given a literate program that includes axiom algebra code and
++added:
The result should be a working demonstration.
??changed:
 work out an automated way to organize the hundreds of dvi files
 so they can be browsed.
As part of the build process Axiom generates hundreds of dvi
files (output from Latex) that represent the documentation
associated with every source file. Currently these are minimally
organized by directory. The task is to work out an automated way
of organizing these files. One possibility is to organize the
algebra file documentation according to the algebra lattice.
The output should a program that can be run to create the
proper organization, likely as a Latex file.
??changed:
 pamphlets use random names in code chunks. develop a full URL
 syntax and create a booklet mechanism. That is, one should be
 able to define a chunk as::

 <<file:///something>>

 and have something inserted inline or ::

 <<http:///something>>

 and have something inserted inline.
Pamphlets use random names in code chunks. Develop a full URL
syntax and create a booklet mechanism. That is, one should be
able to define a chunk as::
<<file:///something>>
and have something inserted inline or ::
<<http:///something>>
and have something inserted inline.
The result should be a rewrite of the booklet command.
??changed:
 develop latex macros for marking "concepts" in latex files
 mark up literate programs and math papers and create a concept
 index, similar to the word index mechanism latex now uses
In the future Axiom is intended to allow searches of the
computational literates (such as math papers) based on concepts.
In order to do this we need to develop latex macros for marking
"concepts" in latex files. This will allow the author to mark
up literate programs and math papers and create a concept index,
similar to the word index mechanism latex now uses.
The result should be a latex.sty style file.
* flash integration
Axiom does not know how to dynamically create flash files.
The flash file format is open source.
The task is to develop an interface that will allow algebra
programs to generate flash animation output. An example is to
compute and animate the surface wave of water struck by a
round pebble dropped from a given height.
++added:
Axiom has permission to use the paper "Primes is in P" as
example documentation. This paper is widely known. It has
the theory, a proof of the theory, an algorithm and a proof
of the algorithm. However it lacks an implementation in Axiom.
Implement the algorithm as a literate program (we already have
the paper as a pamphlet file) and integrate it into both the
Axiom documentation and the Axiom sources.
++added:
There is an algorithm for computing Symbolic Sums but
it is not currently implemented in Axiom. Study this
algorithm and implement it.
The result should be a literate program that can do
symbolic summation in Axiom complete with a test suite.
* CATS, a Computer Algebra Test Suite
There are many different computer algebra systems and they
all develop their own adhoc test suites. These suites have
no organizational structure nor any verified results.
The National Institute of Standards and Technologies (NIST)
has a categorization of numerical mathematical algorithms.
A similar categorization does not exist for symbolic math.
The task would involve creating a taxonomy of symbolic
math that provides reference problems with verified results
as well as an implementation for these cases using Axiom.
Note that the taxonomy should not be Axiom specific.
The result would be a taxonomy, the reference cases, the
Axiom cases, and the Makefile machinery to automate testing.
There should also be bug reports filed for failure cases.

forwarded from http://page.axiomdeveloper.org/zope/mathaction/address@hidden
 [Axiomdeveloper] [Summer of Code], anonymous, 2005/06/01
 [Axiomdeveloper] [Summer of Code],
anonymous <=
 [Axiomdeveloper] [Summer of Code], anonymous, 2005/06/01
 [Axiomdeveloper] [Summer of Code], anonyme, 2005/06/01
 [Axiomdeveloper] [Summer of Code], anonymous, 2005/06/01
 [Axiomdeveloper] [Summer of Code], anonymous, 2005/06/03
 [Axiomdeveloper] [Summer of Code], TIm Daly, 2005/06/27