platform/upstream/lapack.git
15 years agoFixed WORK/RWORK bug in complex iterative refinement routines.
deaglanhalligan [Tue, 10 Feb 2009 03:14:40 +0000 (03:14 +0000)]
Fixed WORK/RWORK bug in complex iterative refinement routines.

15 years ago(no commit message)
langou [Mon, 9 Feb 2009 22:08:05 +0000 (22:08 +0000)]

15 years ago(no commit message)
langou [Mon, 9 Feb 2009 21:37:20 +0000 (21:37 +0000)]

15 years ago(no commit message)
langou [Sun, 1 Feb 2009 19:51:40 +0000 (19:51 +0000)]

15 years agoFix scaling in the transpose case of extra-precise refinement.
jason [Wed, 28 Jan 2009 20:34:18 +0000 (20:34 +0000)]
Fix scaling in the transpose case of extra-precise refinement.

The row-scaling factors need passed in the transpose case.  Apparently,
none of our release tests include ill-scaled matrices.

Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
15 years ago==============================================================================
langou [Wed, 28 Jan 2009 16:11:32 +0000 (16:11 +0000)]
==============================================================================
Patch from Christof Voemel, ETH Zurich.
==============================================================================
I would like to make a small change  in dlarrd/slarrd/_larrd.f.base so that the
code deals better with certain matrices from Godunov.

Could you please replace in those files the lines, after label 40,
            GL = GL - FUDGE*SPDIAM*EPS*IN - FUDGE*PIVMIN
            GU = GU + FUDGE*SPDIAM*EPS*IN + FUDGE*PIVMIN

by
            GL = GL - FUDGE*TNORM*EPS*IN - FUDGE*PIVMIN
            GU = GU + FUDGE*TNORM*EPS*IN + FUDGE*PIVMIN

(Exchange SPDIAM to TNORM).
==============================================================================

15 years agoSet ithresh to 10, not 100. Removed la_linrx_max_n_errs.
deaglanhalligan [Mon, 26 Jan 2009 03:51:22 +0000 (03:51 +0000)]
Set ithresh to 10, not 100. Removed la_linrx_max_n_errs.

15 years agoFixed typos and variable types in testing files.
deaglanhalligan [Thu, 22 Jan 2009 23:28:13 +0000 (23:28 +0000)]
Fixed typos and variable types in testing files.

15 years agoAdded the rest of the extra precise iterative refinement testing.
deaglanhalligan [Thu, 22 Jan 2009 10:40:59 +0000 (10:40 +0000)]
Added the rest of the extra precise iterative refinement testing.

15 years agoFix out of bound access in LIN TESTING with XBLAS found with -fcheck-bounds with...
julie [Fri, 16 Jan 2009 22:27:20 +0000 (22:27 +0000)]
Fix out of bound access in LIN TESTING with XBLAS found with -fcheck-bounds with gfortran.
"Error in DLA_GBAMV.f line 226: forrtl: severe (408): fort: (2): Subscript #1 of the array AB has value 2 which is greater than the upper bound of 1"

Reported in http://icl.cs.utk.edu/trac/lapack-dev/ticket/45

15 years agoFollowing a out-of-bound complaint by gfortran
julie [Mon, 12 Jan 2009 22:16:18 +0000 (22:16 +0000)]
Following a out-of-bound complaint by gfortran

Modify size in declaration of DX and DY.
It was set to 1, and 5 or N in the comments !!!!!
Put * in the declaration and N in the comments

This routine may need to be double-checked.

15 years ago============================================================================
langou [Mon, 12 Jan 2009 05:17:21 +0000 (05:17 +0000)]
============================================================================
Bug in RFP routines xTFSM for N=1 independently reported by Jason and Julie.
============================================================================

See Jason's email DEC/27/2009: "Similar problem in xTFSM".
Jason used gfortran with -fbounds-check and got:
> At line 328 of file stfsm.f
> Fortran runtime error: Array reference out of bounds for array 'b', upper bound of dimension 1 exceeded (1 > 0)

