3233
Comment:
|
← Revision 128 as of 2009-11-29 06:48:46 ⇥
3792
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
[[TableOfContents]] | <<TableOfContents>> The SAGE Graph Theory Project |
Line 4: | Line 6: |
. We are implementing graph objects and algorithms in ["SAGE"]. The main people working on this project are Emily Kirkman and Robert Miller. | . We are implementing graph objects and algorithms in [[SAGE]]. The main people working on this project are Emily Kirkman and Robert Miller. |
Line 9: | Line 11: |
* Jim Morrow (UW) has expressed interest in using SAGE for his [http://www.math.washington.edu/~morrow/reu07/reu.html summer REU] on graphs. Robert is working on implementing electrical networks, which includes implementing edge weights and graphs with boundary. * Chris Godsil (Waterloo) has expressed interest in helping design a more general discrete math package in SAGE, including perhaps an open source version of nauty. Robert is working to fulfill his wish list. |
* Jim Morrow (UW) has expressed interest in using SAGE for his [[http://www.math.washington.edu/~morrow/reu07/reu.html|summer REU]] on graphs. Robert is working on implementing electrical networks, which includes implementing edge weights and graphs with boundary. * Chris Godsil (Waterloo) has expressed interest in helping design a more general discrete math package in SAGE. * Brendan !McKay's isomorphism algorithm has been replicated for the open source community (it is called "nice", as opposed to "nauty"). |
Line 19: | Line 22: |
if color.has_key((0, g, b)): color[(0, g, b)].append(v) | if (0, g, b) in color: color[(0, g, b)].append(v) |
Line 24: | Line 27: |
attachment:9_cube.png | {{attachment:9_cube.png}} |
Line 27: | Line 30: |
* On Oct. 20, 2006, Robert gave a [http://sage.math.washington.edu/home/rlmill/talk_2001-10-20/2006-10-20SAGE.pdf talk] about the state of affairs for existing software which shared a few benchmarks and discussed some implementation ideas. | * On Oct. 20, 2006, Robert gave a [[http://sage.math.washington.edu/home/rlmill/talk_2001-10-20/2006-10-20SAGE.pdf|talk]] about the state of affairs for existing software which shared a few benchmarks and discussed some implementation ideas. |
Line 29: | Line 32: |
* On Mar. 2, 2007, in B027 at 10:30 a.m., Robert Miller will give a talk entitled "Opening Graph Automorphisms". The abstract is located [http://sage.math.washington.edu:9001/sage-uw here]. | * On Feb. 17, 2007, Robert gave a [[http://www.robertlmiller.com/talks/graph_intro.pdf|talk]] at Sage Days 3. * On Mar. 2, 2007, Robert gave a talk entitled "Opening Graph Automorphisms". * On Mar. 29, 2007, he followed up with a [[http://www.robertlmiller.com/talks/nauty.pdf|part two]] of this talk, after implementing "nice". * On Apr. 21, 2007, Emily presented a [[http://sage.math.washington.edu/home/ekirkman/talks/ECCAD.ppt|poster (ppt)]] introducing the SAGE graph theory package at East Coast Computer Algebra Day. * On Apr. 27, 2007, Emily gave a [[http://sage.math.washington.edu/home/ekirkman/talks/2007_04_27.html|talk]] introducing the (almost complete) sqlite database. |
Line 33: | Line 40: |
. [../graph_survey Existing Software]: We are always seeking additions and comments. . [http://sage.math.washington.edu:9001/graph_db_survey Existing Databases]: Includes comments by Jason Grout. |
. [[http://wiki.sagemath.org/graph_survey|Existing Software]]: We are always seeking additions and comments. . [[http://wiki.sagemath.org/graph_db_survey|Existing Databases]]: Includes comments by Jason Grout. |
Line 36: | Line 43: |
* [http://sage.math.washington.edu:9001/graph_benchmark Benchmarks] | * [[http://wiki.sagemath.org/graph_benchmark|Benchmarks]] |
Line 39: | Line 46: |
* [http://sage.math.washington.edu:9001/graph_plotting Plotting] | * [[http://wiki.sagemath.org/graph_plotting|Plotting]] |
Line 44: | Line 51: |
* [http://sage.math.washington.edu:9001/graph_generators Graph Generators] | * [[http://wiki.sagemath.org/graph_generators|Graph Generators]] |
Line 49: | Line 56: |
* [http://sage.math.washington.edu:9001/graph_database Database] | * [[http://wiki.sagemath.org/graph_database|Database]] |
Line 55: | Line 62: |
attachment:database.png | {{attachment:database.png}} |
Contents
The SAGE Graph Theory Project
Introduction
We are implementing graph objects and algorithms in SAGE. The main people working on this project are Emily Kirkman and Robert Miller.
Current Status
- NetworkX base classes have been interfaced, and all functions are soon to follow.
- Jason Grout's (Brigham Young) SQL lite graph database is almost finished, and when it is done, it will be interfaced by Emily.
Jim Morrow (UW) has expressed interest in using SAGE for his summer REU on graphs. Robert is working on implementing electrical networks, which includes implementing edge weights and graphs with boundary.
- Chris Godsil (Waterloo) has expressed interest in helping design a more general discrete math package in SAGE.
Brendan McKay's isomorphism algorithm has been replicated for the open source community (it is called "nice", as opposed to "nauty").
- Graph plotting has been implemented in two dimensions:
C = graphs.CubeGraph(9) color = {} for v in C.vertices(): b = v.count('1')/9 g = 1 - b if (0, g, b) in color: color[(0, g, b)].append(v) else: color[(0, g, b)] = [v] C.show(vertex_labels=False, node_size=60, graph_border=True, color_dict=color, figsize=[9,8])
Talks
On Oct. 20, 2006, Robert gave a talk about the state of affairs for existing software which shared a few benchmarks and discussed some implementation ideas.
- On Feb. 15, 2007, Robert and Emily gave an Informal Introduction to the Graph Theory Package. This talk was essentially a review of newly available features.
On Feb. 17, 2007, Robert gave a talk at Sage Days 3.
- On Mar. 2, 2007, Robert gave a talk entitled "Opening Graph Automorphisms".
On Mar. 29, 2007, he followed up with a part two of this talk, after implementing "nice".
On Apr. 21, 2007, Emily presented a poster (ppt) introducing the SAGE graph theory package at East Coast Computer Algebra Day.
On Apr. 27, 2007, Emily gave a talk introducing the (almost complete) sqlite database.
Other wiki pages
- Surveys
Existing Software: We are always seeking additions and comments.
Existing Databases: Includes comments by Jason Grout.
- Initial Benchmarks indicated that NetworkX was the appropriate package for inclusion in SAGE. They were designed to compare the constructions and very basic functionality found in our survey of existing software.
- 2D plotting is implemented using matplotlib.
- 3D plotting via Tachyon is coming soon.
- 3D interactive viewing is on its way, via Java applets (pending some serious implementation issues).
- So far: Basic graph structures with intuitive graphics.
- Extensive educational docstrings and many graph constructors.
- Native positionings allow standard layouts and quicker plotting
- Emily has provided a provisional database of graphs on up to seven vertices:
graphs_query.show_graphs(with_properties=True, nodes=7, diameter=5)