Portfolio Code | Clement Colmerauer
Repositories
Site
Rabbit simulation
Code
Commits
Branches
Tags
Search
Tree:
a20104a
Branches
Tags
master
Rabbit simulation
build
colt
doc
index.html
initial commit
Clement COLMERAUER
commited
a20104a
at 2024-09-09 10:17:52
index.html
Blame
History
Raw
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Do not edit this autogenerated HTML file; edit src/xdocs files instead. --><html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css"> @import url("style.css"); </style><title>Colt - Welcome</title><meta content="Wolfgang Hoschek" name="author"><meta content="whoschek.AT.lbl.DOT.gov" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><!--HEADER--><table bgcolor="#ffffff" cellspacing="0" width="100%" border="0"><tr><td align="left" width="33%"> <a href="http://dsd.lbl.gov/~hoschek/colt"> <img src="images/colt-logo.gif" border="0" width="160" height="100" alt=""> </a> </td><td align="center" width="33%"> <img src="images/colt-title.jpg" alt=""> </td><td align="right" width="33%"> <a href="http://www.cern.ch"> <img src="images/cern-logo.gif" border="0" alt=""> </a> </td></tr></table><!--TOP LINK MENU NAVIGATION--><div class="link"><table cellspacing="0" cellpadding="0" width="100%" border="0"><tr valign="baseline"><td align="left"><a href="http://dsd.lbl.gov/~hoschek/colt" title="Click to jump to Colt"><font color="#3366ff">Colt</font></a><a href="http://dsd.lbl.gov/sea/" title="Click to jump to Sea"><font color="#3366ff">Sea</font></a><a href="http://dsd.lbl.gov/firefish" title="Click to jump to Firefish"><font color="#3366ff">Firefish</font></a></td><td align="right"> Version 1.2.0 - Last published Sep 9, 2004</td></tr></table></div><table cellspacing="4" width="100%" border="0"><tr><!--LEFT SIDE NAVIGATION--><td class="leftcol" nowrap="nowrap" align="left" valign="top"><div class="frame item"><div class="name">Software</div><div class="content"><a href="./index.html">Home</a><a href="http://dsd.lbl.gov/~hoschek/colt-download">Download</a><a href="./install.html">Installation</a><a href="./readme.html">Readme</a><a href="./mailing.html">Mailing List</a><a href="./changelog.html">Changelog</a></div></div><div class="frame item"><div class="name">Development</div><div class="content"><a href="./dependencies.html">Dependencies</a><a href="./api/index.html">Javadoc API</a><a href="./license.html">License</a></div></div><div class="frame item"><div class="name">Search</div><div class="content"><form method="get" action="http://www.google.com/search"><input name="as_sitesearch" type="hidden" value="dsd.lbl.gov"><input name="as_q" maxLength="256" size="13" value="" type="text"></form></div></div></td><!--LEFT SIDE SUBNAVIGATION--><!--RIGHT SIDE MAIN BODY--><td valign="top" align="left"><table width="100%" cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote> <div class="frame note"><div class="name"><a name="Welcome to the Colt Project">Welcome to the Colt Project</a></div><div class="content"> Welcome to the Colt Project. Colt provides a set of Open Source Libraries for High Performance Scientific and Technical Computing in Java. <p> Scientific and technical computing, as, for example, carried out at CERN, is characterized by demanding problem sizes and a need for high performance at reasonably small memory footprint. There is a perception by many that the Java language is unsuited for such work. However, recent trends in its evolution suggest that it may soon be a major player in performance sensitive scientific and technical computing. For example, IBM Watson's <a href="http://www.research.ibm.com/ninja/">Ninja project</a> showed that Java can indeed perform BLAS matrix computations up to 90% as fast as optimized Fortran. The <a href="http://math.nist.gov/javanumerics/">Java Grande Forum Numerics Working Group</a> provides a focal point for information on numerical computing in Java. With the performance gap steadily closing, Java has recently found increased adoption in the field. The reasons include ease of use, cross-platform nature, built-in support for multi-threading, network friendly APIs and a healthy pool of available developers. Still, these efforts are to a significant degree hindered by the lack of foundation toolkits broadly available and conveniently accessible in C and Fortran. </p> <p> The latest stable Colt release breaks the <a href="ibm-1.4.1-2xpentium4-2.8GHz.txt"> 1.9 Gflop/s barrier</a> on JDK ibm-1.4.1, RedHat 9.0, 2x IntelXeon@2.8 GHz. </p> </div></div> <p></p> <div class="frame note"><div class="name"><a name="Scope">Scope</a></div><div class="content"> This distribution provides an infrastructure for scalable scientific and technical computing in Java. It is particularly useful in the domain of High Energy Physics at CERN: It contains, among others, efficient and usable data structures and algorithms for Off-line and On-line Data Analysis, Linear Algebra, Multi-dimensional arrays, Statistics, Histogramming, Monte Carlo Simulation, Parallel & Concurrent Programming. It summons some of the best concepts, designs and implementations thought up over time by the community, ports or improves them and introduces new approaches where need arises. In overlapping areas, it is competitive or superior to toolkits such as <a href="http://www.sgi.com/Technology/STL/">STL</a>, <a href="http://root.cern.ch/">Root</a>, <a href="http://wwwinfo.cern.ch/asd/lhc++/HTL"> HTL</a>, <a href="http://wwwinfo.cern.ch/asd/lhc++/clhep">CLHEP</a>, <a href="http://math.nist.gov/tnt/">TNT</a>, <a href="http://www.cis.tu-graz.ac.at/stat/stadl/random.html"></a><a href="http://sourceware.cygnus.com/gsl/">GSL</a>, <a href="http://www.cis.tu-graz.ac.at/stat/stadl/random.html"></a><a href="http://www.cis.tu-graz.ac.at/stat/stadl/random.html">C-RAND / WIN-RAND</a>, (all C/C++) as well as <a href="http://math.nist.gov/javanumerics/array/"> IBM Array</a>, <a href="http://www.javasoft.com/products/jdk/1.2/docs/guide/collections/index.html"> JDK 1.2 Collections framework</a> (all Java), in terms of performance (!), functionality and (re)usability. </div></div> <p></p> <div class="frame note"><div class="name"><a name="Content">Content</a></div><div class="content"> This distribution consists of several free Java libraries, for user convenience bundled under one single uniform umbrella. Namely the <i>Colt</i> library, the <i>Jet</i> library, the <i>CoreJava</i> library, and the <i>Concurrent</i> library. The Colt library provides fundamental general-purpose data structures optimized for numerical data, such as resizable arrays, dense and sparse matrices (multi-dimensional arrays), linear algebra, associative containers and buffer management. The Jet library contains mathematical and statistical tools for data analysis, powerful histogramming functionality, Random Number Generators and Distributions useful for (event) simulations, and more. The CoreJava library contains C-like print formatting. The Concurrent library contains standardized, efficient utility classes commonly encountered in parallel & concurrent programming. </div></div> <p></p> <div class="frame note"><div class="name"><a name="Download">Download</a></div><div class="content"> A distribution download includes HTML API documentation and source codes for all libraries, as well as one single cross-platform shared library file, <tt>colt.jar</tt>, containing the distribution compiled to immediately executable format. Thus, a user can start to work by setting one single environment variable. He/she never needs to bother about compilation/architecture/linker issues. </div></div> </blockquote></td></tr></table><table width="100%" cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Features"><strong>Features</strong></a></font></td></tr><tr><td><blockquote> <table border="0" cellspacing="1" cellpadding="2" width="100%"> <tr valign="top" class="table rowodd"> <td valign="top" class="table header">Feature</td> <td valign="top" class="table header">Description</td> </tr><tr valign="top" class="table roweven"> <td valign="top" class="table row">Templated Lists and Maps</td> <td valign="top" class="table row"> Dynamically resizing lists holding objects or primitive data types such as <code>int</code>, <code>double</code>, etc. Operations on primitive arrays, algorithms on Colt lists and JAL algorithms (see below) can freely be mixed at zero copy overhead. <a href="api/cern/colt/list/package-summary.html#Overview">More details.</a> Automatically growing and shrinking maps holding objects or primitive data types such as <tt>int</tt>, <tt>double</tt>, etc. <a href="api/cern/colt/map/package-summary.html#Overview">More details</a>. Space efficient high performance BitVectors and BitMatrices. <a href="api/cern/colt/bitvector/package-summary.html">More details</a> </td> </tr><tr valign="top" class="table rowodd"> <td valign="top" class="table row">Templated Multi-dimensional matrices</td> <td valign="top" class="table row"> Dense and sparse fixed sized (non-resizable) 1,2, 3 and d-dimensional matrices holding objects or primitive data types such as <tt>int</tt>, <tt>double</tt>, etc; Also known as <i>multi-dimensional arrays</i> or<i> Data Cubes</i>. <a href="api/cern/colt/matrix/package-summary.html#Overview">More details</a>. </td> </tr><tr valign="top" class="table roweven"> <td valign="top" class="table row">Linear Algebra</td> <td valign="top" class="table row"> Standard matrix operations and decompositions. LU, QR, Cholesky, Eigenvalue, Singular value. <a href="api/cern/colt/matrix/linalg/package-summary.html#Overview">More details</a>. </td> </tr><tr valign="top" class="table rowodd"> <td valign="top" class="table row">Histogramming</td> <td valign="top" class="table row"> Compact, extensible, modular and performant histogramming functionality. AIDA offers the histogramming features of HTL and HBOOK. More details <a href="api/hep/aida/package-summary.html#Overview">here</a> and also <a href="api/hep/aida/bin/package-summary.html#Overview">there</a>. </td> </tr><tr valign="top" class="table roweven"> <td valign="top" class="table row">Mathematics</td> <td valign="top" class="table row"> Tools for basic and advanced mathematics: Arithmetics and Algebra, Polynomials and Chebyshev series, Bessel and Airy functions, Constants and Units, Trigonometric functions, etc. <a href="api/cern/jet/math/package-summary.html">More details</a>. </td> </tr><tr valign="top" class="table rowodd"> <td valign="top" class="table row">Statistics</td> <td valign="top" class="table row"> Tools for basic and advanced statistics: Estimators, Gamma functions, Beta functions, Probabilities, Special integrals, etc. <a href="api/cern/jet/stat/package-summary.html">More details</a>. </td> </tr><tr valign="top" class="table roweven"> <td valign="top" class="table row">Random Numbers and Random Sampling</td> <td valign="top" class="table row"> Strong yet quick. Partly a port of CLHEP. More details <a href="api/cern/jet/random/package-summary.html">here</a> and <a href="api/cern/jet/random/engine/package-summary.html">there</a> and also <a href="api/cern/jet/random/sampling/package-summary.html">there</a>. </td> </tr><tr valign="top" class="table rowodd"> <td valign="top" class="table row">util.concurrent</td> <td valign="top" class="table row"> Efficient utility classes commonly encountered in parallel & concurrent programming. <a href="http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html">More details</a>. </td> </tr> </table> </blockquote></td></tr></table><table width="100%" cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Design Goals"><strong>Design Goals</strong></a></font></td></tr><tr><td><blockquote> <table border="0" cellspacing="1" cellpadding="2" width="100%"> <tr valign="top" class="table rowodd"> <td valign="top" class="table header">Goal</td> <td valign="top" class="table header">Description</td> </tr><tr valign="top" class="table roweven"> <td valign="top" class="table row">Efficiency</td> <td valign="top" class="table row"> Routines are typically fast both due to the chosen algorithms and datastructures as well as due to careful implementation. For comparative benchmarks the latest stable JDK is recommended. </td> </tr><tr valign="top" class="table rowodd"> <td valign="top" class="table row">User friendliness</td> <td valign="top" class="table row"> To the casual user this is a high level object oriented toolkit, consisting of classes which directly provide most frequently needed functionality. Most users will never need to extend or modify any code. Classes are cleanly separated into several mostly self contained packages. </td> </tr><tr valign="top" class="table roweven"> <td valign="top" class="table row">Expert friendliness</td> <td valign="top" class="table row"> In our view, implementations should not be hidden. Instead, a user, according to his or her likings, should be encouraged to look under the hood and even tinker with the code. Not only the public API is extensively documented, but also internal code. Users who wish to enrich, modify or customize functionality should be able to do so without much effort. </td> </tr><tr valign="top" class="table rowodd"> <td valign="top" class="table row">Safety</td> <td valign="top" class="table row"> Most methods defensively check preconditions and throw appropriate exceptions. However, almost none of them are synchronized. </td> </tr> </table> </blockquote></td></tr></table></td><!--RIGHT SIDE NAVIGATION--></tr></table><!--FOOTER SEPARATOR--><hr size="1" noshade="noshade"><!--FOOTER--><table bgcolor="#ffffff" cellspacing="0" width="100%" border="0"><tr><td align="left" width="33%"> </td><td align="center" width="33%"> <font color="#525D76" size="-1"> <em> Copyright © 1999, <a href="http://www.cern.ch/">CERN - European Organization for Nuclear Research</a> </em> </font> </td><td align="right" width="33%"> <a href="http://validator.w3.org/check/referer"><img src="images/valid-html401.png" alt="Valid HTML 4.01!" width="88" height="31" border="0"> </a> <a href="http://jigsaw.w3.org/css-validator/"><img src="images/valid-css.png" alt="Valid CSS!" width="88" height="31" border="0"> </a> </td></tr></table></body></html>