LAPACK Archives

[Lapack] BUG IN DBDSQR

Dear Rodney James

Thank you for your kindness.

I added "-fdefault-integer-8" to gfortran compiler option.
And I could solve the problem.

Anyway, I was surprised by 6n^2.
Because DLASQ1 has the following line.
         NBIG = 100*( N0-I0+1 )

Compered with DLASQ1, DBDSQR is allowed large iteration numbers.

Thank you
Kinji Kimura

(2012/05/02 0:05), James, Rodney wrote:
Dear Kinji Kimura,

The problem you are seeing is due to the iteration counter exceeding the 
capacity of the default 32-bit fortran integer type.  The maximum iteration 
is set internally to 6n^2, so when 6n^2>  2^31, (which happens for n>18918) 
the max iteration count is negative, and the routine exits with info>  0 due 
to failed convergence.    One way to address this problem is to recompile the 
LAPACK and BLAS libraries to use a 64-bit default integer type, which can 
usually be done with a compiler option.  Another possibility is to change 
line 415 in dbddsqr.f

      MAXIT = MAXITR*N*N

so that MAXIT is set to an integer value less than 2^31.

Best regards,

Rodney James
University of Colorado Denver


On Apr 30, 2012, at 6:53 PM, Kinji Kimura wrote:

Dear LAPACK team

I made the program which is attached in this e-mail.

The result is the following.

./test 10000
INFO=0

./test 30000
INFO=0

./test 50000
INFO=0

./test 100000
INFO=99999

./test 300000
INFO=299999

./test 500000
INFO=499297

./test 1000000
INFO=999999

./test 3000000
INFO=2999999

Therefore, DBDSQR has bug.

Kinji Kimura.

<test.c>_______________________________________________
Lapack mailing list
Lapack@Domain.Removed
http://lists.eecs.utk.edu/mailman/listinfo/lapack



<Prev in Thread] Current Thread [Next in Thread>


For additional information you may use the LAPACK/ScaLAPACK Forum.
Or one of the mailing lists, or