Programming and Modeling Tools

From Self-Organization Wiki
Revision as of 09:13, 1 July 2010 by Welmenre (talk | contribs) (Java)
Jump to: navigation, search

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.