platform/upstream/lapack.git
8 years agoChange the default compilation flags for the Intel Fortran compiler.
langou [Mon, 25 Jan 2016 16:00:32 +0000 (16:00 +0000)]
Change the default compilation flags for the Intel Fortran compiler.

The LAPACK TESTING should run error free with these settings.

Previously were:
OPTS     = -O3
NOOPT    = -O3 -fltconsistency -fp_port
Now are:
OPTS     = -O3 -fp-model strict
NOOPT    = -O0 -fp-model strict

Thanks to Viswanathan Elumalai the University of Pittsburgh for reporting the
problem, Jason Riedy for suggesting to use the flags "fp-model strict" and Osni
Marques for playing with a lots of flag combinations!

8 years agoAdding support to Compaq Compiler on Windows - Contribution from Davis Vowles sent...
julie [Wed, 20 Jan 2016 15:45:15 +0000 (15:45 +0000)]
Adding support to Compaq Compiler on Windows - Contribution from Davis Vowles sent on jan 20th 2016

8 years agoCommit David fix - sent on Jan 16th 2016 directly
julie [Tue, 19 Jan 2016 05:05:15 +0000 (05:05 +0000)]
Commit David fix - sent on Jan 16th 2016 directly
Confirmed by Julie on Jan 18th 2016
Note: issue (1) was fixed in previous commit

Message from David

(1) Line 147 of SRC/zgetrf2.f contains the following code:

      EXTERNAL           ZGEMM, ZSCAL, ZLASWP, ZTRSM, ZERBLA

Inspection of the zgetrf2.f code suggests that ZERBLA on line 147 should in fact be replaced by XERBLA.

--> [JULIE] This was fixed in our SVN on Dec 7th, 2015, revision 1664

(2) Lines 444 to 447 of  TESTING\EIG\cdrvbd.f contains the following code:

      EXTERNAL           ALASVM, XERBLA, CBDT01, CBDT05, CGESDD, CGESVD,
     $                   CGESVJ, CGEJSV, CGESVDX, CLACPY, CLASET, CLATMS,
     $                   CUNT01, CUNT03

Since the length of line 445 is 73 characters the comma at the end of that line is truncated and a symbol CLATMSCUNT01 is erroneously defined. Then during linking an error is generated because this erroneously defined symbol cannot be found.

** Recommendation ** The developers reformat all code to ensure strict adherence to the standard 72 column formatting of fixed format source files. As is well known violation of this formatting rule can result in subtle undetected errors.

(3) Similar formatting errors to that in (2) have been detected in:
TESTING\EIG\zdrvbd.f (line 445)
TESTING\EIG\dchkbd.f (line 548)
TESTING\EIG\ddrvbd.f (line 407)
TESTING\EIG\derrbd.f (line 92)
TESTING\EIG\schkbd.f (line 548)
TESTING\EIG\sdrvbd.f (line 407)
TESTING\EIG\serrbd.f (line 92)

(4) Lines 103 to 104 of TESTING\EIG\cerred.f contains the following code:

      EXTERNAL           CHKXER, CGEES, CGEESX, CGEEV, CGEEVX, CGEJSV
     $                   CGESDD, CGESVD

There is a comma missing from the end of line 103. This does not result in a compilation error. Rather an invalid symbol CGEJSVCGESDD is defined which ultimately causes an error during linking.

8 years agoOops..Missing ending bracket in last commit..
julie [Tue, 19 Jan 2016 04:42:13 +0000 (04:42 +0000)]
Oops..Missing ending bracket in last commit..

8 years agoCommit interface inconsistencies fix proposed by David Vowles on Jan 18th 2016 -...
julie [Tue, 19 Jan 2016 04:37:26 +0000 (04:37 +0000)]
Commit interface inconsistencies fix proposed by David Vowles on Jan 18th 2016 - sent directly to Julie
Confirmed by Julie on Jan 18th 2016
Routines: [cz]unbdb[1234].f, [SD]ORBDB[1234].f

== First Email from David ==
I have encountered some additional errors when compiling Lapack v3.6.0 with Compaq Visual Fortran. Interestingly, these errors did not occur when compiling with Intel Visual Fortran.

File: “SRC\cunbdb1.f” Lines: 310-312

            C = SQRT( SCNRM2( P-I, X11(I+1,I+1), 1, X11(I+1,I+1),
     $          1 )**2 + SCNRM2( M-P-I, X21(I+1,I+1), 1, X21(I+1,I+1),
     $          1 )**2 )

The interface to the BLAS SCNRM2 function is SCNRM2(N,X,INCR) whereas the interfaces to the SCNRM2 function calls in “SRC\cunbdb1.f” are of the form SCNRM2(N, X1, INC1, X2, INC2).

Similar interface inconsistencies are found in the following files:
File: “SRC\cunbdb2.f” Lines: 299-300
File: “SRC\cunbdb3.f” Lines: 299-300
File: “SRC\cunbdb4.f” Lines: 347-349

The above inconsistencies between the interface of the function definition and the function call causes compilation failure of the test-function  “xeigtstc.exe”

It is unclear if function calls of the form SCNRM2(N, X1, INC1, X2, INC2) should be replaced by SCNRM2(N, X1, INC1) or if some other correction is required.

== Second Email from David: ==

