Difference between revisions of "Programming and Modeling Tools"

From Self-Organization Wiki
Jump to: navigation, search
(JGraphT)
(Java)
Line 44: Line 44:
 
* JScience
 
* JScience
 
* jHepWork
 
* jHepWork
 +
 +
See also our [[Data Visualization with Java|detailed report on data visualization in Java]].
  
 
== Graph and Network Analysis Tools ==
 
== Graph and Network Analysis Tools ==

Revision as of 09:13, 1 July 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

See also our detailed report on data visualization in Java.

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.