help-octave
[Top][All Lists]
Advanced

[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)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]