By the way, I found similar interface inconsistencies in the SRC\cunbdb<n>.f subroutines for <n> = 1 to 4;
and in the SRC\<t>ORBDB<n>.f subroutines for <t> = D and S and <n> = 1 to 4.
A total of 16 subroutines are affected – the four mentioned in my previous email and the twelve mentioned here.

After changing the calls in the affected files from *NRM2(N,X1,INC1,X2,INC2) to *NRM2(N,X1,INC1)
my build for Windows x86 with Compaq Visual Fortran (CVF) completed successfully and all tests passed.
But I do await your verdict as to whether the proposed modification to the function calls is correct.

If I understand correctly STDCALL is the default calling mechanism for the CVF compiler whereas for
the (Intel Visual Fortran) IVF compiler it is the C calling convention. I wonder if this difference
in calling convention explains why the affected test programs compile and link with IVF but fail to link with CVF.

8 years agoFix typos reported by Elena
julie [Wed, 13 Jan 2016 03:02:36 +0000 (03:02 +0000)]
Fix typos reported by Elena

8 years agoFix typos reported by Elena
julie [Wed, 13 Jan 2016 03:01:05 +0000 (03:01 +0000)]
Fix typos reported by Elena

8 years agofixing typo reported by Elena Ivanova (Oracle) to Julie on Jan 11th 2016
julie [Wed, 13 Jan 2016 02:48:53 +0000 (02:48 +0000)]
fixing typo reported by Elena Ivanova (Oracle) to Julie on Jan 11th 2016

8 years agoCommitting Christoph Conrads patch sent on Jan 11th on LAPACK Mailing List
julie [Tue, 12 Jan 2016 05:37:08 +0000 (05:37 +0000)]
Committing Christoph Conrads patch sent on Jan 11th on LAPACK Mailing List

From Christoph:
after the changes of the Doxygen config file in SVN revisions 1625
and 1626, routines are grouped together in the documentation, e.g., all
eigenvalue solvers for symmetric matrices in double precision.
Currently, the documentation for all routines in one group is put on
the same HTML page. I find this confusing and it slows my browser.

If every function has its own HTML page, then you can jump to the top
of the page by pressing POS1 to see the function arguments and their
description. Also you can jump to the bottom of the page with END to
see the callgraph of the respective function.

The patch in the attachment enables the SEPARATE_MEMBER_PAGES option
that puts each function documentation on its own HTML page. Please
consider applying this patch.

8 years agoCommitting Sébastien Villemot patches (5) sent on Jan 6th 2016 to LAPACK Mailing...
julie [Fri, 8 Jan 2016 03:07:42 +0000 (03:07 +0000)]
Committing Sébastien Villemot patches (5) sent on Jan 6th 2016 to LAPACK Mailing list

From Sébastien Villemot:
I attach to this message 5 patches that are currently applied to the
Debian package for LAPACK, and that I think could be usefully merged in
the LAPACK SVN tree.

The patches include fixes for old outstanding bugs in the CBLAS test
programs, fixes for the build system, and fixes for various typos.

Each patch file contains a more detailed description of its purpose.

8 years ago( remove unused COMPLEX*16 variable T )
langou [Tue, 5 Jan 2016 02:25:35 +0000 (02:25 +0000)]
( remove unused COMPLEX*16 variable T )
( see email from Berend Hasselman on 01/04/2016 )

8 years agoFrom Eugene Chereshnev, see: http://icl.cs.utk.edu/lapack-forum/posting.php?t=4867
langou [Thu, 17 Dec 2015 16:58:03 +0000 (16:58 +0000)]
From Eugene Chereshnev, see: icl.cs.utk.edu/lapack-forum/posting.php?t=4867

8 years agoPatch from Andreas Noack (MIT).
langou [Thu, 10 Dec 2015 03:08:12 +0000 (03:08 +0000)]
Patch from Andreas Noack (MIT).

The code for DGEEV was checking the INFO parameter returned by DHSEQR as
    IF( INFO.GT.0 )THEN "QUIT"

Andreas proposed to check
    IF( INFO.NE.0 )THEN "QUIT"

I am fine with the modification. Not terribly excited but fine.

There is really no reason for the case ( INFO.LT.0 ) to happen, so we should
not have to deal with this case.  If this happen, it is really a bug and we
should be notified.  But, at this point, why not.

I applied the proposed patch to xGEEV and xGEEVX.

Julien.

8 years agoBug reported by Tracey Brendan. Thanks Tracey.
langou [Thu, 10 Dec 2015 02:52:46 +0000 (02:52 +0000)]
Bug reported by Tracey Brendan. Thanks Tracey.
See: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?t=4863

8 years agoBug reported by Tracey Brendan. Thanks Tracey.
langou [Thu, 10 Dec 2015 02:42:34 +0000 (02:42 +0000)]
Bug reported by Tracey Brendan. Thanks Tracey.
See: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?t=4862

8 years agoFix comment to match the code.
luszczek [Thu, 10 Dec 2015 00:19:18 +0000 (00:19 +0000)]
Fix comment to match the code.

8 years agoMoving variable declaration up...seems to cause problem with certain compilers..Windows
julie [Tue, 8 Dec 2015 06:48:18 +0000 (06:48 +0000)]
Moving variable declaration up...seems to cause problem with certain compilers..Windows

8 years agoFix typos in routine declaration
julie [Tue, 8 Dec 2015 06:40:25 +0000 (06:40 +0000)]
Fix typos in routine declaration

