102
edits
Line 62: | Line 62: | ||
* The project I would like to work on is '''Improve logm, sqrtm, funm'''. | * 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 | I would like to implement such functions, using known algorithms for matrix functions computation. In particular, I would like to start implementing the Schur-Parlett recurrence, that should be an easy task as syl () is already implemented, and then proceed implementing better - specific - algorithms for other functions. In particular, I think that the following list (ordered by relevance) should be respected: | ||
* funm | |||
* logm | |||
* signm | |||
* sqrtm | |||
* rootm | |||
* sinm | |||
* cosm | |||
Some other simpler functions should be required and implemented, possibly in C++ for performance's sake. 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 [http://poisson.phc.unipi.it/~maxreen/bruno/pdf/B.%20Iannazzo%20and%20C.%20Manasse%20-%20A%20Schur%20logarithmic%20algorithm%20for%20fractional%20powers%20of%20matrices%20-%20SIMAX.pdf recent work] that has a lower asymptotical complexity (but seems rather involved, so I cannot say anything about the real performances). | |||
==== Tentative timeline ==== | |||
*'''30 April''': Clear picture of the library structure that will be implemented | |||
*'''19 May''': Implementation of the auxiliary functions (at least the toughest ones) | |||
*'''23 June''': Implementation of '''funm''' and '''signm''' | |||
*'''31 July''': Implementation of the remaining functions, using all the subroutines developed in the previous two periods | |||
*'''7 August''': Testing, implementation of eventual optimizations left behind | |||
*'''18 August''': | |||
* [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.'' | * [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.'' | ||
[[Category: Summer of Code]] | [[Category: Summer of Code]] |
edits