[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Generalised Eigenvalue of complex matrices - Help!!
From: |
Stefan van der Walt |
Subject: |
Re: Generalised Eigenvalue of complex matrices - Help!! |
Date: |
Wed, 20 Jul 2005 10:25:22 +0200 |
User-agent: |
Mutt/1.5.9i |
On Tue, Jul 19, 2005 at 09:26:06PM -0400, Paul Kienzle wrote:
> I wrote some docs on this in the wiki:
>
> http://wiki.octave.org/wiki.pl?OctaveFortran
>
> In the declaration you need two F77_CHAR_ARG_LEN_DECL at the end (no
> commas around them).
Thanks, I added those.
> Are you sure work_length is a Complex in your first call?
The definition for that argument is
* WORK (workspace/output) COMPLEX*16 array, dimension (LWORK)
* On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
Would it be safe to pass anything but a Complex?
> The wiki page doesn't mention f77_exception_encountered, except in the
> example. Note that qz doesn't always use f77_exception_encountered,
> and I'm not sure why. From a brief glance at the code in
This looks like a bug. The comment in f77-fcn.h for F77_XFCN says:
/* This can be used to call a Fortran subroutine that might call
XSTOPX. XSTOPX will call lonjmp with current_context. Once back
here, we'll restore the previous context and return. We may also
end up here if an interrupt is processed when the Fortran
subroutine is called. In that case, we resotre the context and go
to the top level. The error_state should be checked immediately
after this macro is used. */
Is the 'error_state' that this comment refers to
'f77_exception_encountered' or the normal Octave 'error_state'? It
sounds to me like one should rather check 'error_state'. I've noted,
however, that even if an error_state is detected, subsequent calls to
'error' don't have any effect.
How does one know when a Fortran routine might call XSTOPX?
I attach the new version. This version also allows for the
calculation of the eigenvectors.
Regards
Stéfan
gev.cc
Description: Text Data