Julie also observed the bug with MS Visual Studio.
See ticket http://icl.cs.utk.edu/trac/lapack-dev/ticket/46

The problem is the following. Sometimes in the RFP routines, we
call routines like for example
   DGEMM ( M, N, K, ... A( I, J), ...)
where M or N is 0 and A( I, J ) is out-of-bound.  The rationale was since M or
N is 0, DGEMM simply exits without doing anything, therefore the out-of-bound
A(I,J) is not an issue. Well, this is not Fortran correct.

In this commit, I have fix the problem for xTFSM. This is a fix. This is not
rocket-science and one can certainly do something more elegant ... This bug is
blocking Julie from porting on Windows so the matter was urgent.

Now RFP + ( gfortan -fbounds-check ) works fine.

TODO: find a cleaner way to fix this,

TODO: Unfortunately I believe there are other bugs like this one in other RFP
routines, always when N=1. See for example xPFTRF. I do not understand why the
TESTING with gfortran -fbounds-check do not trigger an error though ...

15 years agoFix some minors errors found while porting under Windows
julie [Thu, 8 Jan 2009 19:58:17 +0000 (19:58 +0000)]
Fix some minors errors found while porting under Windows

15 years agoLast round of modifications to the comments for the generation of the manpages
julie [Fri, 2 Jan 2009 21:57:02 +0000 (21:57 +0000)]
Last round of modifications to the comments for the generation of the manpages

15 years agoMerged revisions 609-614 via svnmerge from
jason [Tue, 30 Dec 2008 21:27:12 +0000 (21:27 +0000)]
Merged revisions 609-614 via svnmerge from
https://jason@icl.cs.utk.edu/svn/lapack-dev/lapack/branches/SC08-release

........
  r609 | julie | 2008-12-16 17:17:52 -0500 (Tue, 16 Dec 2008) | 1 line

  Polish routines to fit the LAPACK framework and allow manpages generation
........
  r610 | langou | 2008-12-19 12:12:38 -0500 (Fri, 19 Dec 2008) | 30 lines

  bug reported on the forum
  https://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=2&t=854

  the complete thread is available at
  http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/635192e11beadb93#

  Tobias Burnus also sent us an email:

  > Hello,
  >
  > this was reported at
  > http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/635192e11beadb93#
  >
  > The problem is the line 47:
  >
  > 47:       IF( M.EQ.0 .OR. A(M, 1).NE.ZERO .OR. A(M, N).NE.ZERO ) THEN
  >
  > If M == 0 the one accesses A(0,1) which is invalid as the lower bound is 1
  > and not 0.
  >
  > Note: Contrary to C there is no left-to-right evaluation of expressions in
  > Fortran; the order is left to the compiler. One might assume that a smart
  > compiler does not evaluate "A(M,1)" if "M==0", however, there is nothing in
  > the standard guarantees this.
  >
  > If bounds checks are turned on (see post at the URL above), gfortran aborts
  > with an out-of-bounds error.
........
  r611 | julie | 2008-12-19 15:00:58 -0500 (Fri, 19 Dec 2008) | 5 lines

  Modify the formatting of the comments.
  Replace Note and Notes section by Further Details
  This allow the manpages to be generated corectly.
........
  r612 | julie | 2008-12-19 16:29:21 -0500 (Fri, 19 Dec 2008) | 3 lines

  Reformat the xblas routines comments to be able to generate the manpages

........
  r613 | julie | 2008-12-19 16:30:31 -0500 (Fri, 19 Dec 2008) | 1 line

  Update version number
........
  r614 | jason | 2008-12-27 09:44:45 -0500 (Sat, 27 Dec 2008) | 13 lines

  Fix non-short-circuited tests in ILAxL{C,R}.

  Fortran doesn't short-circuit logical operators, so the check that the leading
  dimension /= 0 may not prevent indexing into a 0-length array.

  Reported by "hes selex" in
    http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/635192e11beadb93
  and forwarded to the LAPACK maintainers by Tobias Burnus <burnus@net-b.de>.

  Chalk up more bugs found by gfortran's diagnostics!

Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
Cc: Tobias Burnus <burnus@net-b.de>
........