8 years agoQ doesn't need to be set when vect == v, so no need to check for nan
mfaverge [Thu, 3 Dec 2015 18:00:07 +0000 (18:00 +0000)]
Q doesn't need to be set when vect == v, so no need to check for nan

8 years agoZ doesn't need to be set when vect == v, so no need to check for nan
mfaverge [Thu, 3 Dec 2015 17:58:40 +0000 (17:58 +0000)]
Z doesn't need to be set when vect == v, so no need to check for nan

8 years agooops . . .
langou [Mon, 30 Nov 2015 03:25:19 +0000 (03:25 +0000)]
oops . . .

this is related to commit r1654.

In commit r1654, I fixed the error parameter in GESVDX to be 17 when LDVT is
invalid, I should also have changed the test suite.  Both the code and the test
suite were incorrect.

Between r1654 and r1659, LAPACK error testing were returning 4 errors because
of this.

Fixed.

Julien.

8 years agoaddress bug comment from Martin Köhler ( Max Planck Institute for Dynamics of Complex...
langou [Mon, 30 Nov 2015 03:13:55 +0000 (03:13 +0000)]
address bug comment from Martin Köhler ( Max Planck Institute for Dynamics of Complex Technical Systems )
sent to lapack mailing list on Nov 29th at 7:26pm: "Bug in xGETC2"
email of Martin Köhler below

(1) add a quick return for N=0

(2) add a quick return for N=1

(3) no one reviewed this fix, feel free to comment

Dear LAPACK people,

I found a bug concerning the following function:

The xGETC2 is the level-2 BLAS implementation of an LU decomposition
with complete pivoting. Thereby, a "comparison depending on an
uninitialized value" appears if the input is an one-by-one matrix.
Namely the code in line 202 (LAPACK 3.5.0):
    IF( ABS( A( N, N ) ).LT.SMIN ) THEN
accesses SMIN which is set in the previous DO loop. This loop is
only called if N > 1 and so SMIN is not set to a well defined value
if N = 1. But the documentation claims that all matrix N>=0 are
allowed. Furthermore if calling with N = 0 the quick return
statement is missing and the evaluation of ABS(A(N,N)) then yields
an out-of-bound memory violation.

These bug affect the real and the double precision code as well
as their complex counterparts from LAPACK 3.0 up to the current
LAPACK 3.6.

regards,
Martin Köhler

8 years agominor: use of TABS instead of SPACES in one line of these two files
langou [Mon, 30 Nov 2015 02:45:36 +0000 (02:45 +0000)]
minor: use of TABS instead of SPACES in one line of these two files

8 years agoFix bug on [sd]lantr which don't report the result
mfaverge [Wed, 25 Nov 2015 14:37:14 +0000 (14:37 +0000)]
Fix bug on [sd]lantr which don't report the result

8 years agooops, change some C to Z in the Z routines
langou [Sun, 22 Nov 2015 20:36:04 +0000 (20:36 +0000)]
oops, change some C to Z in the Z routines

8 years agoCorrect workspace computation for [CZ]GESVDX when a workspace query is done
langou [Sun, 22 Nov 2015 20:34:02 +0000 (20:34 +0000)]
Correct workspace computation for [CZ]GESVDX when a workspace query is done

This is a bug report and a bug fix from Lawrence Mulholland from NAG.

Thanks Lawrence!

Also add a variable ITEMPR to index the real workspace RWORK as opposed to
using ITEMP. ITEMP is for complex workspace WORK, while ITEMPR is for the real
workspace RWORK. Sounds good.

Thanks Lawrence!

See http://icl.cs.utk.edu/lapack-forum/viewtopic.php?t=4851

8 years agoCorrect workspace computation for [s/d]gesvdx.f
langou [Sat, 21 Nov 2015 04:55:02 +0000 (04:55 +0000)]
Correct workspace computation for [s/d]gesvdx.f
See thread: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?t=4850
From Lawrence Mulholland (NAG)
Thanks Lawrence!

8 years agoCorrect the INFO parameter value when LVT is not correct. (LDVT is 17th
langou [Fri, 20 Nov 2015 22:26:43 +0000 (22:26 +0000)]
Correct the INFO parameter value when LVT is not correct.  (LDVT is 17th
argument and not 16th.)

Thanks to Lawrence Mulholland from NAG.  See:
http://icl.cs.utk.edu/lapack-forum/viewtopic.php?t=4851

8 years agoCommit patch submitted by Orion Poplawski on Nov 18th 2015 on LAPACK mailing List
julie [Thu, 19 Nov 2015 05:47:49 +0000 (05:47 +0000)]
Commit patch submitted by Orion Poplawski on Nov 18th 2015 on LAPACK mailing List

Fix: properly avoid setting the install rpath when installing to system directories.

8 years agoFix typo
julie [Wed, 18 Nov 2015 15:37:25 +0000 (15:37 +0000)]
Fix typo

8 years agoFix upper case issue in CMakeLists reported by Julien Shueller on Nov 17th to Julie
julie [Wed, 18 Nov 2015 06:04:24 +0000 (06:04 +0000)]
Fix upper case issue in CMakeLists reported by Julien Shueller on Nov 17th to Julie

In CBLAS/CMakeLists.txt:

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CMAKE/cblas-config-version.cmake.in
 ${LAPACK_BINARY_DIR}/cblas-config-version.cmake @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CMAKE/cblas-config-build.cmake.in
 ${LAPACK_BINARY_DIR}/cblas-config.cmake @ONLY)

The /CMAKE subdirectory should be lowercase, I guess some work on OSX which (still!) has a case-insensitive file-system.

8 years agoCommit fix proposed by Julien Schueller
julie [Tue, 17 Nov 2015 05:05:55 +0000 (05:05 +0000)]
Commit fix proposed by Julien Schueller
Sent to LAPACK mailing list on Nov 16th 2015

 spotted a minor inconsistency in the lapacke cmake config files install directory location.

in CMakeLists.txt:

install(FILES
 ${LAPACK_BINARY_DIR}/CMakeFiles/lapack-config.cmake
 ${LAPACK_BINARY_DIR}/lapack-config-version.cmake
 DESTINATION ${LIBRARY_DIR}/cmake/lapack-${LAPACK_VERSION}
 )

in LAPACKE/CMakeLists.txt:

install(FILES
 ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/lapacke-config.cmake
 ${LAPACK_BINARY_DIR}/lapacke-config-version.cmake
 DESTINATION lib/cmake/lapacke-${LAPACK_VERSION}
 )

So lapack-config.cmake and lapacke-config-version.cmake could be installed in different directories in cases where CMAKE_INSTALL_LIBDIR is not set to "lib", eg Fedora or RHEL.

I propose to fix LAPACKE/CMakeLists.txt:
sed -i "s|DESTINATION lib/cmake/lapacke|DESTINATION \${LIBRARY_DIR}/cmake/lapacke|g" LAPACKE/CMakeLists.txt

8 years agoThanks to Lawrence Mulholland from NAG for improving the newly released complex
langou [Mon, 16 Nov 2015 23:48:28 +0000 (23:48 +0000)]
Thanks to Lawrence Mulholland from NAG for improving the newly released complex
Jacobi SVD, and thanks to Zlatko Drmac for following so fast and improving the
code.  See: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?t=4844
for more information about all this. Julien.

8 years agoMistake in computation of workspace for ZGGEV3. When calling ZHGEQZ the
langou [Mon, 16 Nov 2015 15:17:44 +0000 (15:17 +0000)]
Mistake in computation of workspace for ZGGEV3.  When calling ZHGEQZ the
penultimate argument should be RWORK and not WORK.  Easy to fix, not a big big
deal but some compilers might legitimatley complain.

Reported by Pavel Holoborodko on Mon Nov 16 2015. See:
http://icl.cs.utk.edu/lapack-forum/viewtopic.php?t=4796
Thanks Pavel!

Julien.

8 years agoFix typo
julie [Sun, 15 Nov 2015 21:29:03 +0000 (21:29 +0000)]
Fix typo

8 years agoUpdating Docyfile for manpages
julie [Sun, 15 Nov 2015 21:07:31 +0000 (21:07 +0000)]
Updating Docyfile for manpages

8 years agoMissing parameter definition
julie [Sun, 15 Nov 2015 21:06:49 +0000 (21:06 +0000)]
Missing parameter definition

8 years agoUpdating version number
julie [Sun, 15 Nov 2015 20:33:40 +0000 (20:33 +0000)]
Updating version number

8 years agoadding the GETRF2 and POTRF2 from LAPACKE to CMAKE
langou [Sun, 15 Nov 2015 19:19:56 +0000 (19:19 +0000)]
adding the GETRF2 and POTRF2 from LAPACKE to CMAKE

8 years agoadding xGETRF2 to LAPACKE
langou [Sun, 15 Nov 2015 19:17:09 +0000 (19:17 +0000)]
adding xGETRF2 to LAPACKE

8 years agoadding xPOTRF2 to LAPACKE
langou [Sun, 15 Nov 2015 19:03:17 +0000 (19:03 +0000)]
adding xPOTRF2 to LAPACKE

8 years agoadding end bracket...now looks better
julie [Sun, 15 Nov 2015 18:00:34 +0000 (18:00 +0000)]
adding end bracket...now looks better

8 years agoremoving extra bracket
julie [Sun, 15 Nov 2015 17:56:10 +0000 (17:56 +0000)]
removing extra bracket

8 years agoAdding potrf2 and getrf2 to CMakefile
julie [Sun, 15 Nov 2015 17:43:25 +0000 (17:43 +0000)]
Adding potrf2 and getrf2 to CMakefile

8 years agointegration of xGETRF2
langou [Sun, 15 Nov 2015 17:15:57 +0000 (17:15 +0000)]
integration of xGETRF2

8 years agointegration of xPOTRF2
langou [Sun, 15 Nov 2015 16:49:46 +0000 (16:49 +0000)]
integration of xPOTRF2

8 years agoAdd the missing CONJG ...
julie [Sun, 15 Nov 2015 02:50:39 +0000 (02:50 +0000)]
Add the missing CONJG ...

TESTINGS are all good now!

8 years agoAdding CGESVJ/ZGESVJ and CGEJSV/ZGESVJ to the testing suite
julie [Sun, 15 Nov 2015 02:19:18 +0000 (02:19 +0000)]
Adding CGESVJ/ZGESVJ and CGEJSV/ZGESVJ to the testing suite

Note: TEST 15 and 19 (xBDT01  - | A - U diag(S) VT | / ( |A| max(M,N) ulp )  are not passing the threshold
      TEST 15 and 19 are commented until we find the fix

8 years agoFix cast...
julie [Sat, 14 Nov 2015 06:40:57 +0000 (06:40 +0000)]
Fix cast...

8 years agoAdding *esvdx and *bdsvdx to LAPACKE
julie [Sat, 14 Nov 2015 06:30:55 +0000 (06:30 +0000)]
Adding *esvdx and *bdsvdx to LAPACKE

*** NEED REVIEW ***

8 years agoSee: http://icl.utk.edu/lapack-forum/viewtopic.php?t=4830
langou [Fri, 13 Nov 2015 18:03:21 +0000 (18:03 +0000)]
See: icl.utk.edu/lapack-forum/viewtopic.php?t=4830

The variables NDIV, NITER and NFAIL are INOUT.  These variables have to be
initialized (e.g., in LASQ2) before callin LASQ3.  LASQ3 increments these
counters.  These counters do not play a role in the algorithm; they just give
statistics.) Thanks to Tracey Brendan for the report.

8 years agoAdding *gesvj and *gejsv to LAPACKE
julie [Fri, 13 Nov 2015 07:41:33 +0000 (07:41 +0000)]
Adding *gesvj and *gejsv to LAPACKE

8 years agoUpdate Doxyfile... one more
julie [Thu, 12 Nov 2015 15:15:07 +0000 (15:15 +0000)]
Update Doxyfile... one more

8 years agoUpdate Doxyfile
julie [Thu, 12 Nov 2015 15:09:31 +0000 (15:09 +0000)]
Update Doxyfile

8 years ago Rook with 2 o , not 3...
julie [Wed, 11 Nov 2015 06:28:29 +0000 (06:28 +0000)]
 Rook with 2 o , not 3...

8 years agoCommitting patch submitted by Christopher Conrad on Sept 25th 2015
julie [Wed, 11 Nov 2015 06:20:49 +0000 (06:20 +0000)]
Committing patch submitted by Christopher Conrad on Sept 25th 2015

From Christopher:
I noticed the following errors in the documentation and attached
patches for all of them:
- Sometimes the function name in the docstring \brief does not match the
actual function name (ex: xSYGV*).
- According to the documentation, xLAHRD is obsolete but not deprecated.
- The parameter N in xLA(R)SCL2 is not the number of columns of D.

Also, I updated the Doxyfile (doxygen -u DOCS/Doxyfile) and removed
the missing DOT_FONTNAME to get rid of the Doxygen warnings.

8 years agoAdding xlapmt to LAPACKE ( continue ) .. forgot to save the include file
julie [Wed, 11 Nov 2015 05:52:56 +0000 (05:52 +0000)]
Adding xlapmt to LAPACKE ( continue ) .. forgot to save the include file

8 years agoAdding xlapmt to LAPACKE
julie [Wed, 11 Nov 2015 05:40:19 +0000 (05:40 +0000)]
Adding xlapmt to LAPACKE

8 years agoFix cast for lwork in complex [cz]uncsd2by1 routines
julie [Wed, 11 Nov 2015 05:13:21 +0000 (05:13 +0000)]
Fix cast for lwork in complex [cz]uncsd2by1 routines

8 years agoIncorporating DBDSVDX tests in dchkbd
julie [Wed, 11 Nov 2015 03:35:02 +0000 (03:35 +0000)]
Incorporating DBDSVDX tests in dchkbd

Disabling temporarily some [SD]BDSVDX tests - those generate some numerical errors
See email from Osni on Nov 10th 2015

8 years agoAdding routines to Makefile / CMakefile.txt
julie [Mon, 9 Nov 2015 00:13:42 +0000 (00:13 +0000)]
Adding routines to Makefile / CMakefile.txt

8 years agoCommitting Zlatko Drmac Contribution
julie [Mon, 9 Nov 2015 00:10:27 +0000 (00:10 +0000)]
Committing Zlatko Drmac Contribution

8 years agoFirst commit for Zlatko Drmac Contribution - Fixing z precisions issues + modif sent...
julie [Sun, 8 Nov 2015 23:42:08 +0000 (23:42 +0000)]
First commit for Zlatko Drmac Contribution - Fixing z precisions issues + modif sent by Zlatko

8 years agoFirst commit for Zlatko Drmac Contribution
julie [Sun, 8 Nov 2015 23:24:14 +0000 (23:24 +0000)]
First commit for Zlatko Drmac Contribution

Contains only source code with Doxygen format and Makefile modifications for
CGESVJ (Jacobi SVD) with its dependencies: CGSVJ0 and CGSVJ1.

TO DO:
  - Include Testing
  - LAPACKE interface

8 years agoChange DBLE cast by REAL - confirmed with Osni
julie [Fri, 6 Nov 2015 01:16:19 +0000 (01:16 +0000)]
Change DBLE cast by REAL - confirmed with Osni

8 years agoThanks to Lawrence Mulholland (NAG) for reporting the problem. While the array
langou [Wed, 4 Nov 2015 19:54:31 +0000 (19:54 +0000)]
Thanks to Lawrence Mulholland (NAG) for reporting the problem.  While the array
E should really be of size N-1, xSYCONV() is not ready for this and so, in the
comment at the header level, we now require E to be of size N. Also xSYTRS2()
is using E(N) = ZERO, so if we make E of size N-1 in xSYCONV(), then we need to
see the impact on xSYTRS2().  This is long term cleaning, so for now, we revert
back to requesting an array E of size N. Thanks Lawrence for noticing this.

8 years agoCommit svdx files sent by Osni on Oct 31st 2015
julie [Wed, 4 Nov 2015 06:22:56 +0000 (06:22 +0000)]
Commit  svdx files sent by Osni on Oct 31st 2015
Updated Makefile
Updated file format (Oxygen)
Small Fix: sdrvbd / cdrvbd has a lot of double / double complex in comments

From Osni:
Files for LAPACK/SRC (all new, additions to Makefile are needed):

 - dbdsvdx.f, sbdsvdx.f: full or partial (subset) SVD of a bidiagonal matrix through an associated eigenvalue problem
 - dgesvdx.f, sgesvdx.f, zgesvdx.f, cgesvdx.f: full or partial (subset) SVD of a general matrix by invoking bdsvdx

Files for LAPACK/TESTING/EIG :
- dchkbd.f, schkbd.f: added tests 20-34 for bdsvdx
- dbdt04.f, sbdt04.f (new): needed for tests 25 and 30 in chkbd
- dlahd2.f, slahd2.f: added information about tests 20-34 in chkbd
- derrbd.f, serrbd.f: added tests for the values of INFO returned by bdsvdx
- ddrvbd.f, sdrvbd.f, zdrvbd.f, cdrvbd.f: added tests 23-35 (real case) and 15-27 (complex case) for gesvdx.
- dbdt05.f, sbdt05.f, zbdt05.f, cbdt05.f (new): needed for tests 30,33 (real case) and 22,25 (complex case) for gesvdx
- derred.f, serred.f, zerred.f, cerred.f: added tests for the values of INFO returned by gesvdx

Current Issues:
 - 16 real tests do not pass the threshold ( ssvd.out) - but seems to go through in debug
 - serrbd.f has some DOUBLE PRECISION calculation inside - Is that ok or shall we change it to REAL?
Line 113-119
*     Set the variables to innocuous values.
*
      DO 20 J = 1, NMAX
         DO 10 I = 1, NMAX
            A( I, J ) = 1.D0 / DBLE( I+J )
   10    CONTINUE
   20 CONTINUE

TODO:
     - corresponding LAPACKE routines
     - Test Doxygen format

8 years agoFix some typos..
julie [Wed, 4 Nov 2015 05:34:49 +0000 (05:34 +0000)]
Fix some typos..

8 years agoremove extra tabs - Thank you Matyas A Sustik
julie [Sun, 1 Nov 2015 16:21:47 +0000 (16:21 +0000)]
remove extra tabs - Thank you Matyas A Sustik

8 years agoIn ?syconv, replace the variable name WORK by the variable name E. E is the
langou [Thu, 29 Oct 2015 05:06:14 +0000 (05:06 +0000)]
In ?syconv, replace the variable name WORK by the variable name E.  E is the
standard way to name the supdiagonal/subdiagonal of a symmetric tridiagonal
matrix.  Also, E (previously WORK) is of size N-1, not N. So correct this in
the comment.

8 years agoThe subroutine DSYCONV stores the supdiagonal of the symmetric 1-by-1 or 2-by-2
langou [Thu, 29 Oct 2015 04:58:50 +0000 (04:58 +0000)]
The subroutine DSYCONV stores the supdiagonal of the symmetric 1-by-1 or 2-by-2
block matrix in the array WORK. (Or the subdiagonal, same array.) Before
commit, only the nonzero elements of WORK were initialized to their correct
nonzero values. The zero entries were not initialized and not referenced and
assumed to be zero in subsequent subroutines. This is fine, but I think a
better behavior for the subroutine is to initialize these zero entries to zero.
So the commit is initializing these entries to zero.

Also a (double precision) ZERO in the D routine should have been an (integer)
0.

Also fix some formatting to have C, D, and S consistent.

Note: the indentations, comments of the Z routine is not consistent with C, D and
S. I did not have time to fix this.

8 years agominor: (1) eliminate trailing spaces in comments and (2) comment indicators
langou [Thu, 29 Oct 2015 04:41:20 +0000 (04:41 +0000)]
minor: (1) eliminate trailing spaces in comments and (2) comment indicators
along the left margin of the commented fragment, in order to show explicitly
that the fragment is a comment rather than a code between two comments.
Thanks Dmitry.

8 years agoRemove NaN check from LAPACKE_?laswp and add a comment on why the NaN check is removed.
langou [Wed, 28 Oct 2015 02:35:58 +0000 (02:35 +0000)]
Remove NaN check from LAPACKE_?laswp and add a comment on why the NaN check is removed.
This might not be the best fix but this will do for now.
Current behavior: LAPACKE_?laswp does not check for NaNs.
See: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?t=4827 for more information.
Thanks to Dmitry Baksheev from Intel.

8 years agoApply Christoph Conrads Doxygen patch for xyycsd2by1.f - comment modification only
julie [Tue, 27 Oct 2015 14:10:26 +0000 (14:10 +0000)]
Apply Christoph Conrads Doxygen patch for xyycsd2by1.f - comment modification only

8 years agoCommitting temporary fix for bug 113
julie [Tue, 27 Oct 2015 03:16:53 +0000 (03:16 +0000)]
Committing temporary fix for bug 113
Submitted by Osni Marques on Oct 22nd 2015
we just need to set the variable NOFAIL to .false. in _larrf.f (line 260).
As it is now, dsyevr may enter into an infinite loop in some rare cases.
With NOFAIL=.false. the code will return an error message.

8 years agoFix bug 137 and 138 submitted by Dan Kortschak
julie [Thu, 22 Oct 2015 05:29:34 +0000 (05:29 +0000)]
Fix bug 137 and 138 submitted by Dan Kortschak

Applied patch submitted by Dan Kortschak

8 years agoFix bug 139 submitted by Christoph Conrads on Oct 6th 2015
julie [Thu, 22 Oct 2015 04:39:19 +0000 (04:39 +0000)]
Fix bug 139 submitted by Christoph Conrads on Oct 6th 2015
"according to the LAPACK documentation, xSTEDC guarantees to
return the eigenvalues in ascending order (parameter D on exit). To
this end, it sorts the eigenvalues if necessary.

If there is only a single subproblem of size n, no sorting algorithm is
called (cf. {s,d}tedc.f, line 450). Furthermore, xLAED0
({s,d}tedc.f:400) does not guarantee to return eigenvalues in ascending
order. Thus, xSTEDC may return eigenvalues that are not in ascending
order."

Applied patch provided by Christoph Conrads: "always sorting the eigenvalues"

8 years agobugs in ?GGHD3 : B,LDA-->B,LDB and zeroing of too large a submatrix
lawrence.mulholland [Tue, 13 Oct 2015 12:10:47 +0000 (12:10 +0000)]
bugs in ?GGHD3 : B,LDA-->B,LDB and zeroing of too large a submatrix

8 years agoQuick and dirty bug fix.
langou [Tue, 6 Oct 2015 02:11:30 +0000 (02:11 +0000)]
Quick and dirty bug fix.

Bug report and bug fix from Dan Kortschak.

See:
http://icl.cs.utk.edu/lapack-forum/viewtopic.php?t=4810
https://github.com/xianyi/OpenBLAS/issues/642

This is a quick bug fix, this only checks the triangular part of the trapezoid,
the rectangular part is not checked. Another commit should follow up soon.

8 years agoAdding [un/or]csd2by1 routines to LAPACKE
julie [Mon, 5 Oct 2015 01:26:04 +0000 (01:26 +0000)]
Adding [un/or]csd2by1 routines to LAPACKE

8 years agoAdding xlascl to LAPACKE
julie [Mon, 5 Oct 2015 00:04:38 +0000 (00:04 +0000)]
Adding xlascl to LAPACKE

8 years ago Updating Copyright with current year
julie [Sun, 4 Oct 2015 18:57:19 +0000 (18:57 +0000)]
 Updating Copyright with current year

8 years agoAdding xsytrf_rook, xsytrs_rook, xhetrf_rook and xhetrs_rook to LAPACKE
julie [Fri, 25 Sep 2015 05:15:44 +0000 (05:15 +0000)]
Adding xsytrf_rook, xsytrs_rook, xhetrf_rook and xhetrs_rook to LAPACKE

8 years agoAdding xlahrd to DEPRECATED (problem reported by zerothi)
julie [Sat, 19 Sep 2015 19:22:02 +0000 (19:22 +0000)]
Adding xlahrd to DEPRECATED (problem reported by zerothi)

8 years agoFixing comments in [sd]lasd6
julie [Sat, 19 Sep 2015 16:46:16 +0000 (16:46 +0000)]
Fixing comments in [sd]lasd6

Issue : Parameter IDXQ of function SLASD6 is described as [out], should be described as [in,out].
Reported by dbakshee from INTEL on the forum on Sep 18th 2015
Link: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4799
8 years agoHandle Deprecated routines in LAPACKE Makefile
julie [Wed, 16 Sep 2015 05:12:31 +0000 (05:12 +0000)]
Handle Deprecated routines in LAPACKE Makefile

8 years agoIssues and fixes submitted by Christoph Conrads on Sept 14th by email
julie [Tue, 15 Sep 2015 07:12:59 +0000 (07:12 +0000)]
Issues and fixes submitted by Christoph Conrads on Sept 14th by email
(1st commit)

-> File modified: DOCS/Doxyfile --
- Doxygen documentation
The Doxygen "project version" is still 3.4.2. The attached patch bumps
this to 3.6.0.
-> let's be ready!
- Doxygen documentation
The Doxygen configuration file uses multiple obsolete tags and warnings
are shown right after starting Doxygen. The warnings are easy to see if
you set "QUIET = YES" in DOCS/Doxyfile.
-> set "QUIET = YES"

-> File modified: SRC/*larfgp.f
It says "non-negatibe" in the documentation of xLARFGP.
-> Fixed typo

-> File modified: SRC/*orcsd2by1.f SRC/*uncsd2by1.f
The parameter M in the xORCSD2BY1 is not the number of columns of X and
there is no X12 (parameter P).
-> Fixed

-> File modified: LAPACKE/src/CMakeLists.txt
The C interfaces for the deprecated GSVD routines are still built with
cmake -DBUILD_DEPRECATED=OFF. This causes a linker error with cmake
-DBUILD_TESTING=ON as soon as the Fortran functions are not found in
liblapack.so.
-> Add a if(BUILD_DEPRECATED)

-> File modified: trunk/LAPACKE/include/lapacke.h
The C declaration (lapacke.h:11840-11843) for xGGSVD3 is in a block
of #defines for LAPACK 3.2.X (see lapacke.h:12089,12122).
-> moved them down

8 years agoBug Fix for bug0135
julie [Thu, 10 Sep 2015 07:11:18 +0000 (07:11 +0000)]
Bug Fix for bug0135
Bug reported by kortschak on Sep 10th
Link: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4793
Fix typo substituting O with 0

8 years agoFixing bug 133
julie [Thu, 3 Sep 2015 06:07:59 +0000 (06:07 +0000)]
Fixing bug 133

Bug reported by the GONUM team member: btracey on LAPACK forum
Link: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4771
Description:  the number of columns of A depends on the Side, so the test should compare against m or n.

Fix by Julie.

8 years agoMinor edits in the BLAS header to better describe the functionality.
langou [Thu, 3 Sep 2015 03:05:54 +0000 (03:05 +0000)]
Minor edits in the BLAS header to better describe the functionality.
See: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?t=4786

8 years agoCommitting Nico's change about build system improvements for LAPACK
julie [Wed, 2 Sep 2015 05:32:19 +0000 (05:32 +0000)]
Committing Nico's change about build system improvements for LAPACK

"One of the improvements with the patches is that SOVERSION and VERSION are now properly set and the proper symlinks are created:
```
liblapack.so -> liblapack.so.3
liblapack.so.3 -> liblapack.so.3.5.0
liblapack.so.3.5.0
```
Since BLAS is shipped with LAPACK and no separate version number is given for BLAS, I applied the same there, too."

Tested on Julie's Mac

TO DO: To test under Windows
====

Updated OSX RPATH settings
In response to CMake 3.0 generating warnings regarding policy CMP0042,
the OSX RPATH settings have been updated per recommendations found
in the CMake Wiki:
  http://www.cmake.org/Wiki/CMake_RPATH_handling#Mac_OS_X_and_the_RPATH

8 years agoA is input/output for the subroutines ?sytrs2.f
langou [Wed, 26 Aug 2015 04:47:36 +0000 (04:47 +0000)]
A is input/output for the subroutines ?sytrs2.f

8 years agoCorrecting Bug 129
julie [Wed, 26 Aug 2015 04:46:55 +0000 (04:46 +0000)]
Correcting Bug 129
See http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4747

 Modify LAPACK_?syconv interface  - Work is used to return values

 (1) Remove the local work variable and its allocation and deallocation
 (2) Add work in LAPACK_?syconv interface
 (3) Update lapacke.h

8 years agocorrecting bug 128
langou [Wed, 26 Aug 2015 04:42:47 +0000 (04:42 +0000)]
correcting bug 128
See: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?t=4746

When LAPACK_NAN_CHECK is enabled, in input of xLASET, we now allow if the matrix A contains NaN.

Since the goal of xLASET is to set values in A, we consider it OK if A contains NaN in input.

In other words, the rationale is that we do not consider A has an input/output. We consider A as an output only.

Note: We allow neither alpha nor beta to be a NaN.

(So we do check for NaN in alpha and in beta and return error if NaN.)

So this commit
(1) removes the NaN check on matrix A in LAPACKE wrappers: lapacke_?laset.c
(2) declares that A is OUTPUT in LAPACK subroutines: ?laset.f
(3) adds a thanks to Victor Kostin from Intel

8 years agoPropagate comment added in rev 1568 to make.inc with gfortran compiler
julie [Wed, 26 Aug 2015 01:43:34 +0000 (01:43 +0000)]
Propagate comment added in rev 1568 to make.inc with gfortran compiler

8 years agochanged variable names from LAM_MAX to SING_MAX and from LAM_MIN to SING_MIN to refle...
igor175 [Wed, 19 Aug 2015 21:17:27 +0000 (21:17 +0000)]
changed variable names from LAM_MAX to SING_MAX and from LAM_MIN to SING_MIN to reflect the chnage in the algorithm for TEST4 for rook pivotig routines, since we now use singular values instead of eigenvalues in TEST4 to compute the norm for 2-by-2 marices in TEST 4. Also corrected the bug in for Hermitian case in TEST4, where during the constraction of Hermitian 2-by-2 matrices the operation of complex conjugation was missing. Changes made to: cchkhe_rook.f cchksy_rook.f dchksy_rook.f schksy_rook.f zchkhe_rook.f zchksy_rook.f

8 years agoMoved deprecated SGVD routines into DEPRECATED directory.
philippe.theveny [Mon, 17 Aug 2015 22:58:57 +0000 (22:58 +0000)]
Moved deprecated SGVD routines into DEPRECATED directory.
Added a BUILD_DEPRECATED option for make and cmake, which build
deprecated routines into the LAPACK library (OFF by default).
This completes r1563.

TODO: document the BUILD_DEPRECATED option (i.e. update documentation).

8 years agoRemoved unused and obsolete statement functions.
philippe.theveny [Mon, 17 Aug 2015 21:37:47 +0000 (21:37 +0000)]
Removed unused and obsolete statement functions.

8 years agoAdded LAPACKE wrappers for GSVD (complements r1572).
philippe.theveny [Mon, 17 Aug 2015 21:17:37 +0000 (21:17 +0000)]
Added LAPACKE wrappers for GSVD (complements r1572).

8 years agoAdded BLAS3 routines for generalised SVD.
philippe.theveny [Fri, 14 Aug 2015 22:54:14 +0000 (22:54 +0000)]
Added BLAS3 routines for generalised SVD.

TODO: LAPACKE wrappers.