From: Kinji Kimura
Date: Wed, 02 May 2012 15:44:06 +0900
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.
(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.
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.
Therefore, DBDSQR has bug.
Lapack mailing list