Difference between revisions of "Programming and Modeling Tools"

From Self-Organization Wiki
Jump to: navigation, search
(Java)
(JGraphT)
Line 49: Line 49:
 
===JGraphT===
 
===JGraphT===
  
JGraphT is a free Java graph library that provides mathematical graph-theory objects and algorithms. JGraphT supports various types of graphs including:
+
[http://jgrapht.sourceforge.net/ JGraphT] is a free Java graph library that provides mathematical graph-theory objects and algorithms. JGraphT supports various types of graphs including:
  
 
* directed and undirected graphs.
 
* directed and undirected graphs.

Revision as of 09:57, 8 March 2010

Python

Tools:


Guides:

Java

Tools:

However, quick visualization in Java is a pain without appropriate tools. There is a nice discussion on Java Scientific Packages similar to SciPy at [1]

In summary, the proposed packages for Java which could be interesting are:

  • Apache Commons Math
  • Java Numerics
  • Colt
  • Matlib
  • Java Scientific Library
  • JFreeChart
  • JScience
  • jHepWork

Graph and Network Analysis Tools

JGraphT

JGraphT is a free Java graph library that provides mathematical graph-theory objects and algorithms. JGraphT supports various types of graphs including:

  • directed and undirected graphs.
  • graphs with weighted / unweighted / labeled or any user-defined edges.
  • various edge multiplicity options, including: simple-graphs, multigraphs, pseudographs.
  • unmodifiable graphs - allow modules to provide "read-only" access to internal graphs.
  • listenable graphs - allow external listeners to track modification events.
  • subgraphs graphs that are auto-updating subgraph views on other graphs.
  • all compositions of above graphs.

Although powerful, JGraphT is designed to be simple and type-safe (via Java generics). For example, graph vertices can be of any objects. You can create graphs based on: Strings, URLs, XML documents, etc; you can even create graphs of graphs! This code example shows how.