[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: matrix functions
From: |
Jordi Gutiérrez Hermoso |
Subject: |
Re: matrix functions |
Date: |
Tue, 28 Dec 2010 10:04:43 -0600 |
On 28 December 2010 07:09, Miroslaw Kwasniak
<address@hidden> wrote:
> What it's unclear from this page?
> http://www.maths.manchester.ac.uk/~higham/NAMF/
>
> Matlab M-files for the Schur-Parlett algorithm for computing matrix
> functions are available in the tar file Funm_files.tar. The toolbox
> is distributed under the terms of the GNU General Public License
> (version 3 of the License, or any later version) as published by the
> Free Software Foundation.
That got added yesterday. N Higham responded privately to me about my
request to put up that license text. I'm reproducing his response
below. It looks like we should replace the funm function in
Octave-Forge with the implementation in HIgham's page.
- Jordi G. H.
---------- Forwarded message ----------
From: Nick Higham <address@hidden>
Date: 2010/12/27
Subject: Re: Using your (?) funm in Octave
To: Jordi Gutiérrez Hermoso <address@hidden>
Cc: Edvin Deadman <address@hidden>
Dear Jordi,
> currently available in Octave. We see that you offer some code on
> your website which you probably mean to distribute freely, but we
> cannot use it unless you give the code an explicit free license
> (Octave favours the GPL version 3, but any other free license of
> your choice is acceptable). Would it be too much of a hassle to
> explicitly put a free license on this?
As you thought, we intended to make the code freely available. I have
updated the Web page with an appropriate licensing statement - is this
OK?
> Additionally, we were wondering if there was any chance of getting
> the actual finished funm code.
The code on the web page was what we produced during the project. The
code in MATLAB is based on refinements of that original code,
including new research results, but I don't have anything
distributable due to funm being copyrighted by The MathWorks. However,
I think it's true to say that the state of the art Schur-Parlett
algorithm is fully described in the union of my various papers - and
in particular in my book
http://www.maths.manchester.ac.uk/~higham/fm
It's not an easy task to produce an independent high quality funm. One
possibility you can consider is to use what you have currently for
Hermitian matrices and otherwise invoke the "poor man's" version
below, which is based on
http://dx.doi.org/10.1137/060659909
The behaviour of this method is not fully understood, but the method
can be justified based on backward error considerations. (Note I have
quickly coded up the M-file below and not thoroughly tested it.)
Regards,
---Nick Higham
-------------------------------
function F = funm_davi07(A,fun)
%FUNM_DAVI07 Poor man's version of FUNM based on Davis (2007).
tol = 1e-15; % Adjust to taste.
[V,D] = eig(A + tol*randn(size(A)));
F = V*diag(feval(fun,diag(D)))/V;
% For quick text:
% fun = @exp;A = rand(6)^4; F = funm_davi07(A,fun); FX=funm(A,fun);
norm(F-FX,1)/norm(FX,1)
- matrix functions, CdeMills, 2010/12/21
- Re: matrix functions, Bård Skaflestad, 2010/12/21
- Re: matrix functions, CdeMills, 2010/12/21
- Re: matrix functions, Jordi Gutiérrez Hermoso, 2010/12/21
- Re: matrix functions, Bård Skaflestad, 2010/12/21
- Re: matrix functions, Bård Skaflestad, 2010/12/21
- Re: matrix functions, Philip Nienhuis, 2010/12/21
- Re: matrix functions, Jordi Gutiérrez Hermoso, 2010/12/22
- Re: matrix functions, Philip Nienhuis, 2010/12/22
- Re: matrix functions, Miroslaw Kwasniak, 2010/12/28
- Re: matrix functions,
Jordi Gutiérrez Hermoso <=