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
