[Soc-2011-dev] Weekly Progress Report #2 : June 4, 2011

shuvro sarker shuvro05 at gmail.com
Sat Jun 4 19:22:09 CEST 2011


June 4, 2011

Work done this week:


One of the major issues of this project is to include an eigen solver
library that can handle very large sparse matrix. On the previous week, we
tried it with Eigen3 <http://eigen.tuxfamily.org/dox/>. This is a good C++
written library with modular design. It has a Sparse Matrix module too. But
after started working on that, It seemed to me that the Sparse Matrix module
of Eigen3 can’t be attached with the EigenSolver module of Eigen3. Later, me
and my mentor(elubie) confirmed this fact by talking the Eigen devs in the
irc channel. They also let us know that Sparse Matrix module of Eigen3 is
not officially supported yet.

This was the start of the confusion. Then we started looking for the
alternative libraries. The requirements were - it must have to be written in
C/C++ and should be able to calculate eigenspace of large sparse matrix.
Having a clean, smart  api to call the functions from C will be an added
bonus. Till now, we have looked for 3 libraries.

The first one was the C implementation of
ARPACK<http://www.caam.rice.edu/software/ARPACK/>that is used by the
software
Graphite <https://gforge.inria.fr/frs/?group_id=1465>. The codes under
src/packages/third_party/numeric_stuff of Graphite software contains an C
implementation of ARPACK but in my eyes the codes of this folder is not
enough, to use those one need to access some functions residing at higher
level of the source hierarchy which has many dependencies which are very
much specific to Graphite software.

After that, we looked for CARPACK which is an C implementation of ARPACK . I
also noticed that Graphite uses a customized version of CARPACK. This is the
link <http://people.kyb.tuebingen.mpg.de/suvrit/work/progs/carpack.tar.gz>of
the source of CARPACK. But this some problems too.

Last of all, we have looked for a very small library named
lanczospackage<http://www.mediafire.com/?c7s13xi3c44o3bk>.
This has support only one algorithm to calculate eigenspace (Lanczos
Algorithm). The workflow of using the library is not clean by any means. And
we are not sure that whether it will reliable to include such a library.

So, after all that we decided to postpone the decision about selecting the
eigen library until we have the basic algorithm implemented with dense
matrices of Eigen3 library to allow a bit more time to get to know these
libraries.

So far, a dummy implementation of Laplacian Matrix from dual graph and
Calculation of Eigen Space for that Laplacian Matrix is done. Currently the
Dense module of Eigen3 is used for Eigen related calculations. This will be
changed later.

Plan for the next week:

Continue the implementation of the basic algorithm using the dense matrix
module of the Eigen3 library.

Issues that require extra attention:

Already discussed about it in the first section.


That’s all for this week, Thanks.


Shuvro
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/soc-2011-dev/attachments/20110604/64714534/attachment.htm 


More information about the Soc-2011-dev mailing list