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

[[TableOfContents(4)]]

 == HbaseLINA, a framework for large scale sparse linear algebra ==
+ == HbaseLINA, a Framework for Largescale Sparse Linear Algebra ==
Using [:Hbase:Hbase]'s Row,Column(Qualifier) two dimensional space, we are able to store
large sparse matrix.
[[BR]]The Autopartitioned sparsity substructure will be efficiently managed, serviced
by [:Hbase:Hbase].
 Also using iterative algorithms like conjugate gradient method on a parallel processing
platform like MapReduce,
 [[BR]]we should be able to implement '''High Performance''' and '''World's Largest''' Matrix
Computations.
+ Row or Column operations can be done in linear time and algorithms such as structured Gaussian
elimination
+ [[BR]]or iterative methods run in '''O(~the number of nonzero elements in the matrix~)'''
time, [:Hbase:Hbase] Providing Both Vertical and Horizontal access.
 The HbaseLINA application language will be added as subshell in [:Hbase/HbaseShell:Hbase
Shell].
+ Therefore, using iterative algorithms on a parallel processing platform like MapReduce,
+ [[BR]]we should be able to implement ''High Performance'' and ''World's Largest'' Matrix
Computations.
=== Applications ===
@@ 31, +32 @@
== Storing and manipulating numeric, sparse matrices on Hbase ==
 A Sparse matrix is created by following the creation command with the keyword "Matrix".
+ === Scheduling Algorithm ===
 NOTE :
+ The scheduling algorithm is designed for driving the parallel execution of the factorization
on on a MapReduce model.
+ === Hbase Shell Extension ===
 {{{
 difficulties in tuning sparse matrix.
  indirect and irregular, the inefficient data access
+ The HbaseLINA application language will be added as subshell in [:Hbase/HbaseShell:Hbase
Shell].
 reordering for matrix partitioning (to create dense structure.)
  graph partitionning algorithms ( use hypergraph for non symmetric matrices )
  TDF ordering
 }}}



 === Hbase Shell Language Extension ===

{{{
Hbase > lina;
Hbase LINA version 0.0.1
Type 'help;' for help.
 Hbase.LINA > M = Matrix('m_table','cf_1'); //Set up the matrix M from mapped matrix in
hbase.
+ Hbase.LINA > M = Matrix('m_storage'); //Set up the matrix M from mapped matrix in hbase.
Hbase.LINA > R = M.SVDdecomposition();
Hbase.LINA > U = R.getU();
 Hbase.LINA > Save U into Matrix('table_name','Othonormal_eigenvector_U');
+ Hbase.LINA > Save U into Matrix('Othonormal_eigenvector_U');
...
Hbase.LINA > exit;
@@ 68, +59 @@
== References ==
* [http://bebop.cs.berkeley.edu/oski/ OSKI], optimized sparse kernel interface (OSKI) library
+ * [http://icl.cs.utk.edu/iclprojects/pages/files/sans/yelickbebop.pdf Automatic Performance
Tuning of Sparse Matrix Kernels], August 7, 2002
* Parallel Conjugate Gradients Assignment, a parallel implementation of the conjugate gradient
algorithm
* 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.
