platform/upstream/lapack.git
11 years ago* added check for NaN after the norm of each block of H is computed
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

11 years agoSimplify description of workspace requirement
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)

11 years ago(no commit message)
julie [Tue, 25 Sep 2012 23:56:27 +0000 (23:56 +0000)]

11 years ago(no commit message)
julie [Sat, 22 Sep 2012 03:33:49 +0000 (03:33 +0000)]

11 years ago(no commit message)
julie [Fri, 21 Sep 2012 15:48:46 +0000 (15:48 +0000)]

11 years ago(no commit message)
julie [Fri, 21 Sep 2012 02:21:29 +0000 (02:21 +0000)]

11 years ago(no commit message)
james [Thu, 20 Sep 2012 14:41:07 +0000 (14:41 +0000)]

11 years ago(no commit message)
james [Tue, 18 Sep 2012 01:14:38 +0000 (01:14 +0000)]

11 years ago(no commit message)
james [Sat, 8 Sep 2012 23:02:04 +0000 (23:02 +0000)]

11 years ago(no commit message)
james [Thu, 6 Sep 2012 03:38:21 +0000 (03:38 +0000)]

11 years ago(no commit message)
james [Thu, 6 Sep 2012 03:34:54 +0000 (03:34 +0000)]

11 years ago(no commit message)
julie [Wed, 29 Aug 2012 16:08:30 +0000 (16:08 +0000)]

11 years ago(no commit message)
james [Tue, 28 Aug 2012 14:29:34 +0000 (14:29 +0000)]

11 years ago(no commit message)
julie [Sat, 25 Aug 2012 22:58:53 +0000 (22:58 +0000)]

11 years ago(no commit message)
julie [Sat, 25 Aug 2012 22:27:13 +0000 (22:27 +0000)]

11 years agoAdd ilaver to LAPACKE
julie [Sat, 25 Aug 2012 22:24:59 +0000 (22:24 +0000)]
Add ilaver to LAPACKE

11 years ago(no commit message)
james [Fri, 24 Aug 2012 00:32:54 +0000 (00:32 +0000)]

11 years ago(no commit message)
julie [Wed, 22 Aug 2012 14:58:21 +0000 (14:58 +0000)]

11 years ago(no commit message)
james [Wed, 22 Aug 2012 02:23:49 +0000 (02:23 +0000)]

11 years agoCorrect typo found by Elena Ivanova, Oracle.
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

11 years agoCorrected bug that occurs when V is stored in backwards order: previously, the scan...
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.

11 years agoreverting to previous version, which is correct
james [Sat, 18 Aug 2012 21:45:06 +0000 (21:45 +0000)]
reverting to previous version, which is correct

11 years agofixed logic error that corrects bug found by Duncan Po at Mathworks
james [Fri, 17 Aug 2012 00:53:59 +0000 (00:53 +0000)]
fixed logic error that corrects bug found by Duncan Po at Mathworks

11 years agoCorrect comments and Doxygen generation following comments from Sa-Lin Cheng Bernstei...
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

11 years agoCorrect comments in
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

11 years agoerror in comment detected by Mathieu (PLASMA)
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 )

12 years agoCommit Brian Sutton new CS Decomposition routines.
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.

12 years agoadded NaN check to prevent NaN's from being skipped in accumulation
james [Tue, 17 Jul 2012 13:15:40 +0000 (13:15 +0000)]
added NaN check to prevent NaN's from being skipped in accumulation

12 years agomatrix norms now consistently return nan when input matrix contains a nan;
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

12 years agoAdd make.in for pgf95 compiler
julie [Fri, 13 Jul 2012 17:12:37 +0000 (17:12 +0000)]
Add make.in for pgf95 compiler

12 years agoCorrect bug0096 reported by Joseph Young from Sandia.
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.

12 years agoAdd Brief description for auxiliary routines
julie [Tue, 3 Jul 2012 04:39:13 +0000 (04:39 +0000)]
Add Brief description for auxiliary routines

12 years agoAdded fix to prevent dividing by T when T=0 provided by Alexander Kobotov of Intel.
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.

