julie [Thu, 6 Oct 2011 06:53:11 +0000 (06:53 +0000)]
Integrating Doxygen in comments
igor175 [Tue, 4 Oct 2011 02:58:05 +0000 (02:58 +0000)]
Changes to the SRC/Makefile to fix bugs that affected 'make single', 'make double', 'make complex', 'make complex16' functionality. Specifically, DSLASRC was included as a dependency for single and double, and ZCLASRC as a dependency for complex and complex16. Also, a few modifications for the case when USEXBLAS is defined to enable 'make single', 'make double' etc. For more info refer to LAPACK-DEV google group 'LAPACK SRC/Makefile question?' thread.
lipshitz [Mon, 3 Oct 2011 19:24:45 +0000 (19:24 +0000)]
Fix to Ming Gu's bug in dqds. See post of LAPACK DEV message board for more details
igor175 [Sat, 1 Oct 2011 02:41:38 +0000 (02:41 +0000)]
Per consultation with Julie, added ./testieee to main Makefile lapack_install target
igor175 [Sat, 1 Oct 2011 02:37:03 +0000 (02:37 +0000)]
Format changes to INSTALL/Makefile
igor175 [Fri, 30 Sep 2011 22:26:57 +0000 (22:26 +0000)]
deleted svn:executable SVN property on SRC/dgeqrt.f
julie [Fri, 30 Sep 2011 18:34:50 +0000 (18:34 +0000)]
Comments fix to be able to generate the new layout and the corresponding Doxygen documentation
igor175 [Fri, 30 Sep 2011 02:23:37 +0000 (02:23 +0000)]
Refactored $(ALLOBJ) files in TESTING/MATGEN/Makefile and a few cosmetic changes
igor175 [Fri, 30 Sep 2011 00:03:50 +0000 (00:03 +0000)]
Reverting previous bad commit and going back to revision 1008
igor175 [Thu, 29 Sep 2011 23:33:36 +0000 (23:33 +0000)]
convinience change to Makefile to clean BLAS directory from object files
julie [Mon, 26 Sep 2011 21:52:31 +0000 (21:52 +0000)]
Add the LAPACK library as dependencies for testing after Igor's comment.
This means that if you change one file, all testings will be rerun.
Should we be smarter than that?
julie [Fri, 23 Sep 2011 19:50:27 +0000 (19:50 +0000)]
Improve CMAKE BUILD system and OUTPUT PARSING when not all precisions are needed.
The following variables will control the precision to be built:
BUILD_SINGLE
BUILD_DOUBLE
BUILD_COMPLEX
BUILD_COMPLEX16
For mixed precision SINGLE/DOUBLE routines, both BUILD_SINGLE and BUILD_DOUBLE needs to be on.
(same for COMPLEX/COMPLEX16)
julie [Fri, 23 Sep 2011 15:26:46 +0000 (15:26 +0000)]
Commit patch sent by Sven.
Patch was based on 3.3.0, so required a little bit of merging.
Thank you Sven for the corrections.
Julie
JL
TESTING/EIG
zerrgg.f
Declare ILO, IHI
SRC
---
I have corrected all the following warnings and errors:
c/d/s/zsysv.f, Unused external reference ILAENV
>JL OK
c/d/s/zsysv.f, Unused local variable NB
>JL ALREADY CORRECTED
sgsvj0.f, Unused intrinsic AMIN1
> JL OK
d/sorbdb.f, Unused intrinsic MIN
> JL OK
sorcsd.f, Unused intrinsic SIN
sorcsd.f, Unused intrinsic COS
> JL OK MERGE
cpoequb.f, Unused intrinsic AIMAG
cpoequb.f, Unused intrinsic REAL
cpoequb.f, Unused local variable ZDUM
zgeequb.f, REAL --> DBLE
> JL OK
sorcsd.f, line 330: Inconsistent data type REAL (previously INTEGER) for argument 14 in reference to SORBDB
sorcsd.f, line 340: Inconsistent data type REAL (previously INTEGER) for argument 4 in reference to SORGQR
sorcsd.f, line 345: Inconsistent data type REAL (previously INTEGER) for argument 4 in reference to SORGQR
sorcsd.f, line 356: Inconsistent data type REAL (previously INTEGER) for argument 4 in reference to SORGLQ
sorcsd.f, line 363: Inconsistent data type REAL (previously INTEGER) for argument 4 in reference to SORGLQ
sorcsd.f, line 369: Inconsistent data type REAL (previously INTEGER) for argument 4 in reference to SORGLQ
sorcsd.f, line 374: Inconsistent data type REAL (previously INTEGER) for argument 4 in reference to SORGLQ
sorcsd.f, line 385: Inconsistent data type REAL (previously INTEGER) for argument 4 in reference to SORGQR
sorcsd.f, line 392: Inconsistent data type REAL (previously INTEGER) for argument 4 in reference to SORGQR
sorcsd.f, line 399: Inconsistent data type REAL (previously INTEGER) for argument 9 in reference to SBBCSD
> JL OK MERGE
ila(s/d/c/z)lr.f
In the WHILE loop, at about line 59 I inserted
IF (I.EQ.0) THEN
EXIT
END IF
since, otherwise when I = 0, A(0,J) is referenced.
> JL OK
TESTING/MATGEN
--------------
s/dlatm7.f
line 187: I replaced
IF( N.GT.1 ) THEN
by
IF( N.GT.1 .AND. RANK.GT.1 ) THEN
Otherwise I get a division by zero.
> JL OK
s/dlaror.f
I moved:
INFO = 0
from line 125 to line 121 in front of
IF( N.EQ.0 .OR. M.EQ.0 )
$ RETURN
otherwise INFO is not defined on return when N or M are zero.
Similar change for
c/zlaror.f
> JL OK
TESTING/LIN
-----------
s/derrsy.f
In calls to S/DSYTRI2: I replaced IW by IW(1) since the dummy argument
(LWORK) is a scalar.
> JL OK
c/zerrrfp.f
I made ALPHA and BETA REAL/DOUBLE and introduced COMPLEX/COMPLEX*16
CALPHA since calls to C/ZHFRK need real alpha and beta. In calls to
CTFSM, I then replaced ALPHA with CALPHA.
In cerrrfp.f, I replaced 1.0D0 with 1.0E0 (not strictly necessary, but
cleaner).
> JL OK
dpot06.f
Removed the unused declaration of LSAME
> JL OK
d/zdrvac.f
Removed the unused declaration of LSAME
> JL OK MERGE
s/d/c/z/ckcsd.f
Removed the unused declarations of S/D/C/ZLANGE, SIN and COS
> JL OK
c/zgennd.f
Removed the unused variable OUT
> JL already DONE
Corrected the following warnings and errors:
dchksy.f, Unused local variable MYWORK
> JL already DONE
ddrvgbx.f, line 792: Different number of arguments from the first call of DGBT02
> JL OK
cdrvgbx.f, line 726: Inconsistent data type REAL (previously COMPLEX) for argument 4 in reference to CLASET
cdrvgbx.f, line 728: Inconsistent data type REAL (previously COMPLEX) for argument 4 in reference to CLASET
cdrvgbx.f, line 780: Inconsistent data type REAL (previously COMPLEX) for argument 10 in reference to CGBT01
cdrvgbx.f, line 794: Different number of arguments from the first call of CGBT02
> JL OK
zdrvgbx.f, line 726: Inconsistent data type DOUBLE PRECISION (previously COMPLEX(KIND(0d0))) for argument 4 in reference to ZLASET
zdrvgbx.f, line 728: Inconsistent data type DOUBLE PRECISION (previously COMPLEX(KIND(0d0))) for argument 4 in reference to ZLASET
zdrvgbx.f, line 780: Inconsistent data type DOUBLE PRECISION (previously COMPLEX(KIND(0d0))) for argument 10 in reference to ZGBT01
zdrvgbx.f, line 794: Different number of arguments from the first call of ZGBT02
> JL OK
TESTING/EIG
-----------
s/d/c/zchkee.f
I inserted
CALL XLAENV( 12, 1 )
at line 1208, since IPARMS(ISPEC) with ISPEC = 12 needs to be set.
(I think I had to do this with them all, certainly with zchkee.f)
> JL OK zchkee.f cchkee.f
c/zchkee.f
In line 2316, the 15th argument of C/ZCKCSD should be real, not complex,
so I replaced A(1,7) by RWORK.
> JL OK
c/zcsdts.f
In calls to C/ZHERK I have replaced ONE by REALONE as arguments 5 and 8
should be real.
> JL OK
s/d/c/zcsdts.f
Division by zero occurs at line 155 in computing EPS when M = 0, so I
have modified
EPS2 = MAX( ULP, CLANGE( '1', M, M, WORK, LDX, RWORK ) / REAL( M ) )
to
IF (M.GT.0) THEN
EPS2 = MAX( ULP,
$ CLANGE( '1', M, M, WORK, LDX, RWORK ) / REAL( M ) )
ELSE
EPS2 = ULP
END IF
> JL OK
SRC/VARIANTS/lu/CR
------------------
s/d/c/zgetrf
Removed the unused intrinsic MOD
> JL OK
julie [Tue, 30 Aug 2011 15:24:06 +0000 (15:24 +0000)]
Commit pb in TESTING reported by Nadezhda (INTEL) on Aug 29th.
"We notice that errorcheckers tests aren’t correct in some cases.
errorcheckers of ?ggevx, ?pstrf, ?pstf2
Some output parameters are read only in the errorcheckers tests."
julie [Mon, 15 Aug 2011 20:53:17 +0000 (20:53 +0000)]
Correct Bug in the testing of CHERFSX function
reported by omitrofa (olga.mitrofanova@intel.com)
See Forum 2644
Test of CHERFSX function doesn't work because there is an error
in ../TESTING/LIN/cerrhex.f ( lines 284-330 ).
This function uses the diagonal pivoting factorization of a Hermitian
indefinite matrix instead of the diagonal pivoting factorization of
a Hermitian indefinite packed matrix. When CHERFSX is included in
conditional "IF( LSAMEN( 2, C2, 'HE' ) ) THEN " the test works.
julie [Mon, 15 Aug 2011 18:25:57 +0000 (18:25 +0000)]
Replace DOUBLE COMPLEX by COMPLEX*16
Replace SNGL by REAL
julie [Mon, 15 Aug 2011 13:26:00 +0000 (13:26 +0000)]
Add missing files for GNU-built LAPACK DLLs with MS tools
james [Thu, 11 Aug 2011 22:29:16 +0000 (22:29 +0000)]
test routines for new QRT subroutines:
xQRT04 tests xGEQRT and xGEMQRT
xQRT05 tests xTPQRT and xTPMQRT
julie [Tue, 9 Aug 2011 18:59:44 +0000 (18:59 +0000)]
Commiting BRAD patch
Here is a patch for lapack to provide MS-format dll import libraries
from the MinGW GNU toolchain. It is ready for others to try before it
goes upstream. You just need to have MinGW GNU Fortran 4.x and one of
the VS IDEs installed. Configure a MinGW build with BUILD_SHARED_LIBS
set to ON. The resulting build (and install) tree will provide both
GNU-format and MS-format import libraries for the DLLs.
A C application built with MSVC and linked to the MinGW-built lapack
DLLs will run but requires the GNU runtime DLLs from MinGW to be available.
I tested this with both 32-bit and 64-bit builds. For the latter I used
the mingw64 gfortran. In both cases I just put the GNU runtime directory
in my PATH. I think both libgfortran-3.dll and libgcc_s_dw2-1.dll are
needed.
This may be used to create a binary LAPACK distribution for Windows that
will work without any GNU tools installed. One needs only to provide the
MinGW GNU runtime libraries along with blas.dll and lapack.dll.
-Brad
james [Tue, 9 Aug 2011 01:17:34 +0000 (01:17 +0000)]
added new QRT routines to object lists
james [Mon, 8 Aug 2011 22:07:49 +0000 (22:07 +0000)]
QR factorization for triangular-pentagonal matrices
(generalization of triangle-over-square and triangle-over-triangle)
james [Mon, 8 Aug 2011 21:59:06 +0000 (21:59 +0000)]
QRT (QR factorization with compact WY representation for Q) routines for general matrices
julie [Tue, 28 Jun 2011 08:07:35 +0000 (08:07 +0000)]
CHANGE IN THE SCRIPT:
lapack_testing.py has been moved to the top directory
One argument was added :
- d [dir] is to indicate where is the LAPACK testing directory (.out files). By default, the script will use .-d or --dir to
The -f argument was replaced by -r argument. Now by default the script will use the LAPACK output.
- r is to use to run the LAPACK tests then analyse the output (.out files). By default, the script will not run all the LAPACK tests
INTEGRATION:
Integration of the LAPACK Testing parsing in the Makefile and CMake build process.
In the Makefile build: now the lapack_testing target will call the script after running the tests
In the CMAKE build: after the tests are run, the script will be executed with the option -s (short)
the end of the output will look like this:
100% tests passed, 0 tests failed out of 98
Total Test time (real) = 211.83 sec
SUMMARY numerical error other error
================ ================= ================
REAL 40 (0.004%) 0 (0.000%)
DOUBLE PRECISION 202 (0.020%) 0 (0.000%)
COMPLEX 2 (0.000%) 0 (0.000%)
COMPLEX16 28 (0.005%) 0 (0.000%)
--> ALL PRECISIONS 272 (0.009%) 0 (0.000%)
julie [Mon, 27 Jun 2011 13:22:47 +0000 (13:22 +0000)]
merge errors for number only mode
julie [Mon, 27 Jun 2011 13:05:59 +0000 (13:05 +0000)]
Add Julien's suggestions
langou [Fri, 24 Jun 2011 13:31:01 +0000 (13:31 +0000)]
[ minor edits ]
suggestions:
1) combine Illegal Error and Info Error as one number in the SUMMARY
2) give % values in addition in the SUMMARY, something like: 203 (.01%)
julie [Fri, 24 Jun 2011 08:46:19 +0000 (08:46 +0000)]
First try to get a nice script to analyze the LAPACK testing.
Below is the help that goes with it.
Please send feedback. I tired to include several levels of output and several kind of errors
So far, I just tested it on my machine, that has no major problems.
I just tested "numerical errors", not "illegal error" neither "info error".
The goal is to have our nightly testing use it and also users.
TO DO:
- Test other kinds of errors on machines
- See to include it in ctest and buildbot (need to contact Don and Brad/Chuck)
- See if a type of error option is required.
./lapack_testing.py [-h|--help] [-s |--short] [-f |--file] [-e |--error] [-p p |--prec p] [-t test |--test test] [-n | --number]
- h is to print this message
- f is to use directly the output of the LAPACK testing (.out files). By default, the script will run all the LAPACK tests
LEVEL OF OUTPUT
- x is to print a detailed summary
- e is to print only the error summary
- s is to print a short summary
- n is to print the numbers of failing tests (turn on summary mode)
SECLECTION OF TESTS:
- p [s/c/d/z] is to indicate the PRECISION to run:
s=single
d=double
c=complex
z=double complex
x=all [DEFAULT]
- t [lin/eig/mixed/rfp/all] is to indicate which TEST FAMILY to run:
lin=Linear Equation
eig=Eigen Problems
mixed=mixed-precision
rfp=rfp format
all=all tests [DEFAULT]
EXAMPLES:
./lapack_testing.py -n -f
Will return the numbers of failed tests by analyzing the LAPACK output
./lapack_testing.py -n -f -p s
Will return the numbers of failed tests in REAL precision by analyzing the LAPACK output
./lapack_testing.py -n -f -p s -t eig
Will return the numbers of failed tests in REAL precision by analyzing only the LAPACK output of EIGEN testings
Written by Julie Langou (June 2011)
james [Wed, 22 Jun 2011 13:37:15 +0000 (13:37 +0000)]
Added N*N to LWEDC (and LRWEDC for complex cases) to reflect updated LWORK requirements (see commit r984 in SRC).
julie [Wed, 22 Jun 2011 11:50:43 +0000 (11:50 +0000)]
Update the name change (rev 985) for the CMAKE build
julie [Wed, 22 Jun 2011 11:49:32 +0000 (11:49 +0000)]
Following Yana Gurieva (INTEL) 's comment
"Why does Lapack have the routines named ?la_rpvgrw if they are intended for general matrices? Should not their names be ?la_gerpvgrw instead?"
THIS IS THUS A CHANGE IN INTERFACE
james [Wed, 22 Jun 2011 11:27:16 +0000 (11:27 +0000)]
added an additional "N*N" to xSTEDC workspace "WORK" to correct problem with LWORK being too small in some cases in the 'V' option when eigenvectors are computed for the dense matrix.
julie [Wed, 22 Jun 2011 09:45:40 +0000 (09:45 +0000)]
Summer cleanup
Cleanup some codes, like unused variables.
Used -Walls to detect problems.
james [Tue, 21 Jun 2011 18:59:51 +0000 (18:59 +0000)]
Added IF statement to prevent potential out of range errors with "K+1" indices.
langou [Tue, 7 Jun 2011 09:11:05 +0000 (09:11 +0000)]
For Yana Gurieva (Intel), see forum post 2508 on Tue Jun 7th, 2011.
Typo in the description of cla_porcond_c and cla_porcond_x.
( zla_porcond_c and zla_porcond_x are good, just the c versions have the typos.)
langou [Thu, 2 Jun 2011 18:30:26 +0000 (18:30 +0000)]
See post on the forum 2501 of Yana Gurieva from Intel. This fixes some typos
in the comments about the **T and **H. Proof that it was a good idea to make
clear what this $#@! "A'" meant. (In this case it was used to mean either A**T
in the case of cgtsv or A**H in the case of claqsb.)
julie [Thu, 19 May 2011 14:46:50 +0000 (14:46 +0000)]
Correct a workspace requirement comment in cbdsqr and zbdsqr
For case 1, the routine will call DLASCL that requires a 4*N workspace.
Following a bug report from Hatem:
I am calling this function to only compute the singular
values from the bidiagonal matrix I just got after the 2nd stage.
The function comments say that the workspace should be
case 1: 2*N if NCVT = NRU = NCC = 0 (basically no singular vectors computed)
case 2: 4*N-4 otherwise.
I allocated the corresponding size for work in my program (i.e. 2*N) and
call the lapackE interface of this function (LAPACKE_zbdsqr_work).
And I get a "double free or corruption (!prev)" when I deallocate
work.
When I call instead LAPACKE_zbdsqr (I let the wrapper
now doing the allocation of work), it passes.
I looked inside LAPACKE_zbdsqr to check the size of work and
it seems to be 4*N across the board (for both cases 1 and 2).
Now, if I call back LAPACKE_zbdsqr_work and I allocate work
using 4*N, it passes.
Is it a bug?
Thanks for your time,
Hatem
julie [Wed, 18 May 2011 08:27:36 +0000 (08:27 +0000)]
Correction for Tobias.
To get the manpages correcty generated.
From Tobias:
|RPMLINT prints the following warning - and I think it is correct that
Fortran's .NOT. is misread as NOT. macro.
Tobias
RPMLINT report:
===============
lapack-man.noarch: W: manual-page-warning
/usr/share/man/man3/slaqr3.3.gz 351: warning: macro `NOT.BULGE' not defined
lapack-man.noarch: W: manual-page-warning
/usr/share/man/man3/dlaqr3.3.gz 351: warning: macro `NOT.BULGE' not defined
lapack-man.noarch: W: manual-page-warning
/usr/share/man/man3/lsametst.3.gz 53: warning: macro `NOT.LSAME(' not
defined
lapack-man.noarch: W: manual-page-warning
/usr/share/man/man3/slaqr2.3.gz 317: warning: macro `NOT.BULGE' not defined
lapack-man.noarch: W: manual-page-warning
/usr/share/man/man3/dlaqr2.3.gz 317: warning: macro `NOT.BULGE' not defined
This man page may contain problems that can cause it not to be formatted as
intended.|
james [Thu, 21 Apr 2011 22:00:11 +0000 (22:00 +0000)]
fixed problems with zero matrix and scan
julie [Wed, 20 Apr 2011 23:13:17 +0000 (23:13 +0000)]
Apply Sebastien Fabbro patch for the cmake build.
"Two more fixes for the cmake files of lapack-3.3.1:
1) syntax consistency for BLAS_LIBRARIES
2) link lapack with xblas when xblas is enabled"
julie [Tue, 19 Apr 2011 20:17:47 +0000 (20:17 +0000)]
Update the comment of ABSTOL according to Sven's recommendation
julie [Mon, 18 Apr 2011 20:00:50 +0000 (20:00 +0000)]
Update ilaver and make.inc to 3.3.1
julie [Fri, 15 Apr 2011 16:09:49 +0000 (16:09 +0000)]
Update Version Number in CMAKE
julie [Thu, 14 Apr 2011 15:21:30 +0000 (15:21 +0000)]
Update README for 3.3.1
julie [Wed, 13 Apr 2011 16:30:39 +0000 (16:30 +0000)]
Upadte header for the modified routine for the 3.3.1 release
julie [Thu, 7 Apr 2011 13:53:54 +0000 (13:53 +0000)]
Second and hopefully last pass to homgenize notation for transpose (**T) and conjugate transpose (**H)
Corresponds to bug0024
Please take a look and let me know if you find some old notation of transpose.
I am going to close bug0024.
Julie
james [Thu, 7 Apr 2011 12:30:43 +0000 (12:30 +0000)]
decreased EPS by a factor of 0.9 to correct problem with orthogonality of U in certain cases
julie [Tue, 5 Apr 2011 15:16:30 +0000 (15:16 +0000)]
Correct bug0077 : [DS]GESVD Minimum Worksize comments need clarification
Depending on the PATH, the minimum workspace is not the same.
julie [Sat, 2 Apr 2011 11:46:46 +0000 (11:46 +0000)]
First pass for BLAS to homgenize notation for transpose (**T) and conjugate transpose (**H)
Corresponds to bug0024
julie [Sat, 2 Apr 2011 11:08:56 +0000 (11:08 +0000)]
First pass to homgenize notation for transpose (**T) and conjugate transpose (**H)
Corresponds to bug0024
julie [Thu, 17 Mar 2011 16:41:08 +0000 (16:41 +0000)]
While looking if bug0022 was corrected, found that some comments were not updated
bug0022 was indeed corrected by Zlatko
julie [Wed, 16 Mar 2011 22:52:01 +0000 (22:52 +0000)]
Remove GO TO STATEMENT in DROTMG/DROTM and SROTMG/SROTM.
Incorporate OLD Testings from ACM Collected algorithms : algorithm 539
for:
- DROTMG/SROTMG
- DROTM/SROTM
- DSDOT / SDSDOT
All BLAS routines are now tested.
Now up to us to change the BLAS but at least this is consistent.
julie [Thu, 10 Mar 2011 23:33:40 +0000 (23:33 +0000)]
Remove the easy GO TO statments....still 13 to remove in drotm.f and 36 in drotmg.f
julie [Thu, 10 Mar 2011 19:09:21 +0000 (19:09 +0000)]
Formating code, use of * for comment, and follow other LAPACK style
james [Tue, 8 Mar 2011 21:01:45 +0000 (21:01 +0000)]
Added missing Further Details description of V (copied from xLARFT)
julie [Mon, 7 Mar 2011 15:11:26 +0000 (15:11 +0000)]
Remove multiple definition of cpotrs
julie [Sun, 6 Mar 2011 20:02:06 +0000 (20:02 +0000)]
Added compiler options needed for HP Fortran
- Chuck Atkins (Kitware)
julie [Fri, 4 Mar 2011 20:44:21 +0000 (20:44 +0000)]
Correct bug 0076 reported by Intel Team on lapack forum
Problem in ?(sy/he)tri2 was found.
For matrices with small N subroutine pass parameter NBMAX to ?(sy/he)tri2x which could be large than N.
In test for this functionality this is hide. Local test subroutine ilaenv.f pass proper values of NB. But if use ordinary ilaenv we will get mistake.
If we implemented
IF ( NBMAX .GE. N ) THEN
MINSIZE = N
ELSE
MINSIZE = (N+NBMAX+1)*(NBMAX+3)
END IF
and will call
IF( NBMAX .GE. N ) THEN
CALL SSYTRI( UPLO, N, A, LDA, IPIV, WORK, INFO )
ELSE
CALL SSYTRI2X( UPLO, N, A, LDA, IPIV, WORK, NBMAX, INFO )
END IF
the problem will be solved.
Some other minor changes on workspace query.
julie [Thu, 3 Mar 2011 23:14:53 +0000 (23:14 +0000)]
Correct Workspace Query to make sure we return the max of LWORKOPT and LWORKMIN
julie [Thu, 3 Mar 2011 23:13:58 +0000 (23:13 +0000)]
Correct and Add Error exit tests for *errtz
Test the case where N=M (Workspace should be 1), so put LWORK at 0 to make it failed
Test the case where N!=M (Workspace should be more than MAX(1,M)), so put M=2, N=3 ans LWORK at 1 to make it failed
Correct some typos in [dz]drgsx testings.
julie [Thu, 3 Mar 2011 22:33:51 +0000 (22:33 +0000)]
One more workspace problem fixed...
julie [Thu, 3 Mar 2011 21:09:29 +0000 (21:09 +0000)]
The c generated code should be better now
julie [Thu, 3 Mar 2011 21:02:22 +0000 (21:02 +0000)]
Fix some workspace query problems found with the new interface
james [Thu, 3 Mar 2011 20:04:03 +0000 (20:04 +0000)]
replaced "do/exit" scan logic with do while loop
fixes bug0075 and bug0035
julie [Mon, 28 Feb 2011 04:11:45 +0000 (04:11 +0000)]
Added warning suppressions for the Intel compiler on Windows
- Chuck Atkins (Kitware)
julie [Mon, 28 Feb 2011 03:42:25 +0000 (03:42 +0000)]
Wrapped lines that extended past 72 columns
- Chuck Atkins (Kitware)
julie [Sat, 26 Feb 2011 21:49:14 +0000 (21:49 +0000)]
Corrected a typo in the output message when setting optimization level
- Chuck Atkins (Kitware)
julie [Sat, 26 Feb 2011 20:51:01 +0000 (20:51 +0000)]
Re-worked type-size checks to search for differnt sizes for different types
- Chuck Atkins (Kitware)
julie [Sat, 26 Feb 2011 20:50:37 +0000 (20:50 +0000)]
Added a status message when using the supplied NETLIB BLAS
- Chuck Atkins (Kitware)
julie [Sat, 26 Feb 2011 20:49:40 +0000 (20:49 +0000)]
Recude RELEASE optimization level from O>3 to O2
- Chuck Atkins (Kitware)
james [Thu, 24 Feb 2011 21:12:23 +0000 (21:12 +0000)]
changed matrix norm to 'M' (max) from 'I' (inf) for scaling of input matrix
and added check for zero norm in xSTERF (the xSTEQR already had this check)
this fixes the issue reported in bug0036
james [Thu, 17 Feb 2011 20:14:14 +0000 (20:14 +0000)]
removed confusing comments about JMAX, resolves bug0034
james [Thu, 17 Feb 2011 20:10:22 +0000 (20:10 +0000)]
removed confusing comments about JMAX, resolves bug0034
james [Thu, 17 Feb 2011 16:50:30 +0000 (16:50 +0000)]
fixes bug0027: removed incorrect description of output of H (they are not in standard form)
julie [Wed, 9 Feb 2011 19:55:15 +0000 (19:55 +0000)]
Correct precision generation problem
julie [Wed, 9 Feb 2011 19:45:09 +0000 (19:45 +0000)]
Fix bug 0074
Post from Alexander Kobotov (INTEL)
In LAPACK 3.3 ?(SY/HE)SV are updated to use TRS2.
The TRS2 requires WORK(N) to operate, whereas in SV requirements for LWORK just to be >=1.
There is no any check in SV if LWORK>=N, the array WORK just passed as it is to TRS2.
So if LWORK<N a crash could occur while executing TRS2 due to overuse of allocated workspace.
I guess for the case of LWORK<N just previsous Level2 based ?(SY/HE)TRS should be used.
julie [Mon, 7 Feb 2011 18:00:27 +0000 (18:00 +0000)]
Fix Bug 0073: [Re] Add dummy routine in timer to avoid compiler problem
Bug reported by John Tellefson to LAPACK Mailing List on February 7th.
Dummy routine was removed in LAPACK 3.3.0 because it seems it was working on all machines.
[Re] Incorporation of the dummy routine and incorporate John's suggested cosmectic changes to allow
an easier change in number of operation to perform.
"modified secondtst.f from lapack-3.2.2 with the old
code that makes it reliably report timing loop results. I also added a
variable TOTAL to simplify changes in setting array size and iterations
which affect total flops and made few other changes.
julie [Mon, 7 Feb 2011 14:54:28 +0000 (14:54 +0000)]
Move CMake files to a subdirectory
- Brad King (Kitware)
julie [Mon, 7 Feb 2011 14:54:24 +0000 (14:54 +0000)]
Link tmglib test library to lapack
The library uses symbols from lapack and so should link to it.
Previously this was not noticed because static libraries do not
really link and the test executables link to lapack anyway.
- Brad King (Kitware)
julie [Mon, 7 Feb 2011 14:54:21 +0000 (14:54 +0000)]
Organize binaries into bin and lib directories
Put executables under 'bin' and libraries under 'lib'. This is needed
on Windows with shared library builds to put the .dll and .exe files
together for running tests without setting PATH.
- Brad King (Kitware)
julie [Mon, 7 Feb 2011 14:54:19 +0000 (14:54 +0000)]
Restore CMake packaging removed in r858
- Brad King (Kitware)
julie [Mon, 7 Feb 2011 14:54:16 +0000 (14:54 +0000)]
Revert "Restore CMake packaging removed in r858"
This reverts commit
e725dc754dd87ed45f21ba6981fca6dbc0530aa3.
julie [Mon, 7 Feb 2011 14:54:14 +0000 (14:54 +0000)]
Revert "Organize binaries into bin and lib directories"
This reverts commit
e3b5f531553c176a009f41b6a312b0c11b955fd6.
julie [Mon, 7 Feb 2011 14:54:11 +0000 (14:54 +0000)]
Revert "Link tmglib test library to lapack"
This reverts commit
5070d8d0b7690496561a26f5849d6f80a8727d93.
julie [Mon, 7 Feb 2011 14:54:09 +0000 (14:54 +0000)]
Revert "Move CMake files to a subdirectory"
This reverts commit
bc425c443232cf9737afcce38753f79963d31e0a.
julie [Mon, 7 Feb 2011 14:37:01 +0000 (14:37 +0000)]
Move CMake files to a subdirectory
julie [Mon, 7 Feb 2011 14:36:57 +0000 (14:36 +0000)]
Link tmglib test library to lapack
The library uses symbols from lapack and so should link to it.
Previously this was not noticed because static libraries do not
really link and the test executables link to lapack anyway.
julie [Mon, 7 Feb 2011 14:36:54 +0000 (14:36 +0000)]
Organize binaries into bin and lib directories
Put executables under 'bin' and libraries under 'lib'. This is needed
on Windows with shared library builds to put the .dll and .exe files
together for running tests without setting PATH.
julie [Mon, 7 Feb 2011 14:36:50 +0000 (14:36 +0000)]
Restore CMake packaging removed in r858
julie [Thu, 3 Feb 2011 18:28:38 +0000 (18:28 +0000)]
Fix bug 0072 reported by Inge Gutheil on February 3rd 2011
From Inge:
In the tests,
TESTING/EIG/cchkhs.f (similar in zchkhs.f) in line 492 N = NN ( JSIZE )
is set. If NN( JSIZE ) is zero, CCOPY (N-1,....) gives an error message
and the test breaks. In the real versions dchkhs after N = NN ( JSIZE )
there is
IF ( N .EQ. 0 ) GO TO 270, so there DCOPY does not exit with an error
message.
I think the same statement should be added in the complex version to
avoid copying -1 element.
langou [Mon, 31 Jan 2011 18:27:33 +0000 (18:27 +0000)]
Change from Christof (Voemel) sent on Mon, 31 Jan 2011.
*********************************************************************
change
IF( USEDQD ) THEN
* The initial SIGMA was to the outer end of the spectrum
* the matrix is definite and we need not retreat.
TAU = SPDIAM*EPS*N + TWO*PIVMIN
ELSE
into
IF( USEDQD ) THEN
* The initial SIGMA was to the outer end of the spectrum
* the matrix is definite and we need not retreat.
TAU = SPDIAM*EPS*N + TWO*PIVMIN
TAU = MAX( TAU,TWO*EPS*ABS(SIGMA) )
ELSE
that is, with an added line to prevent TAU from becoming zero
TAU = MAX( TAU,TWO*EPS*ABS(SIGMA) )
*********************************************************************
Thanks Christof!
julie [Mon, 31 Jan 2011 16:14:51 +0000 (16:14 +0000)]
Fix bug0070 : IWORK dimension is incorrect
bug report sent by nmozarto on Jan 27th
see forum topic 2156
From Brian:
The correct dimension is (M-R), in which R is the smallest of P, M-P, Q, and M-Q.
An M-by-M matrix is partitioned into a 2-by-2 block structure. The
dimensions of the blocks are P-by-Q, P-by-(M-Q), (M-P)-by-Q, and
(M-P)-by-(M-Q). IWORK is involved in the permutation of rows or
columns of these blocks, and it is the largest block, in terms of
number of rows or columns, that determines the size of IWORK.
julie [Fri, 28 Jan 2011 23:04:40 +0000 (23:04 +0000)]
Correct bug0069
Bug was sent by nmozarto on Jan 27th (see forum topic 2156)
Problem in new function ?SYTRI2 was found: the part of A below the diagonal is changed in the case UPLO='U' .
But in the description of arguments
If UPLO = 'U', the upper triangular part of the
inverse is formed and the part of A below the diagonal is not
referenced; if UPLO = 'L' the lower triangular part of the
inverse is formed and the part of A above the diagonal is
not referenced.
These elements zeroized after calling ?GEMM function in ?SYTRI2X.
CALL SGEMM('T','N',NNB,NNB,CUT,ONE,A(1,CUT+1),LDA,
$ WORK,N+NB+1, ZERO, A(CUT+1,CUT+1), LDA)
julie [Thu, 27 Jan 2011 14:25:04 +0000 (14:25 +0000)]
Same for hetrs2 routines
julie [Thu, 27 Jan 2011 14:21:35 +0000 (14:21 +0000)]
Follow-up: fix for new routines to handle LDA
See bug0067
langou [Wed, 26 Jan 2011 14:02:05 +0000 (14:02 +0000)]
1) Je viens de modifier le fichier timer_dsytri2.c de telle sorte a ce qu'il
traite les matrices avec des lda.
Exemple:
> gfortran timer_dsytri2.c /Users/langou/Documents/lapack-dev-trunk.svn/lapack_LINUX.a -framework vecLib
> ./a.out -U -lda 1079 -n 100
DSYTRI2 info=0, check=1.891597e-14
Dispo dans ldlt.git. Marche bien. Upper ou Lower. LDA different de N ou pas. Le
check est
|| A . inv(A) - I || / || A ||
(Je pense que il faut diviser par || A || * || inv(A) ||, pas tres important.)
2) Du coup, dans ce commit, je rectifie tous les codes. Cela compile. Je n'ai
pas verifie les testings. Je n'ai pas ecrit de driver pour verifier. (Le driver
n'est que pour la version DOUBLE.)
JL
langou [Wed, 26 Jan 2011 05:49:27 +0000 (05:49 +0000)]
bon maintenant, ca compile ... (desole)
langou [Wed, 26 Jan 2011 05:47:42 +0000 (05:47 +0000)]
J'ai lu le code vite fait. Comme ca, ca devrait marcher. Je n'ai pas verifie.
Je n'ai meme pas essaye de compiler en fait. En gros mettre LDA en parametre,
definir A comme etant A( LDA, N ) et pour l'increment du swap mettre LDA a la
place de N quand tu travailles sur les lignes. Donc c'est tout con.
Donc il faut ecrire un driver qui teste ca avec une LDA differente de N ... Et
appliquer les modifications aux autres routines CHE, CSY, ZHE, ZSY et SSY.
Sinon pourquoi dans DSYSWAPR, est ce que tu utilises DSWAP de temps en temps,
et de temps en temps tu le fais a la main? Je n'ai pas regarde les details.
JL.
julie [Tue, 25 Jan 2011 22:02:14 +0000 (22:02 +0000)]
Include Zlatko changes following Paul Roberts from NAG report
Message from Zlatko:
The following changes are made in the
current version of the code:
1. in dgejsv, sgejsv:
- a typo in checking the parameters LSVEC.OR.LSVEC
has been changed to LSVEC.OR.RSVEC
- the length of WORK, LWORK, its description
and the minimal length for different JOBs
have been revised and corrected
- in a call to xGESVJ with WORK(N+1), the length
of the workspace is set to the correct value of
LWORK-N, instead of the incorrect LWORK
- a missing RETURN after a call to XERBLA
has been inserted
- In the case of zero matrix on input, IWORK(3)
is set to ZERO, to correspond to the description
of IWORK in other nontrivial cases
2. in all routines
- simple editing so that the single and
the corresponding double routines have matching
lines in the source codes.
julie [Mon, 24 Jan 2011 20:05:41 +0000 (20:05 +0000)]
Correct multiple definition in the lapack lib (See forum topic 2099 - Bruno)
julie [Thu, 20 Jan 2011 17:33:46 +0000 (17:33 +0000)]
Adding new hetri routines