Dear Rodney James
Thank you for your kindness.
I added "fdefaultinteger8" 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*( N0I0+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 32bit 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 64bit 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 email.
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
