Antonio Pino
Joined 25 March 2015
→Y: Your task
Line 74: | Line 74: | ||
The project I intend to do is [http://wiki.octave.org/Summer_of_Code_Project_Ideas#Improve_logm.2C_sqrtm.2C_funm Improve logm, sqrtm, funm]; its aim is to improve the existing implementations of [https://en.wikipedia.org/wiki/Matrix_function Matrix Functions] in octave based on the algorithms developed by [http://www.maths.manchester.ac.uk/~higham/NAMF/#People a team lead by Prof. Higham] at the University of Manchester. At this point in time, in Octave there are the following: [http://hg.savannah.gnu.org/hgweb/octave/file/9a8be23d2c05/scripts/linear-algebra/expm.m expm] makes use of Padé approximant, [http://hg.savannah.gnu.org/hgweb/octave/file/9a8be23d2c05/scripts/linear-algebra/logm.m logm] uses a Schur-Parlett algorithm, and [http://hg.savannah.gnu.org/hgweb/octave/file/9a8be23d2c05/libinterp/corefcn/sqrtm.cc sqrtm] using a variant of the algorithm in A New sqrtm for MATLAB[1]. On the other hand, in Octave-Forge there are [http://sourceforge.net/p/octave/linear-algebra/ci/default/tree/inst/funm.m funm] and [http://sourceforge.net/p/octave/linear-algebra/ci/default/tree/inst/thfm.m trigonometric and hyperbolic matrix functions]. | The project I intend to do is [http://wiki.octave.org/Summer_of_Code_Project_Ideas#Improve_logm.2C_sqrtm.2C_funm Improve logm, sqrtm, funm]; its aim is to improve the existing implementations of [https://en.wikipedia.org/wiki/Matrix_function Matrix Functions] in octave based on the algorithms developed by [http://www.maths.manchester.ac.uk/~higham/NAMF/#People a team lead by Prof. Higham] at the University of Manchester. At this point in time, in Octave there are the following: [http://hg.savannah.gnu.org/hgweb/octave/file/9a8be23d2c05/scripts/linear-algebra/expm.m expm] makes use of Padé approximant, [http://hg.savannah.gnu.org/hgweb/octave/file/9a8be23d2c05/scripts/linear-algebra/logm.m logm] uses a Schur-Parlett algorithm, and [http://hg.savannah.gnu.org/hgweb/octave/file/9a8be23d2c05/libinterp/corefcn/sqrtm.cc sqrtm] using a variant of the algorithm in A New sqrtm for MATLAB[1]. On the other hand, in Octave-Forge there are [http://sourceforge.net/p/octave/linear-algebra/ci/default/tree/inst/funm.m funm] and [http://sourceforge.net/p/octave/linear-algebra/ci/default/tree/inst/thfm.m trigonometric and hyperbolic matrix functions]. | ||
Upon completion Octave should have a working funm based on the algoriths by Higham et al., that calls to specific matrix functions if these have an instance of their own: expm, logm, sqrtm etc. Thus, it appears to me that the natural task division for this project is to first improve and test funm (this shoud be ready by the mid-term), and after that start paying attention to the rest, picking logm first. | Upon completion Octave should have a working funm based on the algoriths by Higham et al., that calls to specific matrix functions if these have an instance of their own: expm, logm, sqrtm etc. Thus, it appears to me that the natural task division for this project is to first improve and test funm (this shoud be ready by the mid-term), and after that start paying attention to the rest, picking logm first. | ||
Line 86: | Line 86: | ||
'''weeks 3-7''' | '''weeks 3-7''' | ||
funm | funm (Milestone 1: general purpose funm based on a Schur-Parlett algorithm) | ||
'''weeks 8-9''' | '''weeks 8-9''' | ||
Line 96: | Line 96: | ||
sqrtm | sqrtm | ||
p-th roots (p = integer) algorithm [?] | p-th roots (p = integer) algorithm [?] | ||
(Milestone 2: logm, sqrtm, funm) | |||
'''weeks | '''weeks 12''' | ||
implement trigonometric functions (I submitted a snipet of cosm [http://octave.1599824.n4.nabble.com/GSoC-2015-improving-matrix-funtcions-td4669227.html to the mailing list]) | implement trigonometric functions (I submitted a snipet of cosm [http://octave.1599824.n4.nabble.com/GSoC-2015-improving-matrix-funtcions-td4669227.html to the mailing list]) |