12 years agoCorrect a problem reported by Keita Teranishi from CRAY on May 18th 2012
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 )

====================================

12 years agoadded missing comma, thanks to Lee Killough at ANL
james [Wed, 16 May 2012 19:44:39 +0000 (19:44 +0000)]
added missing comma, thanks to Lee Killough at ANL

12 years agoCorrect a minor problem in comments sent by Alexander Kobotov
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.

12 years agoFix lange routine.
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!

12 years agoCommit patch sent by Sébastien Fabbro to enable LAPACKE built without LAPACK.
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.

12 years agoUpdate CMAKE version requirement and remove FindBLAS module that is now include insid...
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

12 years agoMinor modification for ctest build template
julie [Wed, 25 Apr 2012 06:51:09 +0000 (06:51 +0000)]
Minor modification for ctest build template

12 years agoFix small problem detected by user Yao Toa. sent to the LAPACK mailing list on April...
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

12 years agomodified exceptional shift for complex versions - solves problem of nan's appearing...
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)

12 years agoFix problems in comments found by Alexander Kobotov
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.

12 years agoFix XLF flags that were causing test zgg to hang
julie [Fri, 20 Apr 2012 19:08:58 +0000 (19:08 +0000)]
Fix XLF flags that were causing test zgg to hang

12 years agoput FOUR parameter back since it is used in this routine
james [Thu, 19 Apr 2012 15:30:39 +0000 (15:30 +0000)]
put FOUR parameter back since it is used in this routine

12 years agorearrange the test (Julien prefers it that way)
julie [Wed, 18 Apr 2012 19:09:31 +0000 (19:09 +0000)]
rearrange the test (Julien prefers it that way)

12 years agoUpdate date and revision number
julie [Wed, 18 Apr 2012 16:37:50 +0000 (16:37 +0000)]
Update date and revision number

12 years agoCorrect bug sent by NAG people
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.

12 years agomodified exceptional shift strategy so that QZ now works for various pencils (see...
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)

12 years agoUpdate version number
julie [Fri, 13 Apr 2012 18:22:32 +0000 (18:22 +0000)]
Update version number

12 years agoFix small issue with lapacke built
julie [Thu, 12 Apr 2012 23:06:02 +0000 (23:06 +0000)]
Fix small issue with lapacke built

12 years agoAdd -qnosave option for xlf compiler (Thanks Rodney)
julie [Thu, 12 Apr 2012 21:07:52 +0000 (21:07 +0000)]
Add -qnosave option for xlf compiler (Thanks Rodney)

12 years agoFollow up to rev r1130
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....

12 years agoremoved comment regarding A being modified and restored - this is no longer the case...
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

12 years agoRemove unused variables
julie [Wed, 11 Apr 2012 20:16:24 +0000 (20:16 +0000)]
Remove unused variables

12 years agoRemove unused parameters
julie [Wed, 11 Apr 2012 19:43:59 +0000 (19:43 +0000)]
Remove unused parameters

12 years agoadded code to handle N=1 case to fix divide by zero problem that occurs
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

12 years agoFix call to GEMQRT (no lwork) and lwork declarations
julie [Tue, 10 Apr 2012 20:59:35 +0000 (20:59 +0000)]
Fix call to GEMQRT (no lwork) and lwork declarations

12 years agoFix External Subroutines declarations
julie [Tue, 10 Apr 2012 20:21:27 +0000 (20:21 +0000)]
Fix External Subroutines declarations

12 years agoAdd the python script for LAPACK Summary output to CTEST
julie [Thu, 5 Apr 2012 05:47:38 +0000 (05:47 +0000)]
Add the python script for LAPACK Summary output to CTEST

12 years agochanged SVD test threshold to 50.0 and removed SEP test for matrix type 9 so that...
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

12 years agochanged weights so that the badly conditioned tests (which always fail) are avoided...
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.

12 years agoFix provided by Hong Bo Peng for bug0026
james [Tue, 3 Apr 2012 15:29:34 +0000 (15:29 +0000)]
Fix provided by Hong Bo Peng for bug0026

