Summer of Code - Getting Started: Difference between revisions

Removed ilu, ichol project
(→‎Criteria by which applications are judged: Remove the relevance part, focus on the ability to submit patches)
(Removed ilu, ichol project)
Line 81: Line 81:


'''Potential mentor''': Carlo de Falco, Fotios Kasolis, Luis Gustavo Lira, JuanPi Carbajal
'''Potential mentor''': Carlo de Falco, Fotios Kasolis, Luis Gustavo Lira, JuanPi Carbajal
=== Incomplete sparse factorizations ichol, ilu ===
Octave still lacks of an incomplete Cholesky and LU factorization for sparse matrices. These functions are [http://www.mathworks.com/help/matlab/matrix-decomposition.html available in Matlab] as ichol and ilu. Incomplete factorizations are useful as preconditioners for iterative solvers such as [http://hg.savannah.gnu.org/hgweb/octave/file/812162c34a93/scripts/sparse/gmres.m gmres] or [http://hg.savannah.gnu.org/hgweb/octave/file/812162c34a93/scripts/sparse/pcg.m pcg].
Good introductions to the math behind these factorizations are:
* [http://netlib.org/linalg/html_templates/node81.html Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods] especially [http://netlib.org/linalg/html_templates/node100.html#SECTION00933000000000000000 this chapter]
* [http://www-users.cs.umn.edu/~saad/IterMethBook_2ndEd.pdf Iterative Methods for Sparse Linear Systems (2nd Edition)] chapter 10 (also available as textbook)
One should additionally familiarize with Octave's internal sparse matrix format which is [http://netlib.org/linalg/html_templates/node92.html#SECTION00931200000000000000 CCS] rather than [http://netlib.org/linalg/html_templates/node91.html#SECTION00931100000000000000 CRS], used in the listed textbooks. In the past GSoC a solution using [http://www-users.cs.umn.edu/~saad/software/ITSOL/ ITSOL] has been created. This work needs several improvements before it can be integrated into the Octave core. Read more about the past GSoC project in [http://siko1056-gsoc.blogspot.de/ this blog]. A [http://siko1056-gsoc.blogspot.de/p/getting-my-work.html demo implementation] is also available from there.
Compared to other projects in this section this one might require more knowledge of C++ and mathematical software programming. But this project doesn't need to be started from scratch and can be continued from the previous approach, if desired.
'''Potential mentor''': Kai T. Ohlhus ([[User:Siko1056]])


=== General purpose Finite Element library ===
=== General purpose Finite Element library ===