julie [Sun, 17 Nov 2013 01:17:17 +0000 (01:17 +0000)]
Update version and date on make.inc templates
julie [Sun, 17 Nov 2013 01:15:04 +0000 (01:15 +0000)]
fix Illegal grep pb in lapack_testing
julie [Sun, 17 Nov 2013 01:08:52 +0000 (01:08 +0000)]
Slight modification to Lawrence patch for xTPQRT - Update conditions for testing parameter L - MIN(M,N) can be 0
julie [Sun, 17 Nov 2013 01:06:41 +0000 (01:06 +0000)]
update ilaver
julie [Sun, 17 Nov 2013 00:25:52 +0000 (00:25 +0000)]
Update release number and date
julie [Sun, 17 Nov 2013 00:01:25 +0000 (00:01 +0000)]
Patch provided by Lawrence Mulholland from Nag on Nov 1st 2013
Email below:
============
I have been incorporating some routines into the NAG Library,
which means some automatic code translation and writing some
example and test programs.
The routines I have been adding are:
?geqrt, ?gemqrt, ?tpqrt, ?tpmqrt, ?orcsd, ?uncsd
At the end of this message I will give you my current svn status
and svn diff for consideration and approval before I commit.
In each case, when testing immediate exits, my tests failed because
constraints were mutually exclusive for the immediate return case.
I have already committed changes to the constraints for some of
the above to allow immediate exit.
I have completed this for the remainder of this set.
Less importantly, there are things in the code that trip up a checking
compiler:
a) an
IF ( clause1(i) .AND. clause2(array(i)) ) THEN
where array(i) is either not initialized or is out of bounds if
clause1(i) is .FALSE.
This is wrong since a Fortran compiler is at liberty to test clause2 first.
In my changes this has been split into two as best suits the case.
b) an
CALL SUB (i, array(N-i+2))
with i = 1 and array(N+1) either not initialized or out of bounds, but
internally array(N+1) is not referenced.
In this case I don't think the Fortran standard is clear, but it trips up the
nagfor compiler with checking on. So in the NAG incorporated versions
of Lapack routines such calls are protected and/or
a special i=1 call is made.
The changes I want to commit also do this.
c) workspace queries passing zero instead of array references
e.g.
lwork = -1
call barf(n,m,0,0,0,0,0,-1,info)
a checking compiler won't like this.
I have changed cases like this to pass available arrays of sufficient size
and the right shape in place of the zeros.
langou [Tue, 15 Oct 2013 02:57:28 +0000 (02:57 +0000)]
Typo in the comment on complex xHSEQR.
The formula:
(QZ)*H*(QZ)**H.
should read:
(QZ)*T*(QZ)**H.
james [Sat, 5 Oct 2013 21:19:17 +0000 (21:19 +0000)]
Added check for NaN in input parameter G to avoid infinite loop -- fixes bug110.
langou [Fri, 4 Oct 2013 19:55:20 +0000 (19:55 +0000)]
FIX BUG 112.
(Bug reported on Aug 18 2013 by Daniel Strobusch on LAPACK mailing list)
(Bug fixed by Rodney on Aug 19 2013)
This is a problem with gfortran. One need to force gfortran to allocate all
local arrays on the stack. One way to do this is to have the option
-frecursive
julie [Fri, 4 Oct 2013 03:20:34 +0000 (03:20 +0000)]
Remove unused code
julie [Mon, 16 Sep 2013 16:44:21 +0000 (16:44 +0000)]
Correct comment
Problem reported by Elena Ivanova <Elena.x.Ivanova@Oracle.com> on Sept 16th
"Both RES, and AYB have to be described as REAL."
julie [Fri, 13 Sep 2013 21:32:40 +0000 (21:32 +0000)]
Apply fix sent by Elena Ivanova (Oracle)
There is FPE in the 457th line of CDRVRFP:
cdrvrfp.f
(dbx) where
=>[1] cdrvrfp(nout = 6, nn = 9, nval = ARRAY, nns = 3, nsval = ARRAY, nnt = 9, ntval = ARRAY, thresh = 30.0, a = ARRAY, asav = ARRAY, afac = ARRAY, ainv = ARRAY, b = ARRAY, bsav = ARRAY, xact = ARRAY, x = ARRAY, arf = ARRAY, arfinv = ARRAY, c_work_clatms = ARRAY, c_work_cpot02 = ARRAY, c_work_cpot03 = ARRAY, s_work_clatms = ARRAY, s_work_clanhe = ARRAY, s_work_cpot01 = ARRAY, s_work_cpot02 = ARRAY, s_work_cpot03 = ARRAY), line 457 in "cdrvrfp.f"
MAIN(), line 244 in "cchkrfp.f"
When N=0, attempt to calculate a condition number → FPE, because we try to delete by zero (ANORM = 0.0, AINVNM = 0.0) in the 457th line:
Line 457:
RCONDC = ( ONE / ANORM ) / AINVNM
julie [Fri, 13 Sep 2013 21:24:08 +0000 (21:24 +0000)]
Add small fixes sent by Ake Sandgren <ake.sandgren@hpc2n.umu.se>
julie [Thu, 12 Sep 2013 15:42:59 +0000 (15:42 +0000)]
Fix "if test" semantic in xdrvpox
Bug report sent by Elena Ivanova <elena.x.ivanova@oracle.com> on Sept 10th
lawrence.mulholland [Wed, 21 Aug 2013 10:39:32 +0000 (10:39 +0000)]
typo in previous fix: MIN(M,N)>0 NOT MIN(M,N)<0 when checking NB>MIN(M,N)
langou [Fri, 16 Aug 2013 15:03:03 +0000 (15:03 +0000)]
Fix from Lawrence Mulholland (NAG).
From Lawrence:
The *GEQRT routines are supposed to return immediately when N=0 or M=0.
However the code is such that an INFO = -3 is triggered since we are
trying to satisfy
ELSE IF( NB.LT.1 .OR. NB.GT.MIN(M,N) )THEN
INFO = -3
should be
ELSE IF( NB.LT.1 .OR. ( NB.GT.MIN(M,N) .AND. MIN(M,N).LT.0 ) )THEN
INFO = -3
Also on a side note, I think we could allow NB to be greater than MIN(M,N) in
the interface and then reset NB as needed if the user's NB is too large.
Another day. Good enough for now.
Julien.
langou [Mon, 22 Jul 2013 23:01:15 +0000 (23:01 +0000)]
apply patch from Hong Xu
patch sent to lapack mailing list on Sunday July 21st
In the input parameter checking, LDZ was not checked correctly
LDZ was checked against M instead of N essentially
julie [Sat, 20 Jul 2013 19:29:54 +0000 (19:29 +0000)]
Add missing file in CMakeLists.txt
igor175 [Tue, 9 Jul 2013 04:45:46 +0000 (04:45 +0000)]
Added LAPACK tests for 'rook' routines and drivers to LIN/Makefile LIN/CMakeLists.txt
igor175 [Tue, 9 Jul 2013 04:42:19 +0000 (04:42 +0000)]
Modified test files for 'rook' pivoting LAPACK routines: LIN/cchkaa.f LIN/cchkhe_rook.f LIN/cdrvhe_rook.f LIN/cerrhe.f LIN/cerrvx.f LIN/zchkaa.f LIN/zchkhe_rook.f LIN/zdrvhe_rook.f LIN/zerrhe.f LIN/zerrvx.f ctest.in ztest.in
igor175 [Tue, 9 Jul 2013 04:06:39 +0000 (04:06 +0000)]
Added 'rook' LAPACK routines and drivers to SRC/Makefile SRC/CMakeLists.txt
igor175 [Tue, 9 Jul 2013 04:02:51 +0000 (04:02 +0000)]
Modified new 'rook' pivoting routines and drivers for Hermitian indefinite matrices, Complex precision: zhetf2_rook.f zlahef_rook.f zhetri_rook.f
igor175 [Tue, 9 Jul 2013 01:55:07 +0000 (01:55 +0000)]
Modified new 'rook' pivoting routines and drivers for Hermitian indefinite matrices, Complex precision: chetf2_rook.f clahef_rook.f chetri_rook.f
igor175 [Thu, 4 Jul 2013 00:52:02 +0000 (00:52 +0000)]
modified error hadling routines for LIN testing of new Hermitian 'rook' pivoting code: aladhd.f
igor175 [Thu, 4 Jul 2013 00:22:09 +0000 (00:22 +0000)]
modified error hadling routines for LIN testing of new Hermitian 'rook' pivoting code: aladhd.f, alahd.f
james [Thu, 27 Jun 2013 18:54:28 +0000 (18:54 +0000)]
bug fix provided by Elena Ivanova via email.
james [Thu, 27 Jun 2013 18:34:04 +0000 (18:34 +0000)]
updated xlarfb routines
james [Wed, 5 Jun 2013 02:55:11 +0000 (02:55 +0000)]
fixed array index problems in new CSD routines by adding MAX() to ensure index is at least 1 -- this fixes array bounds violations in the test suite when array bounds checking is enabled
james [Thu, 16 May 2013 18:55:48 +0000 (18:55 +0000)]
Now using 2-norm to compute vector norms of row and column for balancing algorithm.
This seems to fix problems with balancing causing very large backward error for certain
Hessenberg matrices, including the often cited example of Watkins.
igor175 [Mon, 22 Apr 2013 10:03:22 +0000 (10:03 +0000)]
fixed comments in (c,z)errsy.f
igor175 [Mon, 22 Apr 2013 08:57:05 +0000 (08:57 +0000)]
changed comments in (c,z)hetf2.f
igor175 [Mon, 22 Apr 2013 08:43:55 +0000 (08:43 +0000)]
added LAPACK routine (c,z)hesv_rook.f
igor175 [Mon, 22 Apr 2013 08:35:15 +0000 (08:35 +0000)]
added LAPACK routine (c,z)hecon_rook.f
igor175 [Mon, 22 Apr 2013 07:49:39 +0000 (07:49 +0000)]
added LAPACK routine (c,z)hetri_rook.f
igor175 [Mon, 22 Apr 2013 07:41:56 +0000 (07:41 +0000)]
added LAPACK routine (c,z)hetrs_rook.f
igor175 [Mon, 22 Apr 2013 07:32:00 +0000 (07:32 +0000)]
added LAPACK routine (c,z)hetrf_rook.f
igor175 [Mon, 22 Apr 2013 06:54:22 +0000 (06:54 +0000)]
added LAPACK routines (c,z)hetf2_rook.f
igor175 [Sun, 21 Apr 2013 03:32:20 +0000 (03:32 +0000)]
fixed comments in LAPACK routines (c,z)lahef.f and (c,z)lahef_rook.f
igor175 [Sun, 21 Apr 2013 02:51:17 +0000 (02:51 +0000)]
fixed comments in LAPACK routines (c,z)lahef.f and (c,z)lahef_rook.f
igor175 [Sat, 20 Apr 2013 01:50:26 +0000 (01:50 +0000)]
Fixed comments in (c,z)lahef.f and (c,z)lahef_rook.f
igor175 [Fri, 19 Apr 2013 23:27:57 +0000 (23:27 +0000)]
added HR (Hermitian 'rook') path to LAPACK test routines alaerh.f alahd.f aladhd.f
igor175 [Fri, 19 Apr 2013 22:10:35 +0000 (22:10 +0000)]
changed comments in LAPACK testing routine (c,z)latb4.f
igor175 [Thu, 18 Apr 2013 00:39:57 +0000 (00:39 +0000)]
fixed comments in LAPACK testing routines (s,d,c,z)lavsy.f, (s,d,c,z)lavsy_rook.f (c,z)lavhe.f, (c,z)lavhe_rook.f
igor175 [Wed, 17 Apr 2013 05:11:46 +0000 (05:11 +0000)]
fixed comments in LAPACK test routines (s,d,c,z)syt01.f, (s,d,c,z)syt01_rook.f and (c,z)het01.f, (c,z)het01_rook.f
igor175 [Wed, 17 Apr 2013 03:53:30 +0000 (03:53 +0000)]
minor changes in LAPACK testing routines (s,d,c,z)drvsy.f, (s,d,c,z)drvsy_rook.f, (c,z)drvhe.f, and (c,z)drvhe_rook.f
igor175 [Wed, 17 Apr 2013 02:53:48 +0000 (02:53 +0000)]
removed whitespace in LAPACK testing routines (s,d,c,z)chksy.f and (s,d,c,z)chksy_rook.f and (c,z)chkhe.f (c,z)chkhe_rook.fand minor modifications
igor175 [Wed, 17 Apr 2013 02:44:09 +0000 (02:44 +0000)]
changed comments in LAPACK testing routines (s,d,c,z)chksy.f and (s,d,c,z)chksy_rook.f (c,z)chkhe.f (c,z)chkhe_rook.fand minor modifications
igor175 [Wed, 17 Apr 2013 01:46:16 +0000 (01:46 +0000)]
changed comments in LAPACK testing routines (c,z)chksy.f and (c,z)chksy_rook.f (c,z)chkhe.f (c,z)chkhe_rook.f and minor modifications
igor175 [Wed, 17 Apr 2013 01:45:24 +0000 (01:45 +0000)]
changed comments in LAPACK testing routines (c,z)chksy.f and (c,z)chksy_rook.f (c,z)chkhe.f (c,z)chkhe_rook.f and minor modifications
igor175 [Tue, 16 Apr 2013 22:06:41 +0000 (22:06 +0000)]
changed comments in LAPACK testing routines (c,z)chksy.f and (c,z)chksy.f
igor175 [Fri, 12 Apr 2013 23:45:56 +0000 (23:45 +0000)]
changed coments in LAPACK testing routines (c,z)chksy.f and (c,z)chksy.f
igor175 [Fri, 12 Apr 2013 20:06:51 +0000 (20:06 +0000)]
added test routines (c,z)chkhe_rook.f and (c,z)drvhe_rook.f for Hermitian factorization routines with rook pivoting algorithm
igor175 [Fri, 12 Apr 2013 20:06:18 +0000 (20:06 +0000)]
added test routines (c,z)chkhe_rook.f and (c,z)drvhe_rook.f for Hermitian factorization routines with rook pivoting algorithm
julie [Thu, 4 Apr 2013 05:20:31 +0000 (05:20 +0000)]
lapacke.h: template with C linkage error - forum topic 4221
james [Tue, 26 Mar 2013 14:55:38 +0000 (14:55 +0000)]
removed references to example_ZGESV_rowmajor.c
james [Tue, 26 Mar 2013 14:53:56 +0000 (14:53 +0000)]
removed example_ZGESV_rowmajor.c
james [Fri, 22 Mar 2013 20:54:57 +0000 (20:54 +0000)]
corrected bug found by Tyrone Rees posted on email list:
"I think there's a bug in the routine dlaqp2.f in version 3.4.2 of LAPACK
(and possibly earlier). Line 220 of the source is
IF( I.LE.N ) THEN
whereas for the other versions the same line reads
IF( I.LT.N ) THEN
This difference appears to make the routine dgeqp3 fall over when asked
to do a factorization of the last two columns of a 10x5 matrix. The NAG
fortran compiler gives the error:
Subscript out of range for assumed-size array A - Access to element 22
but actual argument has only 20 elements
Program terminated by fatal error
The single precision version runs without a hiccup.
Best wishes,
Tyrone"
james [Fri, 22 Mar 2013 12:38:47 +0000 (12:38 +0000)]
Applied patch provided by Sergey Kuznetsov @ Intel, fixes bug where TAU2 can be uninitialized.
james [Tue, 5 Mar 2013 17:52:07 +0000 (17:52 +0000)]
added code to set the last pivots to n: ipiv(n)=jpiv(n)=n
julie [Fri, 15 Feb 2013 21:54:15 +0000 (21:54 +0000)]
Update and add examples
julie [Fri, 15 Feb 2013 16:45:00 +0000 (16:45 +0000)]
Remove unused file
julie [Thu, 7 Feb 2013 16:28:08 +0000 (16:28 +0000)]
Fix typos in README
julie [Thu, 10 Jan 2013 04:26:11 +0000 (04:26 +0000)]
Add c/zlacp2 for PLASMA team
igor175 [Wed, 12 Dec 2012 03:03:41 +0000 (03:03 +0000)]
Updated comments in (s,d,c,z)lasy_rook.f and (c,z)lahe_rook.f
igor175 [Wed, 12 Dec 2012 02:49:09 +0000 (02:49 +0000)]
updated comments in (s,d,c,z)lasyf.f and (c,z)lahef.f
igor175 [Wed, 12 Dec 2012 02:15:21 +0000 (02:15 +0000)]
Updated comments in (s,d,c,z)sytf2_rook.f
igor175 [Wed, 12 Dec 2012 02:08:16 +0000 (02:08 +0000)]
Updated comments in (s,d,c,z)sytf2.f and (c,z)hetf2.f
igor175 [Wed, 12 Dec 2012 01:16:46 +0000 (01:16 +0000)]
updated comments in
igor175 [Tue, 11 Dec 2012 20:33:11 +0000 (20:33 +0000)]
fixed comments in clahef_rook.f and zlahef_rook.f
julie [Tue, 11 Dec 2012 19:01:44 +0000 (19:01 +0000)]
Commit Victor Liu's suggestion about making the complex division routine more robust
tests and builds seems fine.
Message sent on Oct 18th
I just saw a paper on ArXiv about making the complex division routine more robust:
http://arxiv.org/abs/1210.4539
Second author is actually the original inventor of the current algorithm in Lapack.
I have attached my modified DLADIV routine, which passes all the tests in the build process.
igor175 [Wed, 5 Dec 2012 07:16:18 +0000 (07:16 +0000)]
Replaced IF(J.LE.N) by IF(J.LT.N) for 'U', where U12 is put in standard form by partially undoing the interchanges, also added comments to the part where U21 is put in standard form; Similarly, replaced IF(J.GE.1) by IF(J.GT.1) for 'L', where L21 is put in standard form by partially undoing the interchanges, also added comments to the part where L21 is put in standard form; Affected files: zlahef.f clahef.f zlasyf.f clasyf.f dlasyf.f slasyf.f
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)]