diff options
author | james <james@8a072113-8704-0410-8d35-dd094bca7971> | 2012-04-23 23:16:24 +0000 |
---|---|---|
committer | james <james@8a072113-8704-0410-8d35-dd094bca7971> | 2012-04-23 23:16:24 +0000 |
commit | f5cdededb32ba1e5cbff702d1b028d76605d9e51 (patch) | |
tree | b49c447e0a0a2abe1d447c68864bf5bb4e689565 /SRC/chgeqz.f | |
parent | 99af1a44a9e87a4a1b0b11d343835a79a52b0697 (diff) |
modified exceptional shift for complex versions - solves problem of nan's appearing on some platforms, most notably IBM/XLF, causing an infinite loop in xLARTG (which also should be fixed by enforcing a max iteration count when computing SCALE)
Diffstat (limited to 'SRC/chgeqz.f')
-rw-r--r-- | SRC/chgeqz.f | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/SRC/chgeqz.f b/SRC/chgeqz.f index d4dc7695..3209c2c9 100644 --- a/SRC/chgeqz.f +++ b/SRC/chgeqz.f @@ -743,7 +743,8 @@ * * Exceptional shift. Chosen for no particularly good reason. * - ESHIFT = ESHIFT + H(ILAST,ILAST-1)/T(ILAST-1,ILAST-1) + ESHIFT = ESHIFT + (ASCALE*H(ILAST,ILAST-1))/ + $ (BSCALE*T(ILAST-1,ILAST-1)) SHIFT = ESHIFT END IF * |