aboutsummaryrefslogtreecommitdiff
path: root/SRC/ssysv.f
AgeCommit message (Collapse)Author
2016-12-23Updating version number on source file modified since 3.6.1Julie
This is really old school, but a lot of times we have users sending us copy pasting of codes, and that is the only way to know the version of the code.
2016-07-09STYLE: Remove trailing whitespace in Fortran filesHans Johnson
This is mostly a long term maintenance improvement. Many coding styles require elimination of trailing whitespace, and many editors and source code management configurations automatically gobble up whitespace. When these tools gobble up whitespace, it complicates reviewing the meaningful code changes. By removing whitespace on one patch, it makes future code reviews much easier. =SCRIPT==================================================================== if which tempfile &>/dev/null; then TEMPMAKER=tempfile elif which mktemp &>/dev/null; then TEMPMAKER=mktemp else echo "Cannot find tempfile program." 2>&1 exit 1 fi MYTEMP=$($TEMPMAKER) trap 'rm -f $MYTEMP' SIGINT SIGTERM stripit() { echo "stripping $1" sed 's/[ \t]*$//' "$1" > $MYTEMP cp $MYTEMP "$1" } if [ $# -gt 0 ]; then while [ "$1" != "" ]; do stripit $1 shift done else while read -t 2; do stripit $REPLY done fi rm $MYTEMP =================================================
2011-11-11Update version number to 3.4.0julie
2011-11-03Cosmetic changes in Doxygen presentation.julie
Use \par instead of \details for section. add a Contributors Section and a Reference Section. Remove (some) verbatim section when not needed. Those changes have been done by hand so I am not sure I manage to catch them all.
2011-11-01Never say never...julie
2011-11-01Last commit related to Doxygen integration following Albert's commentjulie
2011-10-13adding link to individual download, the links will appear directly in ↵julie
Doxygen html documentation
2011-10-06Integrating Doxygen in commentsjulie
2011-09-23Commit patch sent by Sven.julie
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
2011-06-22Summer cleanupjulie
Cleanup some codes, like unused variables. Used -Walls to detect problems.
2011-04-13Upadte header for the modified routine for the 3.3.1 releasejulie
2011-04-02First pass to homgenize notation for transpose (**T) and conjugate transpose ↵julie
(**H) Corresponds to bug0024
2011-03-04Correct bug 0076 reported by Intel Team on lapack forumjulie
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.
2011-02-09Fix bug 0074julie
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.
2010-11-03Commiting the 3 other precisions (single, complex, dcomplex) for sytri using ↵julie
Level BLAS 3. Update testing accordingly
2010-11-02 [xSYTRS/xSYSV] Hide the call to syconv inside trs2 to avoid changing the ↵julie
SYTRS interface. Update the testing accordingly [DSYTRI2] Comit dsytri2 to get some feedback Update the testing accordingly DSYTRI2 is the Level 3 blas Version of DSYTRI The actual routine that does the work is DSYTRI2X (name can be changed) DSYTRI2 is just a wrapper to allow to hide the 2D Workspace required by the routine. The interface had to be changed to integrate the possibility of doing a workspace query. DSYTRI2x implementation will be documented in a LAWN. This algorithm was inspired by the following paper: "Families of Algorithms Related to the Inversion of a Symmetric Positive Definite Matrix" PAOLO BIENTINESI Duke University and BRIAN GUNTER Delft University of Technology and ROBERT A. VAN DE GEIJN The University of Texas at Austin
2010-06-23Update date and version for 3.2.2 releasejulie
2010-06-15 Missing local variable declaration (IINFO)julie
2010-06-01Add SYTRS2 routine - A BLAS 3 version of SYTRSjulie
Add SYCONV routine: convert back and forth the factorization returned by SYTRF to be able to call SYTRS2. Modify SYSV that now is calling SYTRS2 instead of SYTRS (and also SYCONV to convert and revert the factorization returned by SYTRF). Modify testing to have TRS but also TRS2 tested in the LIN testing for SY.
2009-04-16Big commit before 3.2.1 release.julie
Those are just cosmetic changes to update version number and various other minor change.
2008-12-16(no commit message)julie
2008-10-28Move LAPACK trunk into position.jason