igor175 [Sat, 10 Nov 2012 03:33:51 +0000 (03:33 +0000)]
fixed a typo in a comment in (c,z)lahef_rook.f
igor175 [Sat, 10 Nov 2012 02:33:57 +0000 (02:33 +0000)]
added clahef_rook.f and zlahef_rook.f
igor175 [Thu, 8 Nov 2012 23:23:15 +0000 (23:23 +0000)]
fixed a typo in a commnet in (c,z)lahef.f
igor175 [Thu, 8 Nov 2012 21:53:21 +0000 (21:53 +0000)]
(s,d,c,z)lasyf.f and (c,z)lahef.f: added comments to the part where a column or 2 columns are updated at each step
igor175 [Sat, 3 Nov 2012 00:53:08 +0000 (00:53 +0000)]
fixed comments in (s,d,c,z)lasyf.f and (c,z)lahef.f
igor175 [Fri, 2 Nov 2012 04:26:02 +0000 (04:26 +0000)]
updated comments for interchage of rows and columns in (s,d,c,z)lasyf.f and (c,z)lagef.f
igor175 [Fri, 2 Nov 2012 03:02:56 +0000 (03:02 +0000)]
Changed comment in (sdcz)lasyf.f and (cz)lahef.f about interchanges for 2x2 pivot
igor175 [Fri, 2 Nov 2012 02:00:52 +0000 (02:00 +0000)]
(s,d,c,z)lasyf.f: introduced from zlahef.f a more efficient version of the code that interchanges row and columns -- 1) for 'L' version: eliminated unnecessary copying to elemnents in cols. K (K and K+1 for 2x2 pivot) that later on will be overwritten by storing L(k) ( L(k) and L(k+1) for 2x2 pivot ) into these cols. 2) for 'U' version: eliminated unnecessary copying to elemnents in cols. K (K and K-1 for 2x2 pivot) that later on will be overwritten by storing L(k) ( L(k)and L(k-1) for 2x2 pivot ) into these cols.
igor175 [Fri, 2 Nov 2012 00:44:17 +0000 (00:44 +0000)]
updated comments in (c,z)lahef.f for column interchange
igor175 [Thu, 1 Nov 2012 22:51:10 +0000 (22:51 +0000)]
(c,z)lahef.f: Changed the length of the swap vector from KK-1 to K-1 for the 'L' case and from N-KK to N-K for the 'U' case. It is sufficient to swap rows KK and KP only in the first K-1 columns of A instead of in the first KK-1 columns of A in 'L' case (columns K (or K and K+1) of A will be later overwritten). It is sufficient to swap rows KK and KP only in the last K+1 to N columns of A instead of in the last KK+1 to N columns of A in the 'U' case (columns K (or K and K-1) of A will be later overwritten).
igor175 [Thu, 1 Nov 2012 19:37:46 +0000 (19:37 +0000)]
fixesd inconsistencies between 'L' and 'U' parts in (z,c)lahef.f, added an IF check to 'U' part IF(KP.GT.1) where column interchange occurs
igor175 [Tue, 30 Oct 2012 23:57:03 +0000 (23:57 +0000)]
fixes to comments in *zlasyf_rook.f
igor175 [Mon, 29 Oct 2012 18:49:49 +0000 (18:49 +0000)]
fixes to comments in *lasyf_rook.f
igor175 [Mon, 29 Oct 2012 18:30:30 +0000 (18:30 +0000)]
fixes to comments in *lasyf_rook.f
james [Sat, 27 Oct 2012 15:13:36 +0000 (15:13 +0000)]
removed extra characters after ZERO
julie [Fri, 26 Oct 2012 05:04:09 +0000 (05:04 +0000)]
Add xlacn2 for PLASMA team
igor175 [Thu, 25 Oct 2012 22:25:22 +0000 (22:25 +0000)]
fixes to documentation in clahef.f and zlahef.f
igor175 [Thu, 25 Oct 2012 22:12:12 +0000 (22:12 +0000)]
fixes to comments in *lasyf_rook.f
igor175 [Thu, 25 Oct 2012 21:48:07 +0000 (21:48 +0000)]
fixes to documentation in *lasyf.f, *lasyf_rook.f
james [Fri, 19 Oct 2012 21:45:55 +0000 (21:45 +0000)]
patch from Mathworks that fixes convergence problem with some particular pencils in xGGEV
james [Thu, 11 Oct 2012 18:19:31 +0000 (18:19 +0000)]
* added check for NaN after the norm of each block of H is computed
* if NaN is detected, returns with INFO=-6 (H is the 6th parameter)
* fixes problem found by Alexander Kobotov at Intel where a NaN in H can cause an infinite loop:
http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=3928
julie [Mon, 8 Oct 2012 21:12:36 +0000 (21:12 +0000)]
Simplify description of workspace requirement
Reported by Simon on Oct 8th on LAPACK forum : http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=2&t=3951
The size of the workspace for DGESDD for JOBZ = 'S' or 'A' has been changed in LAPACK 3.4.2, and is set by LWORK. The current description of LWORK reads:
LWORK >= 3*min(M,N) +
max(max(M,N),4*min(M,N)*min(M,N)+3*min(M,N)+max(M,N)).
In the second line, both arguments of max contain max(M,N), and so the the function is redundant - the second argument will always be realised.
So the description could be simplified to:
LWORK >= 3*min(M,N) +
4*min(M,N)*min(M,N)+3*min(M,N)+max(M,N)
or further simplified to
LWORK >= min(M,N)*(6+4*min(M,N))+max(M,N)
julie [Tue, 25 Sep 2012 23:56:27 +0000 (23:56 +0000)]
julie [Sat, 22 Sep 2012 03:33:49 +0000 (03:33 +0000)]
julie [Fri, 21 Sep 2012 15:48:46 +0000 (15:48 +0000)]
julie [Fri, 21 Sep 2012 02:21:29 +0000 (02:21 +0000)]
james [Thu, 20 Sep 2012 14:41:07 +0000 (14:41 +0000)]
james [Tue, 18 Sep 2012 01:14:38 +0000 (01:14 +0000)]
james [Sat, 8 Sep 2012 23:02:04 +0000 (23:02 +0000)]
james [Thu, 6 Sep 2012 03:38:21 +0000 (03:38 +0000)]
james [Thu, 6 Sep 2012 03:34:54 +0000 (03:34 +0000)]
julie [Wed, 29 Aug 2012 16:08:30 +0000 (16:08 +0000)]
james [Tue, 28 Aug 2012 14:29:34 +0000 (14:29 +0000)]
julie [Sat, 25 Aug 2012 22:58:53 +0000 (22:58 +0000)]
julie [Sat, 25 Aug 2012 22:27:13 +0000 (22:27 +0000)]
julie [Sat, 25 Aug 2012 22:24:59 +0000 (22:24 +0000)]
Add ilaver to LAPACKE
james [Fri, 24 Aug 2012 00:32:54 +0000 (00:32 +0000)]
julie [Wed, 22 Aug 2012 14:58:21 +0000 (14:58 +0000)]
james [Wed, 22 Aug 2012 02:23:49 +0000 (02:23 +0000)]
julie [Tue, 21 Aug 2012 05:09:38 +0000 (05:09 +0000)]
Correct typo found by Elena Ivanova, Oracle.
See http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=3612
james [Sat, 18 Aug 2012 22:01:21 +0000 (22:01 +0000)]
Corrected bug that occurs when V is stored in backwards order: previously, the scan for zero rows or columns at the _end_ of V can result in the trunctation of the unit triangular part of V. The correction replaces the LASTV in the DIRECT='B' cases with the full length, which is either M or N, which then keeps the full K-by-K unit triangular portion of V. Another approach, which could be applied in a future revision, is to add new routines to compute the first non-zero row and non-zero column of a matrix, and store this index in FIRSTV, and run the loops and matrix multiplications from FIRSTV:M and FIRSTV:N where appropriate.
james [Sat, 18 Aug 2012 21:45:06 +0000 (21:45 +0000)]
reverting to previous version, which is correct
james [Fri, 17 Aug 2012 00:53:59 +0000 (00:53 +0000)]
fixed logic error that corrects bug found by Duncan Po at Mathworks
julie [Fri, 10 Aug 2012 17:32:23 +0000 (17:32 +0000)]
Correct comments and Doxygen generation following comments from Sa-Lin Cheng Bernstein sent to lapack mailing list on August 9th 2012
While looking at the new lapack version (v3.4.1) and going through the routines on http://www.netlib.org/lapack/lapack_routine/, we found some errors and thought that we should report them. Below is the list of the errors.
====================================================================
(1) Should be "\ingroup complex16OTHERsolve" and not "\ingroup complex16OTHERcomputational" because they are driver routines; in addition, in the line just below SUBROUTINE <routinename>, it should be driver routine:
sgtsv.f
sgtsvx.f
sptsv.f
sptsvx.f
dgtsv.f
dgtsvx.f
dptsv.f
dptsvx.f
cgtsv.f
cgtsvx.f
cptsv.f
cptsvx.f
zgtsv.f
zgtsvx.f
zptsv.f
zptsvx.f
(2) Should be "\ingroup complex16SYsolve" and not "\ingroup complex16OTHERcomputational" because they are driver routines; in addition, in the line just below SUBROUTINE <routinename>, it should be driver routine:
ssysvxx.f
dsysvxx.f
(3) Should be "\ingroup realOTHERcomputational" and not ""\ingroup auxOTHERcomputational":
spttrf.f
(4) Should be "\ingroup doubleOTHERcomputational" and not ""\ingroup auxOTHERcomputational":
dpttrf.f
(5) Should be "symmetric matrix" and not "Hermitian indefinite matrix" in "\par Purpose:"
ssytri2.f
dsytri2.f
csytri2.f
zsytri2.f
(6) Should be "\ingroup realGEsing" and not "\ingroup realGEcomputational":
sgejsv.f
dgejsv.f
langou [Thu, 9 Aug 2012 15:49:47 +0000 (15:49 +0000)]
Correct comments in
SRC/sgeev.f
SRC/dgeevx.f
SRC/dgeev.f
SRC/sgeevx.f
Reported by Konstantinos Kafoysas (Beta CAE Systems S.A., Greece) on Thu Aug
9th, 2012 through LAPACK mailing list.
> In the comments of dgeev function
>
> * The left eigenvector u(j) of A satisfies
> * u(j)**T * A = lambda(j) * u(j)**T
> * where u(j)**T denotes the transpose of u(j).
>
> u is supposed to satisfy u(j)**H * A = lambda(j) * u(j)**H
julie [Fri, 3 Aug 2012 18:17:41 +0000 (18:17 +0000)]
error in comment detected by Mathieu (PLASMA)
Routine affected: [CZ]HEGST et [CZ]HEGS2,
B is IN in comment, but in the code, B is actually changed, but after restored.
Here is the code portion that is to blame. [CZ]HEGS2
00203 IF( K.LT.N ) THEN
00204 CALL ZDSCAL( N-K, ONE / BKK, A( K, K+1 ), LDA )
00205 CT = -HALF*AKK
00206 CALL ZLACGV( N-K, A( K, K+1 ), LDA )
00207 CALL ZLACGV( N-K, B( K, K+1 ), LDB )
00208 CALL ZAXPY( N-K, CT, B( K, K+1 ), LDB, A( K, K+1 ),
00209 $ LDA )
00210 CALL ZHER2( UPLO, N-K, -CONE, A( K, K+1 ), LDA,
00211 $ B( K, K+1 ), LDB, A( K+1, K+1 ), LDA )
00212 CALL ZAXPY( N-K, CT, B( K, K+1 ), LDB, A( K, K+1 ),
00213 $ LDA )
00214 CALL ZLACGV( N-K, B( K, K+1 ), LDB )
00215 CALL ZTRSV( UPLO, 'Conjugate transpose', 'Non-unit',
00216 $ N-K, B( K+1, K+1 ), LDB, A( K, K+1 ),
00217 $ LDA )
00218 CALL ZLACGV( N-K, A( K, K+1 ), LDA )
julie [Fri, 27 Jul 2012 06:42:44 +0000 (06:42 +0000)]
Commit Brian Sutton new CS Decomposition routines.
All the routines from the SRC folder have been updated to integrate the current Doxygen layout.
Everything seems to be fine, all tests passed without problem.
james [Tue, 17 Jul 2012 13:15:40 +0000 (13:15 +0000)]
added NaN check to prevent NaN's from being skipped in accumulation
james [Mon, 16 Jul 2012 14:21:07 +0000 (14:21 +0000)]
matrix norms now consistently return nan when input matrix contains a nan;
previously, this was (usually) only the case for the 'F' norm
julie [Fri, 13 Jul 2012 17:12:37 +0000 (17:12 +0000)]
Add make.in for pgf95 compiler
julie [Wed, 4 Jul 2012 02:53:38 +0000 (02:53 +0000)]
Correct bug0096 reported by Joseph Young from Sandia.
Followed recommendation, use the existing sorting code.
Report sent to LAPACK mailing list on June 26th 2012
From Joseph:
> There appears to be an inconsistency and possible bug in the dstemr
> implementation. When calculating the eigenvalues of a matrix, the
> returned eigenvalues are supposed to be returned in ascending order.
> Although this appears to be the case for N >= 3, it does not appear to
> be the case for N=2. I believe this happens because the dstemr routine
> has special cases for N=0,1, and 2, which immediately return after their
> computation. Because these cases return immediately, they do not call
> the sorting routines around line 723 (in LAPACK version 3.4.1). As
> such, a simple fix would be to have the N=2 case call this sorting code
> rather than returning.
julie [Tue, 3 Jul 2012 04:39:13 +0000 (04:39 +0000)]
Add Brief description for auxiliary routines
james [Fri, 29 Jun 2012 11:47:00 +0000 (11:47 +0000)]
Added fix to prevent dividing by T when T=0 provided by Alexander Kobotov of Intel.
julie [Tue, 22 May 2012 00:55:21 +0000 (00:55 +0000)]
Correct a problem reported by Keita Teranishi from CRAY on May 18th 2012
Confirmed and Corrected by Julie on May 21st 2012
====================================
EMAIL:
We would like to report a bug in {S,D}SYEVR and {C,Z}HEEVR routines. This bug causes writing two different data in the same address in IWORK, potentially producing wrong answers.
The bug description is provided in the bottom of the email. Please let us know, if you have any questions.
Thank you,
Line 543 in {S,D}SYEVR:
Line 717 on {C,Z}HEEVR:
=== Code Starts here==
INDISP = INDIBL + N
* IWORK(INDIFL:INDIFL+N-1) stores the indices of eigenvectors
* that corresponding to eigenvectors that fail to converge in
* DSTEIN. This information is discarded; if any fail, the driver
* returns INFO > 0.
INDIFL = INDISP + N
* INDIWO is the offset of the remaining integer workspace.
INDIWO = INDISP + N <- -- It is suspicious.
=====End of the Code=========
I think this should be INDIWO = INDIFL+N. Otherwise, subsequent {S,D}STEIN call takes the same address for IWORK(INDIWO) and INWROK(INDIFL).
CALL DSTEIN( N, WORK( INDD ), WORK( INDE ), M, W,
$ IWORK( INDIBL ), IWORK( INDISP ), Z, LDZ,
$ WORK( INDWK ), IWORK( INDIWO ), IWORK( INDIFL ),
$ INFO )
====================================
james [Wed, 16 May 2012 19:44:39 +0000 (19:44 +0000)]
added missing comma, thanks to Lee Killough at ANL
julie [Mon, 14 May 2012 18:34:22 +0000 (18:34 +0000)]
Correct a minor problem in comments sent by Alexander Kobotov
One more minor notice:
- In sgsvj0.f and sgsvk1.f: EPS and SFMIN become INTEGER in description whereas these are actually REAL.
julie [Sat, 12 May 2012 00:51:25 +0000 (00:51 +0000)]
Fix lange routine.
/* Allocate memory for working array(s) */
if( LAPACKE_lsame( norm, 'e' ) || LAPACKE_lsame( norm, 'f' ) ) {
work = (double*)LAPACKE_malloc( sizeof(double) * MAX(1,m) );
if( work == NULL ) {
info = LAPACK_WORK_MEMORY_ERROR;
goto exit_level_0;
}
}
This is wrong, it is actually the opposite. Only the inf norm needs a workspace.
Thanks Mathieu for catching this!
julie [Thu, 26 Apr 2012 13:22:53 +0000 (13:22 +0000)]
Commit patch sent by Sébastien Fabbro to enable LAPACKE built without LAPACK.
The patch has been modified a little by Julie as there were some minors problems.
This also fix the BUILD_TESTING=OFF option problem reported by Marcin on lapack mailing list.
From Sébastien:
Here is a patch to compile lapacke with CMake using an already
existing optimized lapack library instead of forcing the build of the
included one in the tar ball. It applies to the latest lapack svn
trunk.
julie [Wed, 25 Apr 2012 20:35:07 +0000 (20:35 +0000)]
Update CMAKE version requirement and remove FindBLAS module that is now include inside CMAKE
julie [Wed, 25 Apr 2012 06:51:09 +0000 (06:51 +0000)]
Minor modification for ctest build template
julie [Wed, 25 Apr 2012 05:14:31 +0000 (05:14 +0000)]
Fix small problem detected by user Yao Toa. sent to the LAPACK mailing list on April 23th 2012
It seems that this one has been around forever
============
hi.
i found a subtle difference between dsyevd.f and ssyevd.f when using lapack 3.4.1.
dsyevd updates LOPT after calling dsytrd and dlacpy. but those codes are not visible in ssyevd.f, cheevd.f and zheevd.f.
pls refer to line 329, 344 in dsyevd.f.
i wonder whether those codes are necessary, because dsyevd has precalculated LOPT with at least 1+6*N+2*N**2.
if those codes must be there, why not for ssyevd?
thanks in advance.
Yao Tao
james [Mon, 23 Apr 2012 23:16:24 +0000 (23:16 +0000)]
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)
julie [Mon, 23 Apr 2012 21:33:19 +0000 (21:33 +0000)]
Fix problems in comments found by Alexander Kobotov
Just taking a quick look on the new release I noticed some minor issues there, which probably caused by a generation script:
- If you explore diff for files (c/z)gbrfsx, cgbsvx, cgbsvxx, cheequb, clanhf, zheequb you could find that number of datatype descriptions in documentation were changed to incorrect one (DOUBLE PRECISION instead of COMPLEX, or COMPLEX*16 instead of just COMPLEX).
+ cunbdb has CMPLX instead of COMPLEX for X12 parameter.
+ zggevx RWORK become REAL instead of correct DOUBLE PRECISION
- Number of files got following string "/ output)", which seems meaningless. Just grep for it.
julie [Fri, 20 Apr 2012 19:08:58 +0000 (19:08 +0000)]
Fix XLF flags that were causing test zgg to hang
james [Thu, 19 Apr 2012 15:30:39 +0000 (15:30 +0000)]
put FOUR parameter back since it is used in this routine
julie [Wed, 18 Apr 2012 19:09:31 +0000 (19:09 +0000)]
rearrange the test (Julien prefers it that way)
julie [Wed, 18 Apr 2012 16:37:50 +0000 (16:37 +0000)]
Update date and revision number
julie [Wed, 18 Apr 2012 16:35:07 +0000 (16:35 +0000)]
Correct bug sent by NAG people
Got a new bug for you! Mick Pont found this problem in DLAED6. The code in question is the 40 loop - when DSCALE(I)=TAU you get a divide by zero (rare in practice). This can cause some compilers to immediately stop, e.g. the Sun compiler.
Mick proposed solution is below:
DO 40 I = 1, 3
IF (DSCALE( I ).NE.TAU) THEN
TEMP = ONE / ( DSCALE( I )-TAU )
TEMP1 = ZSCALE( I )*TEMP
TEMP2 = TEMP1*TEMP
TEMP3 = TEMP2*TEMP
TEMP4 = TEMP1 / DSCALE( I )
FC = FC + TEMP4
ERRETM = ERRETM + ABS( TEMP4 )
DF = DF + TEMP2
DDF = DDF + TEMP3
ELSE
* On rare occasions dscale(i) can be exactly equal to
* tau, leading to division by zero. If no trap occurs,
* there is no problem; the quantities above all overflow
* and the test on abs(f) below sends you to the end
* with good results. If a trap occurs, though, the
* user program will stop. Avoid that happening by
* jumping directly out.
GO TO 60
END IF
40 CONTINUE
This seems to work OK in our testing.
james [Tue, 17 Apr 2012 17:26:31 +0000 (17:26 +0000)]
modified exceptional shift strategy so that QZ now works for various pencils (see netlib.org/lapack/Errata/vrac/lapack_known_issues.html)
julie [Fri, 13 Apr 2012 18:22:32 +0000 (18:22 +0000)]
Update version number
julie [Thu, 12 Apr 2012 23:06:02 +0000 (23:06 +0000)]
Fix small issue with lapacke built
julie [Thu, 12 Apr 2012 21:07:52 +0000 (21:07 +0000)]
Add -qnosave option for xlf compiler (Thanks Rodney)
julie [Thu, 12 Apr 2012 00:56:00 +0000 (00:56 +0000)]
Follow up to rev r1130
Fix bug bug0088 reported by Mike Pont from NAG on the forum
(see http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=2893)
Actually there were a lot of problems regarding arguments checking.
I tried to correct most of them.
Apply the fix propose to all x[he/sy]rfsx.f routines
- Use IGNORE_CWISE as suggested to prevent use of unitialize variable PARAMS
I also appied the previous TESTING fix to all routines
INFO has new value in ZHERFSX (see description of INFO between ZHESVX and ZHESVXX)
This is set on line 634 (IF ( INFO .LE. N ) INFO = N + J) of zherfsx.f
And this is not handled by the testing LIN/zdrvhex.f
I just add .AND. INFO.LE.N at line 638 to avoid raising an error when INFO = N + J
At the moment, I would recommand a further look at those routines.
ZHE, ZSY led to 182 Tests failing to pass the threshold
and the same for complex
better than before, but still....
james [Wed, 11 Apr 2012 23:08:06 +0000 (23:08 +0000)]
removed comment regarding A being modified and restored - this is no longer the case with the changes made to xLARFT
julie [Wed, 11 Apr 2012 20:16:24 +0000 (20:16 +0000)]
Remove unused variables
julie [Wed, 11 Apr 2012 19:43:59 +0000 (19:43 +0000)]
Remove unused parameters
james [Wed, 11 Apr 2012 01:50:07 +0000 (01:50 +0000)]
added code to handle N=1 case to fix divide by zero problem that occurs
when the single (diagonal) element is negative
see: http://icl.cs.utk.edu/lapack-forum/archives/lapack/msg01195.html
julie [Tue, 10 Apr 2012 20:59:35 +0000 (20:59 +0000)]
Fix call to GEMQRT (no lwork) and lwork declarations
julie [Tue, 10 Apr 2012 20:21:27 +0000 (20:21 +0000)]
Fix External Subroutines declarations
julie [Thu, 5 Apr 2012 05:47:38 +0000 (05:47 +0000)]
Add the python script for LAPACK Summary output to CTEST
james [Thu, 5 Apr 2012 02:53:32 +0000 (02:53 +0000)]
changed SVD test threshold to 50.0 and removed SEP test for matrix type 9 so that all tests pass
james [Tue, 3 Apr 2012 18:11:13 +0000 (18:11 +0000)]
changed weights so that the badly conditioned tests (which always fail) are avoided for SXV, DXV, CXV, ZXV.
james [Tue, 3 Apr 2012 15:29:34 +0000 (15:29 +0000)]
Fix provided by Hong Bo Peng for bug0026
julie [Mon, 2 Apr 2012 21:58:34 +0000 (21:58 +0000)]
Undoing unvoluntary change commited in 1237
julie [Mon, 2 Apr 2012 21:44:14 +0000 (21:44 +0000)]
julie [Thu, 22 Mar 2012 22:55:22 +0000 (22:55 +0000)]
Following Mathieu's request, some part of lapacke.h were moved to lapacke_utils.h
(the definition of ABS, MAX, MIN, etc...)
Those were conflicting with PLASMA internal definitions.
LAPCKE Routines are now just including lapacke_utils.h which in turn includes lapacke.h
julie [Thu, 22 Mar 2012 02:05:18 +0000 (02:05 +0000)]
Correct problem in Workspace calculation
julie [Tue, 20 Mar 2012 21:31:07 +0000 (21:31 +0000)]
Correct bug 0090 Need to unscale if necessary when there is an error in DHGEQZ (QZ iteration failed)
* bug report by Hong Bo Peng Sandgren, on 03-19-2012.
* See link:http://icl.cs.utk.edu/lapack-forum/archives/lapack/msg01257.html[LAPACK Mailing list msg 01257]
I am doing some work with DGGEV. When I check the return msg and the actual code, I found something may be wrong. Here is part of comments in the header of DGGEV.F.
* INFO (output) INTEGER
* = 0: successful exit
* < 0: if INFO = -i, the i-th argument had an illegal value.
* = 1,...,N:
* The QZ iteration failed. No eigenvectors have been
* calculated, but ALPHAR(j), ALPHAI(j), and BETA(j)
* should be correct for j=INFO+1,...,N.
* > N: =N+1: other than QZ iteration failed in DHGEQZ.
* =N+2: error return from DTGEVC.
When INFO = 1...N, there is an error in DHGEQZ (QZ iteration failed). From the code, we can see it jumps to label 110 then set WORK(1) and return.
But in case of we scaled the matrix, we still need to undo scale for the output array ALPHAR, ALPHAI and BETA for those values j=INFO+1,...,N.
In DGEEVX, we can see that it jumps to label 50 in case of DHSEQR failure and then undo scale before return.
julie [Tue, 20 Mar 2012 04:23:55 +0000 (04:23 +0000)]
Add csyr and zsyr needed by the PLASMA project
james [Thu, 23 Feb 2012 19:34:36 +0000 (19:34 +0000)]
modified so that V is [in] only instead of [in/out]
julie [Fri, 17 Feb 2012 17:23:57 +0000 (17:23 +0000)]
Change CMAKE configuration for LAPACKE
CMAKE now can find the Fortran Mangling automatically (no need of extra flags)
with the module FortranCInterface and create the necessary header.
Needed to make some adjustements with the routine name.
Added a file lapacke_mangling_with_flags.h that is used with Makefile build
lapacke.h now requires lapacke_mangling.h
- the file is created by CMAKE if CMAKE is used
- the file is copied from lapacke_mangling_with_flags if Makefile is used
julie [Thu, 26 Jan 2012 19:59:40 +0000 (19:59 +0000)]
Fix Makefile in LIN
julie [Sat, 21 Jan 2012 13:48:21 +0000 (13:48 +0000)]
Fix Typo
james [Fri, 20 Jan 2012 15:12:13 +0000 (15:12 +0000)]
Fixed problem with optimizer breaking error checking, now using F90 EPSILON intrinsic.
Thanks to Harald Anlauf for providing the solution.
james [Fri, 20 Jan 2012 03:06:12 +0000 (03:06 +0000)]
replaced calculation of EPS with F90 call to EPSILON intrinsic
julie [Thu, 19 Jan 2012 15:16:39 +0000 (15:16 +0000)]
Update CMAKE build
james [Wed, 18 Jan 2012 22:38:18 +0000 (22:38 +0000)]
Fixed QRT routine testing
langou [Tue, 17 Jan 2012 04:46:18 +0000 (04:46 +0000)]
typo
igor175 [Thu, 12 Jan 2012 23:05:35 +0000 (23:05 +0000)]
added a comment to *chksy_rook.f
igor175 [Thu, 12 Jan 2012 07:52:50 +0000 (07:52 +0000)]
introduced CALL XLAENV( 2, 2 ) in zchksy.f and cchksy.f in order to make them uniform with schksy.f and dchksy.f and *chksy_rook (it was discussed with Julien in an email)