15 years ago(no commit message)
julie [Tue, 16 Dec 2008 17:06:58 +0000 (17:06 +0000)]

15 years agoXBLAS: Added gbmv2 (including test codes).
yozo [Tue, 11 Nov 2008 19:57:27 +0000 (19:57 +0000)]
XBLAS: Added gbmv2 (including test codes).

This routines computes the matrix product:

    y  <-  alpha * op(A) * (x_head + x_tail) + beta * y

where A is a general banded matrix.

15 years agoXBLAS: Added hemv2 (including test codes).
yozo [Tue, 11 Nov 2008 19:56:54 +0000 (19:56 +0000)]
XBLAS: Added hemv2 (including test codes).

This routines computes the matrix product:

  y  <-  alpha * A * (x_head + x_tail) + beta * y

where A is a complex Hermitian matrix.

15 years agoXBLAS: Added symv2 (including tests).
yozo [Tue, 11 Nov 2008 19:56:25 +0000 (19:56 +0000)]
XBLAS: Added symv2 (including tests).

symv2 performs

  y  <-  alpha * A * (x_head + x_tail) + beta * y

where A is a symmetric matrix.

15 years agoXBLAS: Fix increment adjustment in do_test_axpby.
yozo [Tue, 11 Nov 2008 19:56:07 +0000 (19:56 +0000)]
XBLAS: Fix increment adjustment in do_test_axpby.

We need to double the increment for complex cases.

15 years agoXBLAS: Fix bug in testgen_BLAS_[cz]dot2.
yozo [Tue, 11 Nov 2008 19:55:57 +0000 (19:55 +0000)]
XBLAS: Fix bug in testgen_BLAS_[cz]dot2.

Wrong parameter was being passed to gen_y_to_cancel.
Should pass n_fix2+1 instead of k+1, since k and n_fix2
differ by factor of two for complex case.

15 years agoXBLAS: Fix bug in testing/test-dot2/testgen_BLAS_[sd]dot2.
yozo [Tue, 11 Nov 2008 19:55:50 +0000 (19:55 +0000)]
XBLAS: Fix bug in testing/test-dot2/testgen_BLAS_[sd]dot2.

Scaling factor to compute x_tail was being rounded to integer,
and thus was producing all zeros for x_tail (and hence didn't
test whether *mv2 routines were looking at x_tail at all).

15 years agoXBLAS: Removed unused variable x_vec in testing/test-symv/do_test_symv.c.
yozo [Tue, 11 Nov 2008 19:55:41 +0000 (19:55 +0000)]
XBLAS: Removed unused variable x_vec in testing/test-symv/do_test_symv.c.

15 years agoXBLAS: Make argument error return codes more specific in gbmv.
yozo [Tue, 11 Nov 2008 19:55:32 +0000 (19:55 +0000)]
XBLAS: Make argument error return codes more specific in gbmv.

Should return -k if the k-th argument is in error, instead of just 0.

15 years agoXBLAS: Fix lda check in gbmv.
yozo [Tue, 11 Nov 2008 19:55:11 +0000 (19:55 +0000)]
XBLAS: Fix lda check in gbmv.

For banded storage lda can be smaller than n or m.

15 years agoXBLAS: Fix lda check in gemv.
yozo [Tue, 11 Nov 2008 19:54:53 +0000 (19:54 +0000)]
XBLAS: Fix lda check in gemv.

We need to raise error if lda < m for column major format,
and lda < n for row major format.  Previously it was checking
for lda < leny.

Also test lda in do_test_gemv more carefully.

15 years agoMove LAPACK trunk into position.
jason [Tue, 28 Oct 2008 01:38:50 +0000 (01:38 +0000)]
Move LAPACK trunk into position.