12 years agoUndoing unvoluntary change commited in 1237
julie [Mon, 2 Apr 2012 21:58:34 +0000 (21:58 +0000)]
Undoing unvoluntary change commited in 1237

12 years ago(no commit message)
julie [Mon, 2 Apr 2012 21:44:14 +0000 (21:44 +0000)]

12 years agoFollowing Mathieu's request, some part of lapacke.h were moved to lapacke_utils.h
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

12 years agoCorrect problem in Workspace calculation
julie [Thu, 22 Mar 2012 02:05:18 +0000 (02:05 +0000)]
Correct problem in Workspace calculation

12 years agoCorrect bug 0090 Need to unscale if necessary when there is an error in DHGEQZ (QZ...
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.

12 years agoAdd csyr and zsyr needed by the PLASMA project
julie [Tue, 20 Mar 2012 04:23:55 +0000 (04:23 +0000)]
Add csyr and zsyr needed by the PLASMA project

12 years agomodified so that V is [in] only instead of [in/out]
james [Thu, 23 Feb 2012 19:34:36 +0000 (19:34 +0000)]
modified so that V is [in] only instead of [in/out]

12 years agoChange CMAKE configuration for LAPACKE
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

12 years agoFix Makefile in LIN
julie [Thu, 26 Jan 2012 19:59:40 +0000 (19:59 +0000)]
Fix Makefile in LIN

12 years agoFix Typo
julie [Sat, 21 Jan 2012 13:48:21 +0000 (13:48 +0000)]
Fix Typo

12 years agoFixed problem with optimizer breaking error checking, now using F90 EPSILON intrinsic.
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.

12 years agoreplaced calculation of EPS with F90 call to EPSILON intrinsic
james [Fri, 20 Jan 2012 03:06:12 +0000 (03:06 +0000)]
replaced calculation of EPS with F90 call to EPSILON intrinsic

12 years agoUpdate CMAKE build
julie [Thu, 19 Jan 2012 15:16:39 +0000 (15:16 +0000)]
Update CMAKE build

12 years agoFixed QRT routine testing
james [Wed, 18 Jan 2012 22:38:18 +0000 (22:38 +0000)]
Fixed QRT routine testing

12 years agotypo
langou [Tue, 17 Jan 2012 04:46:18 +0000 (04:46 +0000)]
typo

12 years agoadded a comment to *chksy_rook.f
igor175 [Thu, 12 Jan 2012 23:05:35 +0000 (23:05 +0000)]
added a comment to *chksy_rook.f

12 years agointroduced CALL XLAENV( 2, 2 ) in zchksy.f and cchksy.f in order to make them unifor...
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)

12 years agoadded sdrvsy_rook.f cdrvsy_rook.f zdrvsy_rook.f to LIN/CMakeLists.txt
igor175 [Thu, 12 Jan 2012 07:30:43 +0000 (07:30 +0000)]
added sdrvsy_rook.f cdrvsy_rook.f zdrvsy_rook.f to LIN/CMakeLists.txt

12 years agosmall fixes, removed unused varibales in ddrvsy_rook.f zdrvsy_rook.f sdrvsy_rook.f
igor175 [Thu, 12 Jan 2012 07:16:18 +0000 (07:16 +0000)]
small fixes, removed unused varibales in  ddrvsy_rook.f zdrvsy_rook.f sdrvsy_rook.f

12 years agoadded a test for double precision complex SV driver for symmetric indefinite matrices...
igor175 [Thu, 12 Jan 2012 07:14:31 +0000 (07:14 +0000)]
added a test for double precision complex SV driver for symmetric indefinite matrices with rook pivoting

12 years agoadded a test for double precision complex SV driver for symmetric indefinite matrices...
igor175 [Thu, 12 Jan 2012 06:20:58 +0000 (06:20 +0000)]
added a test for double precision complex SV driver for symmetric indefinite matrices with rook pivoting

