107
edits
Antonio Pino (talk | contribs) |
Antonio Pino (talk | contribs) No edit summary |
||
Line 3: | Line 3: | ||
== A: An introduction == | == A: An introduction == | ||
* Please describe yourself in three sentences, one of them regarding your current studies. | * Please describe yourself in three sentences, one of them regarding your current studies. | ||
I am Antonio Pino Robles and I am currently an undergratuate student at the University of the Basque Country, in the Basque Country (Northern Spain). I have always enjoyed literature and math, things I like to do when I enjoy the heavy rain pouring in my hometown. | I am Antonio Pino Robles and I am currently an undergratuate student at the University of the Basque Country, in the Basque Country (Northern Spain). I have always enjoyed literature and math, which are things I like to do when I enjoy the heavy rain pouring in my hometown. | ||
** Which languages do you speak? | ** Which languages do you speak? | ||
My mouthertounges (I honestly cannot remember which was first) are Basque and Spanish. I also speak fluent English, working Italian, and French. | My mouthertounges (I honestly cannot remember which was first) are Basque and Spanish. I also speak fluent English, working Italian, and French. | ||
Line 9: | Line 9: | ||
As an ungergrad I am following a programme that leads me to a major in Electronic Engineering and a minor in Physics, that means that I have expirience in subjects such as Control Theory, Signal Analysis on one side, and Quantum Physics and Thermodynamics on the other; all with a strong mathematical background. | As an ungergrad I am following a programme that leads me to a major in Electronic Engineering and a minor in Physics, that means that I have expirience in subjects such as Control Theory, Signal Analysis on one side, and Quantum Physics and Thermodynamics on the other; all with a strong mathematical background. | ||
* Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so? | * Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so? | ||
I hope to learn how programming is done outside of the sandboxed problems I have done until now (at Uni) while contributing to free software. Besides, I have been following the FSF for a long time, and a free software user for longer, so this can be a way of giving back. | I hope to learn how programming is done outside of the sandboxed problems I have done until now (at Uni) while contributing to free software. Besides, I have been following the FSF for a long time, and been a free software user for longer, so this can be a way of giving back. | ||
* Why are you choosing Octave? | * Why are you choosing Octave? | ||
Last year, I took two courses the relied heavily on the matrix exponential (Control Theory and Non-linear dynamics) to solve systems (or approximate them) by | Last year, I took two courses the relied heavily on the matrix exponential (Control Theory and Non-linear dynamics) to solve systems (or approximate them) by | ||
Line 54: | Line 54: | ||
== O: Only out of interest == | == O: Only out of interest == | ||
* Did you ever hear about Octave before? | * Did you ever hear about Octave before? | ||
I have been using octave for a long time now, in | I have been using octave for a long time now, in varying courses such as Linear Algebra, Control Theory, Quantum Physics | ||
* What was the first question concerning Octave you could not find an answer to rather quickly? | * What was the first question concerning Octave you could not find an answer to rather quickly? | ||
Finding a way to systematically test a functions was not very easy. I also missed a guide on the differences with Matlab (specially syntax), which should be crucial as Matlab is sadly more promoted than Octave in | Finding a way to systematically test a functions was not very easy. I also missed a guide on the differences with Matlab (specially syntax), which should be crucial as Matlab is sadly more promoted than Octave in universities and people dicover the latter when looking for an alternative to the former, just like me. | ||
== P: Prerequisites == | == P: Prerequisites == | ||
Line 68: | Line 68: | ||
* How autonomous are you when developing? | * How autonomous are you when developing? | ||
I often start with a proof of concept and 'see how it turns out' is usualy my approach to a problem, I never start doing it whitout a clue, though. | I often start with a proof of concept and 'see how it turns out' is usualy my approach to a problem, I never start doing it blindly or whitout a clue, though. | ||
== Y: Your task == | == 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 | Upon completion Octave should have a working funm based on the algorithms 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 then get to the rest, picking logm first. | ||
'''TENTATIVE TIMELINE''' | '''TENTATIVE TIMELINE''' |
edits