User:Antonio Pino:anotherwiki: Difference between revisions

From Octave
Jump to navigation Jump to search
No edit summary
(new time line)
Line 36: Line 36:


'''Update:'''
'''Update:'''
Part of the work is already done by Prof. N.J. Higham and is available under a GPLv3+ license: [http://www.ma.man.ac.uk/~higham/mftoolbox/ The Matrix Function Toolbox][3] which is closely related to the book by the same author[4]. A [http://www.ma.man.ac.uk/~higham/mctoolbox toolbox for matrix computations][4] (The Matrix Computation Toolbox) is also provided by the same author, under the same license. Finally, a funm function is provided in the page of the NAMF project under GPLv3+.
Part of the work is already done by Prof. N.J. Higham and is available under a GPLv3+ license: [http://www.ma.man.ac.uk/~higham/mftoolbox/ The Matrix Function Toolbox][3] which is closely related to the book by the same author[4]. A [http://www.ma.man.ac.uk/~higham/mctoolbox toolbox for matrix computations][4] (The Matrix Computation Toolbox) is also provided by the same author, under the same license. Finally, a funm function is provided in the page of the NAMF project under GPLv3+. One might suggest that there is still room for improvement; because as Marco Caliari noted the toolboxes are from 2008. A review of the literature needs to be done in order to use more recent algorithms when writing the new functions.
 
 
'''TENTATIVE TIMELINE'''


<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
'''TENTATIVE TIMELINE'''(previous)
<div class="mw-collapsible-content">'''Introduction'''
It appears to me that the natural task division for this project is to first improve and test funm (this should be ready by the mid-term), and then get to the rest, picking logm first.
'''weeks 1-2'''
'''weeks 1-2'''


The start should be soft for I am having the finals in this period. At this point the list of algorithms to be used must be completely defined.
The start should be soft for I am having the finals in this period. At this point the list of algorithms to be used must be completely defined; that is, a final review of the literature will be done. For that purpose, the access to my university's bibliographical will be used.


'''weeks 3-7'''
Work with the toolboxes starts here.


funm (Milestone 1: general purpose funm based on a Schur-Parlett algorithm)
'''weeks 3-4'''
 
''Milestone 0'': the toolboxes are working and packaged.
 
'''weeks 4-7'''
 
funm  
 
''Milestone 1'': general purpose funm based on a Schur-Parlett algorithm)


'''weeks 8-9'''
'''weeks 8-9'''
Line 57: Line 64:


sqrtm
sqrtm
p-th roots (p = integer) algorithm [?]
p-th roots (p = integer) algorithm [?]
(Milestone 2: logm, sqrtm, funm)


'''weeks 12'''
''Milestone 2'': logm, sqrtm, funm
 
'''week 12'''


implement trigonometric functions (I submitted  a snippet 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 snippet of cosm [http://octave.1599824.n4.nabble.com/GSoC-2015-improving-matrix-funtcions-td4669227.html to the mailing list], [http://agora.octave.org/snippet/tqUQ/ updated])


'''weeks 13-14'''
'''weeks 13-14'''


Pencils down. Run tests on the Matrix Functions and write/review their documentation.
Pencils down. Run tests on the Matrix Functions and write/review their documentation.
</div>
 
</div>





Revision as of 11:26, 9 April 2015

...just experimenting with subpages, more info on [wikipedia]


After this little holiday, I am back to work on gsoc. As Philip Nienhuis noted on the mailing list there is a fair amount of work done on Matrix Functions by Higham himself. Nonetheless, it was made to work with matlab so the first issue to tack is making Gnu Octave work with it, changing it where necessary. Starting from there, then new algorithms should be introduced to the system.


First of all, I am still interested in going on with the project.

Concerning the algorithms, I have done a review of Golub and Van Loan's chapter on matrix functions (2013) and concluded that: for funm the Schur-Parlett algorithm [0] is the most appropriate, since it seems very reliable (i.e. numerically stable), for expm the new scaling and squaring approach (I hope it is the one Prof. Caliari referred to), while its analog will be used for logm. As for sqrtm, one of the latest results is [3], although a more general p-th root algorithm by Smith [4] or Higham/Lin [5] could do the job. Bear in mind that this response is barely a review of them. If you have a more recent source I would be grateful.

Note that today has been strange day for me: the last before a Little intermission of this term (Holy Week). I will need a little time for planning the new tentative time line, and do the new proposal; by the way, as google-melange has frozen here the initial one, I shall put it in the wiki.octave page or here as a comment.

Therefore, I will go for compatibility first and then for further improvements.

Thank Carnë Draug for the comments, I didn't know Octave already made use of the mctoolbox in the gallery function.

Antonio Pino


[0] P.I. Davies and N.J. Higham (2003). "A Schur-Parlett Algorithm for Computing Matrix Functions", SIAM. J. Matrix Anal. Applic. 25, 464-485. <Vhttp://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.7.6150&rep=rep1&type=pdf>

[1] A.H. Al-Mohy and N.J. Higham (2009). "A New Scaling and Squaring Algorithm for the Matrix Exponential," SIAM J. Matrix Anal. Applic. 31, 970-989 <http://eprints.ma.man.ac.uk/1217/01/covered/MIMS_ep2009_9.pdf>

[2] S.H. Cheng, N.J. Higham, C.S. Kenney, and A.J. Laub (2001). "Approximating the Logarithm of a Matrix to Specified Accuracy," SIA M J. Matrix Anal. Applic. 22, 1112- 1125. <http://www.maths.manchester.ac.uk/~higham/narep/narep353.ps.gz>

[3] A. Frommer and B. Hashemi (2009). "Verified Computation of Square Roots of a Matrix," Matrix Anal. Applic. 31, 1279-1302. <http://www.researchgate.net/publication/220656516_Verified_Computation_of_Square_Roots_of_a_Matrix>

[4] M. I. Smith (2003). "A Schur Algorithm For Computing Matrix Pth Roots", SIAM J. MATRIX ANAL. APPL. 24, 4, 971-989. <http://www.maths.manchester.ac.uk/~higham/narep/narep392.ps.gz>

[5] N. J. Higham and L. Lin (2011). "A Schur-Parlett Algorithm for Fractional Powers of a Matrix". Manchester Institute for Mathematical Sciences, School of Mathematics, University of Manchester. <http://eprints.ma.man.ac.uk/1677/01/covered/MIMS_ep2010_91.pdf> Leave a comment


The old time line gets compressed, and I introduce the toolboxes by Higham to my wiki:

Update: Part of the work is already done by Prof. N.J. Higham and is available under a GPLv3+ license: The Matrix Function Toolbox[3] which is closely related to the book by the same author[4]. A toolbox for matrix computations[4] (The Matrix Computation Toolbox) is also provided by the same author, under the same license. Finally, a funm function is provided in the page of the NAMF project under GPLv3+. One might suggest that there is still room for improvement; because as Marco Caliari noted the toolboxes are from 2008. A review of the literature needs to be done in order to use more recent algorithms when writing the new functions.


TENTATIVE TIMELINE

weeks 1-2

The start should be soft for I am having the finals in this period. At this point the list of algorithms to be used must be completely defined; that is, a final review of the literature will be done. For that purpose, the access to my university's bibliographical will be used.

Work with the toolboxes starts here.

weeks 3-4

Milestone 0: the toolboxes are working and packaged.

weeks 4-7

funm

Milestone 1: general purpose funm based on a Schur-Parlett algorithm)

weeks 8-9

expm and logm

weeks 10-11

sqrtm

p-th roots (p = integer) algorithm [?]

Milestone 2: logm, sqrtm, funm

week 12

implement trigonometric functions (I submitted a snippet of cosm to the mailing list, updated)

weeks 13-14

Pencils down. Run tests on the Matrix Functions and write/review their documentation.


[1] N.J. Higham. A New sqrtm for MATLAB. Numerical Analysis Report No. 336, Manchester Centre for Computational Mathematics, Manchester, England, January 1999.

[2] G.H. Golub and C.F. Van Loan. Matrix Computations, 4th Edition. The Johns Hopkins University Press, Baltimore, USA, 2013.

[3] N. J. Higham. The Matrix Function Toolbox. http://www.ma.man.ac.uk/~higham/mftoolbox

[4] N. J. Higham, Functions of Matrices: Theory and Computation, Society for Industrial and Applied Mathematics, Philadelphia, USA, 2008.

[5] N. J. Higham. The Matrix Computation Toolbox. http://www.ma.man.ac.uk/~higham/mctoolbox