User:Mfasi: Difference between revisions
No edit summary |
|||
Line 29: | Line 29: | ||
* Contributions to Octave | * Contributions to Octave | ||
** Submitted patch to fix bug {{bug|41779}} | |||
** Submitted patch to fix bug {{bug|41476}} | ** Submitted patch to fix bug {{bug|41476}} | ||
** Submitted patch to fix bug {{bug|41504}} | ** Submitted patch to fix bug {{bug|41504}} |
Revision as of 16:36, 6 March 2014
Introduction
- I guess the three required sentences are on current studies, spoken languages and overall background. So:
- I am a student at "Ecole Normale Superieure" in Lyon (FR), second year of Master in Computer Science.
- Italian is my mother tongue, I use somehow English and French.
- I would say that my field is numerical analysis.
- As the project I am intested in is related to the domain I would apply for my Phd, I hope to boost a little my future applications. Moreover, I used the Octave functions I would work with for some Octave code I wrote.
- No previous experience with the Google Summer of Code
- I am choosing Octave on the one hand because is the organization I am most interested in out of the GSoC ones, on the other hand because it is probaly the one I know better.
Contact
- My nickname on IRC will be mfasi.
- I think my time zone will be UTC+1
- Just now, I am working for an internship and I go to my office at 7.00 and leave at 18.00 (in UTC+0), but I do not spend all of the time coding. I guess I spend usually the last 4/5 hours coding, while in the morning I prefer reading papers or developing some ideas (that will be coded later on).
Coding experience
- Experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.
C++ and OpenGL where subjects of two university courses I've attended. I have used Octave to write my [https://dl.dropboxusercontent.com/u/37286377/thesis.pdf bachelor thesis.
- As a computer science student, I have had to work with many different languages:
- Imperative: pascal, C, Bash scripting, Java, JavaScript, PHP
- Functional: OCaml, HOPE
- Markup: LaTeX, XML, XSL, HTML
- Other: some SQL-based languages
- I have never took part to an open-source project, but some of the computer science courses I have followed required to develop code in team.
- [TODO] Please describe the biggest project you have written code for and what you learned by doing so. Also describe your role in that project over time.
- Contributions to Octave
Feeling fine
- Please describe (in short) your experience with the following tools:
- IRC and mailing lists: I hqve used both of them, but I do not know more than 2 or 3 IRC commands by hart. There are reference chart for that, though.
- Mercurial: As I am implementing some patches for Octave, I am using it.
- Mediawiki: I have used it sometimes. By the way, I am using it right now.
- make, gcc, gdb or other development tools: I know how to write a Makefile, how to use a compiler and a debugger, using both the command line or a IDE interface.
- [TODO] What will make you actively stay in our community after this GSoC is over?
Only out of interest
- Actually I have been using Octave for four years now, but just as a user. I think you could advertise in math forums, there is plenty of them.
- I had trouble finding a GUI, but that is no longer the case. In general everything is well documented. I had some troubles, years ago, when trying to use the symbolic packagem that was not very well documented, as far as I remember.
Prerequisites
- I am granted the access to use any Linux Distribution (I can just install it on a PC), but the ones I've used are Debian, Ubuntu, Arch and Gentoo. I have also access machines with Windows 7 and 8.
- I think I will not have problems accessing a pc with internet during the GSoC period.
- I will be free to install new programs on all the operating systems described above.
Self-assessment
- [TODO] Please describe how useful criticism looks from your point of view as committing student.
- [TODO] How autonomous are you when developing? If you answer both subquestions with "Yes, definitely", we are a tad confused. ;-)
- Do you like to discuss changes intensively and not start coding until you know what you want to do?
- Do you like to code a proof of concept to 'see how it turns out', modifying that and taking the risk of having work thrown away if it doesn't match what the project or original proponent had in mind?
Your task
- The project I would like to work on is Improve logm, sqrtm, funm.
I would like to implement such functions, using known algorithms for matrix functions. In particular, I would like to start implementing the Schur-Parlett recurrence that should be easy to do using the syl() function, that is known to be O(n^4), and then implementing better - specific - algorithms for the other two functions. For the matrix logarithm I do not know wether there is something better than the scaling and squaring method devised by Higham in Functions of Matrices: Theory and Computation, while for the p-th root there is a recent work that has a lower asymptotical complexity (but seems rather involved, so I cannot say anything about the real performances).
- [TODO] Please provide a rough estimated timeline for your work on the task. This should include the GSoC midterms and personal commitments like exams or vacation ("non-coding time"). Optionally include two or three milestones you expect.