[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] LANL NetworkX and algebra dependency graph

From: Page, Bill
Subject: [Axiom-developer] LANL NetworkX and algebra dependency graph
Date: Wed, 8 Nov 2006 21:17:14 -0500

Axiom Developers;

Over a year ago we were discussing how best to represent Axiom's
algebra dependency graph. This is a complex problem because Axiom
has over 1,300 mathematically modules that are tightly integrated
with each other - even to the point of generating a large number
cyclical dependency chains in the underlying code. This considerably
complicates bootstrap process by which Axiom is built and could
even call into question the fundamental means by which these
dependency loops are solved in the current build (e.g. It is known
that just a single iteration of bootstrap -> compile -> bootstrap
is not sufficient to produce a fixed point solution.)

A Java graph theory-based package is also currently used as part
of the build process for the Axiom Aldor extension written by
Peter Broadbery. I believe that Peter is currently re-writing this
graph package (in Aldor?) so that the Axiom Aldor extensions can
be built as part of the Axiom build without requiring Java. Ralf
Hemmecke and I had previously started work on a graphics package
for Axiom/Aldor but time constraints and other priorities have
resulted in no new progress over the last several months.

Anyway, I think I may have finally stumbled across some open source
graphics software that might be up to the task of visualizing and
manipulating Axiom's dependency graph and it may well also be a
suitable model for developing a native graphics package for Axiom.

High productivity software for complex networks

NetworkX (NX) is a Python package for the creation, manipulation,
and study of the structure, dynamics, and functions of complex


* Allows for 1M+ nodes, 10M+ edges
* Includes standard graph-theoretic and statistical physics functions
* Easy exchange of network algorithms between applications,
  disciplines, and platforms
* Includes many classic graphs and synthetic networks
* Nodes and edges can be "anything" (e.g. time-series, text,
  images, XML records)
* Exploits existing code from high-quality legacy software in C,
  C++, Fortran, etc.
* Open source (encourages community input)


It is also notable that the Sage developers have chosen to
integrate NetworkX into Sage rather than build their own graphics
package. The Sage Graph Theory project

has produced a very interesting review of open source graphics
programs. See:

If anyone else is interested in discussing the development and
use of a graph theory package for Axiom, I would be very glad
to hear from you.

Bill Page.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]