The list of accepted projects of this year’s Google Summer of Code is out. For the list of accepted projects for Sage see here, for the LMonade project see below, for all other accepted projects see Google’s site. I am going to mentor William’s M1RI project together with Clément Pernet. It’s going to be a blast.
Implementing the LLL algorithm in FLINT
Assigned mentors: Fredrik Johansson, William Hart
Short description: The project is to implement a basic LLL in FLINT allowing for parameters to be supplied governing the strength of reduction, followed by a couple of the more interesting modern versions, including the LLL with removals and ULLL, a version of LLL with better complexity in terms of the size of the entries. mentors: Bill Hart, Fredrik Johansson
Assigned mentors: William Hart, Curtis Bright
Short description: I will implement highly efficient algorithms to compute the Hermite normal form of a matrix of integers within the FLINT library.
Assigned mentors: Brice Boyer, David Saunders
Short description: Linbox currently possesses an implementation of the Block-Wiedemann algorithm for solving black box matrices. I propose extending this capability so that users can compute the invariant factors of a matrix, using OpenMP to allow for parallel computing on multicore machines.
Assigned mentors: Ullrich Koethe, Burcin Erocal
Short description: For a wide range of scientific applications algorithms that analize texture, pixel distribution or shape are key components. I propose providing VIGRA an implementation, documentation and testing of this key components using as reference libraries shuch as the CellCognition project.
Improved type checker for FriCAS
Assigned mentors: Waldek Hebisch, Pippijn van Steenhoven
Short description: Project aims at partial reimplementation of type checker in Spad compiler of FriCAS. Main goals include: better type inference, stricter type system, understandable diagnostic messages.
Assigned mentors: Anna Kreshuk, Ullrich Koethe
Short description: I am a graduate student at the university of Heidelberg, Germany, studying Scientific Computing and programming for fun and for a living. My proposal is about integrating a truely lazy operator for connected components into ilastik, lazyflow and vigra. This new operator would make use of both the graph/operator framework for ease of use and the vigra library for efficient computation.
Parallelization of the VIGRA library
Assigned mentors: Ullrich Koethe, Christoph Garbe, Burcin Erocal
Short description: In this project, I will apply different parallelism techniques to parallelize VIGRA library. I expect to deliver the source code, document on each technique I use.
Assigned mentors: Clément Pernet, Martin Albrecht
Short description: The goal of this project is to implement a matrix library with bitslicing techniques described by Tom Boothby and Robert Bradshaw here http://arxiv.org/abs/0901.1413. This takes the “Method of Four Russians”, an algorithm made for efficient logical matrix algorithms, and using bitslicing to extend that to matrices over finite fields. GF(3), GF(5), and GF(7) matrices will be the scope of this project.