aboutsummaryrefslogtreecommitdiff
path: root/SRC/chgeqz.f
diff options
context:
space:
mode:
authorjames <james@8a072113-8704-0410-8d35-dd094bca7971>2012-04-23 23:16:24 +0000
committerjames <james@8a072113-8704-0410-8d35-dd094bca7971>2012-04-23 23:16:24 +0000
commitf5cdededb32ba1e5cbff702d1b028d76605d9e51 (patch)
treeb49c447e0a0a2abe1d447c68864bf5bb4e689565 /SRC/chgeqz.f
parent99af1a44a9e87a4a1b0b11d343835a79a52b0697 (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.f3
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
*