12 years agoAdd an option LAPACKE_WITH_TMG that will generate the LAPACKE with the TMG routines...
julie [Thu, 12 Jan 2012 01:46:17 +0000 (01:46 +0000)]
Add an option LAPACKE_WITH_TMG that will generate the LAPACKE with the TMG routines needed in plasma (by default regular LAPACKE with only LAPACK routines

12 years agoAdd the test for single precision driver routines for symmetric indefinite matrices...
julie [Thu, 12 Jan 2012 01:27:47 +0000 (01:27 +0000)]
Add the test for single precision driver routines for symmetric indefinite matrices with rook pivoting in CMAKE

12 years agoadded the test for single precision driver routines for symmetric indefinite matrices...
igor175 [Wed, 11 Jan 2012 23:53:07 +0000 (23:53 +0000)]
added the test for single precision driver routines for symmetric indefinite matrices with rook pivoting

12 years agoFix LAPACKE makefile to only include XBLAS routine if USEXBLAS is defined
julie [Wed, 11 Jan 2012 21:57:01 +0000 (21:57 +0000)]
Fix LAPACKE makefile to only include XBLAS routine if USEXBLAS is defined

12 years agoAdding CMAKE Support for LAPACKE.
julie [Tue, 10 Jan 2012 23:15:10 +0000 (23:15 +0000)]
Adding CMAKE Support for LAPACKE.
Now we can generate dll for LAPACK and LAPACKE directly for Mingw so that FORTRAN compiler is longer needed.
Because LAPACKE contains some routines from MATGEN (for PLASMA), LAPACKE will requires the tmglib library.

Add some LAPACK 3.4.0 routines were missing in the CMAKE LAPACK build.

12 years agoFix minor problem in some comments...
julie [Sun, 8 Jan 2012 05:27:18 +0000 (05:27 +0000)]
Fix minor problem in some comments...

12 years agoFix bug0085 - xGESVD Problem in Workspace computation
julie [Sat, 7 Jan 2012 06:00:05 +0000 (06:00 +0000)]
Fix bug0085 - xGESVD Problem in Workspace computation

12 years agoAdd Rook pivoting routines to LAPACKE
julie [Fri, 6 Jan 2012 06:25:39 +0000 (06:25 +0000)]
Add Rook pivoting routines to LAPACKE

12 years agoUpdate CMAKE build for Rook Pivoting Routines + correct minor fix
julie [Fri, 6 Jan 2012 04:47:10 +0000 (04:47 +0000)]
Update CMAKE build for Rook Pivoting Routines + correct minor fix

12 years agoModifications following email from PLASMA Team (Mathieu)
julie [Fri, 6 Jan 2012 03:53:11 +0000 (03:53 +0000)]
Modifications following email from PLASMA Team (Mathieu)

12 years agoadded spacing between argumets in subroutine call
igor175 [Wed, 4 Jan 2012 08:23:39 +0000 (08:23 +0000)]
added spacing between argumets in subroutine call

12 years agochanged error handler alaerh.f so that it recognizes ***'SV' instead of ***'SV '...
igor175 [Wed, 4 Jan 2012 08:20:05 +0000 (08:20 +0000)]
changed error handler alaerh.f so that it recognizes ***'SV' instead of ***'SV ' for 'xSY', 'xSR' and 'xHE' test paths

12 years agoadded the tests, i.e. ddrvsy_rook.f for driver routines for symmetric indrfinite...
igor175 [Wed, 4 Jan 2012 07:51:43 +0000 (07:51 +0000)]
added the tests, i.e. ddrvsy_rook.f  for driver routines for symmetric indrfinite matrices with rook pivoting, included  this tests in dchkaa.f and Makefile

12 years agofixed a typo in aladhd.f
igor175 [Tue, 3 Jan 2012 23:46:05 +0000 (23:46 +0000)]
fixed a typo in aladhd.f

12 years agoFix group problem for Level 2 BLAS routine in double precision
julie [Tue, 3 Jan 2012 23:44:14 +0000 (23:44 +0000)]
Fix group problem for Level 2 BLAS  routine in double precision

12 years agoadded 'SR' test path to aladhd.f for driver routines that correspond to symmetric...
igor175 [Tue, 3 Jan 2012 23:27:40 +0000 (23:27 +0000)]
added 'SR' test path to aladhd.f for driver routines that correspond to symmetric indefinite matrices with rook pivoting