Difference between revisions of "Programming and Modeling Tools"
From Self-Organization Wiki
(→Java) |
(→Java) |
||
Line 44: | Line 44: | ||
* JScience | * JScience | ||
* jHepWork | * 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. |
Revision as of 09:57, 8 March 2010
Python
Tools:
- Python 2.6.4
- NumPy 1.4.0 and SciPy 0.7.1 (MATLAB-like numerical packages)
- NumPy download
- SciPy download
- Matplotlib 0.99.1 (MATLAB-like visualization package)
- NetworkX 1.0rc1
- Pajek - Program for large network analysis
Guides:
- Beginner's Guide to Python
- Python 2.6.4 Documentation
- Python 2.6.4 Library Reference
- NumPy and SciPy Documentation
- NumPy Tutorial
- NumPy Functions by Category
- SciPy Tutorial
- Matplotlib Screenshots and Sample Codes
- Matplotlib Documentation
- NetworkX Tutorial
- NetworkX Reference
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.