LAPACK Archives

[Lapack] question about ZHGEQZ for 2x2 block

Hi Rodney,

Thanks to look into the problem. But I am not sure whether the exceptional
shift will help. This is the reason why I am asking question for the 2x2

Best Regards!
Peng HongBo

From:   "James, Rodney" <RODNEY.JAMES@Domain.Removed>
To:     Hong Bo Peng/China/IBM at IBMCN,
Cc:     "lapack@Domain.Removed" <lapack@Domain.Removed>
Date:   11/01/2012 07:42
Subject:        Re: [Lapack] question about ZHGEQZ for 2x2 block

Dear Hong Bo,

Thank you for reporting this problem with ZGGEV.  I investigated this a
bit, and generalized the simple example that demonstrates the problem as

Let n=3 and set A to be the identity, and B be the identity with "x" in the
first superdiagonal and first subdiagonal elements.  The generalized
eigenvalue problem for (A,B) has eigenvalues { 1, 1/(1-x), 1/(1+x) }.

I tested xGGEV on this real problem for x=10^(-k), with k=1, ..., 20.  The
real versions (S,D) always converged, but the complex versions (C,Z) failed
for a range of values.  The single precision complex fails to converge for
x= 10^-4, 10^-5, and 10^-6, but converges for values outside that range.
The double precision complex fails for a wider range, x = 10^-8 through
10^-15, and converges otherwise.

I am not sure why this is happening, but the real and complex versions are
somewhat different.  In particular, the shift strategies are quite
different.  It is possible that the exceptional shift used in the complex
version just does not work for this test case.



On Oct 26, 2012, at 3:55 AM, Hong Bo Peng <penghb@Domain.Removed> wrote:


I am working on GGEV code. But I found ZGGEV failed to converge in one
sample. I found it is similar to what has been reported in this
mailing-list. Do we have any update for this problem?

With more debug print output, I think ZHGEQZ failed to converge because
it can't get eigenvalue for the 2x2 block. There is a difference between
DHGEQZ and ZHGEQZ.  DHGEQZ has special code to handle the 2x2 block but
ZHGEQZ doesn't. Is there any special consideration about this in C/ZHGEQZ?
As what I found in debug output, the implicit sweep doesn't change the 2x2
block (H is 2x2 and T is 2x2 upper triangular) even with exceptional shift.
So it failed to converge.

Best Regards!
Peng HongBo

Lapack mailing list

-------------- next part --------------
An HTML attachment was scrubbed...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graycol.gif
Type: image/gif
Size: 105 bytes
Desc: not available
Url :

<Prev in Thread] Current Thread [Next in Thread>

For additional information you may use the LAPACK/ScaLAPACK Forum.
Or one of the mailing lists, or