Difference between revisions of "Programming and Modeling Tools"
(→Java) |
(→Java) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 29: | Line 29: | ||
* [http://www.eclipse.org Eclipse IDE] | * [http://www.eclipse.org Eclipse IDE] | ||
* [http://www.frevotool.tk/ Frevo - Framework for evolutionary design of complex systems] | * [http://www.frevotool.tk/ Frevo - Framework for evolutionary design of complex systems] | ||
+ | * [http://graphstream.sourceforge.net/ A dynamic Graph Library for Java] | ||
However, quick visualization in Java is a pain without appropriate tools. | However, quick visualization in Java is a pain without appropriate tools. | ||
Line 44: | Line 45: | ||
* JScience | * JScience | ||
* jHepWork | * jHepWork | ||
+ | |||
+ | See also our [[Data Visualization with Java|detailed report on data visualization in Java]]. | ||
+ | |||
+ | == HTML5 == | ||
+ | |||
+ | HTML5 is offering a full frame buffer, audio stack, and embedded video. It thus makes it possible to implement powerful browser-based applications that run independently on all operating systems and various different browsers like Chrome, Firefox, etc. | ||
+ | |||
+ | Tools: | ||
+ | * [http://code.google.com/webtoolkit/ Google Web Toolkit (GWT)]: a development toolkit for building and optimizing complex browser-based applications | ||
== Graph and Network Analysis Tools == | == Graph and Network Analysis Tools == | ||
Line 49: | Line 59: | ||
===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. |
Latest revision as of 09:34, 14 September 2011
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:
- Eclipse IDE
- Frevo - Framework for evolutionary design of complex systems
- A dynamic Graph Library for Java
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.
HTML5
HTML5 is offering a full frame buffer, audio stack, and embedded video. It thus makes it possible to implement powerful browser-based applications that run independently on all operating systems and various different browsers like Chrome, Firefox, etc.
Tools:
- Google Web Toolkit (GWT): a development toolkit for building and optimizing complex browser-based applications
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.