Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.
The following page has been changed by udanax:
http://wiki.apache.org/hadoop/Hama

 Describe Hama here.
+ == Introduction ==
+ '''Hama''' is a parallel matrix computational package based on Hadoop Map/Reduce. It will
be useful for a massively largescale ''Numerical Analysis'' and ''Data Mining'', which need
the intensive computation power of matrix inversion, e.g. linear regression, PCA, SVM and
etc. It will be also useful for many scientific applications, e.g. physics computations, linear
algebra, computational fluid dynamics, statistics, graphic rendering and many more.
+ Currently, several sharedmemory based parallel matrix solutions can provide a scalable
and high performance matrix operations, but matrix resources can not be scalable in the term
of complexity. The '''Hama''' approach proposes the use of 2dimensional Row and Column(Qualifier)
space and multidimensional Columnfamilies of Hbase, which is able to store large sparse and
various type of matrices (e.g. Triangle Matrix, 3D Matrix, and etc.). In addition, autopartitioned
sparsity substructure will be efficiently managed and serviced by Hbase. Row and Column operations
can be done in lineartime, where several algorithms such as structured Gaussian elimination
and iterative methods run in O(~the number of nonzero elements in the matrix~ / ~number
of mappers (processors/cores)~) time on Hadoop Map/Reduce.
+ === Initial Contributors ===
+ * Edward Yoon (R&D center, NHN corp.)
+ * Chanwit Kaewkasi (Ph.D candidate, University of Manchester)
+ === Dependencies ===
+ * Hadoop (HDFS, Map/Reduce) License: Apache License, 2.0
+ * Hbase (Sparse Matrix Table) License: Apache License, 2.0
+ * Groovy (Agile Dynamic Language) License: Apache License, 2.0
+ === Related Pages ===
+ * [http://code.google.com/p/hama/wiki/Design The design document of Hama]
+ * [http://code.google.com/p/hama/wiki/LanguageSyntax The language syntax discussion page]
+ * [http://code.google.com/p/hama/wiki/RoadMap Release plan for project Hama]
+ 
+ == Basic Linear Algebra ==
+ * Addition/Substration
+ * Multiplication
+ * Determinant
+ * Cholesky decomposition
+ * Crout Decomposition
+ * Doolittle Decomposition
+ 
+ == Groovy Language Syntax ==
+ The '''Hama''' project utilises Groovy for simplification of computational language.
+ For example, we can perform a parallel matrix multiplication by expressing as follows:
+ {{{
+ def a = rand(10,10)
+ def b = rand(10,10)
+ def c = a * b
+ }}}
+ 
+ == References ==
+ * ScaLAPACK, a library of highperformance linear algebra routines for distributedmemory
messagepassing MIMD computers
+ * Scheduling algorithms for parallel Gaussian elimination withcommunication costs, Amoura,
A.K.; Bampis, E.; Konig, J.C.
+ * High performance numerical libraries in Java, BjørnOve Heimsund
+
