Sparse vectors

This is a little project in C I’ve done with the cheerful Julien Herrmann, as part of the Projet 1 course in L3.

The final result is more of a small library than a real software than does real things. The original purpose of this work was to implement two methods to manipulate sparse vectors (that is a 1-dimensional array with a lot of 0), either by using a linked list or an array with the indexes of the elements in the original vector. Both were quite easy to create, so we introduced a more sophisticated data structure that mixes lists and arrays. We lacked time to extend our work to bidimensional matrices (which is a shame, I know), but there are still some files in the source code that you may find interesting to browse.

Nevertheless, you can read our report (please keep in mind that we were still young and innocent). And you can of course check out the source files, let it be to play with vectors or matrices. Beware : the source for the sparse matrices is still a littre buggy. But the library for sparse vectors is fine and you can use it as you please.

Seam carving

This is a little project in OCaml I’ve done with the cheerful Julien Herrmann, as part of the Projet 1 course in L3.

You can fetch the subject we used as a base for our work. If you’re eager for a further understanding of the process, be sure to read the original paper or to browse the dedicated webpage, where you can find this pretty video. As for our work, we intended at first to use a matrix to represent a picture, but finally one week before the deadline I decided that I would use a double-linked list data structure (or more accurately quintuple-linked cells, one cell for each pixel of the image). Eventually we ended up with a rather fast and satisfying programm with a lot of functionnalities (reduction, enlargement, several energy functions, etc.).

The final report is located here, and you can download the source code of the programm, as well as some examples.

Game of Life

This is a little project in Python I’ve done with the cheerful Julien Herrmann, as part of the Projet 1 course in L3.

The subject can be found here (part 2 deals with the game of life). We did not have very fast and optimised algorithms you know, but the result is still pretty nice and relatively customizable. You can take a look at our report, or directly download the resulting game.

Frequency Allocation by Graph Coloring

This is a work I’ve done for the competitive entrance to the French grandes écoles during my second year in classes préparatoires aux grandes écoles (CPGE), as part of the travail d’initiative personnelle encadré test (commonly called TIPE). I was very young and this work is a bit old, but it may be worth take a look.

The general purpose of this work was to study methods for coloring graphs with approximated of exacts methods, with a focus on triangulated graphs. The concrete exemple of frequency allocation served as an excuse for coloring graph with arbitrary topology, as well as a particular class of graphs.

I’ve submitted a pretty report for the entrance exam to the ÉNS, which you can browse faithfully. That was my first try using LaTeX, so please be lenient. A fair more complete and detailed paper can be found here — but be aware that it was done in an ugly way using Word. I atone for my sins and use LaTeX henceforth. I’ve implementated the algorithms describes in this work and tested them of my computer. You can download the whole source code and use it at you convenience. Be careful : it is written is Caml Light, not Objective Caml (have I told you how I was young at this time ?). Finally there is also some slides I’ve made for the oral examinations, along with some extras.