octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 2.9.12 (2.9.13) chol broken with --enable-64?


From: Fredrik Lingvall
Subject: Re: 2.9.12 (2.9.13) chol broken with --enable-64?
Date: Sat, 11 Aug 2007 18:17:12 +0200
User-agent: Thunderbird 2.0.0.6 (X11/20070804)

John W. Eaton wrote:
On  9-Aug-2007, Fredrik Lingvall wrote:

| Hi,
| | chol seems to be broken in 2.9.12 and perhaps 2.9.13 (I can't test | 2.9.13 since the 2.9.13 build fails with --enable-64) | | octave:1> A=rand(100,100);
| octave:2> A=A'*A;
| octave:3> chol(A);
| octave:4> chol(A);
| error: chol: matrix not positive definite
| octave:4> chol(A);
| error: chol: matrix not positive definite
| | Octave was configured with: | | fllap5 octave-2.9.12 # ./configure CFLAGS="-O3 -pipe -m64 -mtune=nocona | -march=nocona -mfpmath=sse -msse2 -msse3 -fomit-frame-pointer | -funroll-loops -fprefetch-loop-arrays -pthread" CXXFLAGS="-O3 -pipe -m64 | -fpermissive -mtune=nocona -march=nocona -mfpmath=sse -msse2 -msse3 | -fomit-frame-pointer -funroll-loops -fprefetch-loop-arrays -pthread" | FFLAGS="-O3 -pipe -m64 -mtune=nocona -march=nocona -mfpmath=sse -msse2 | -msse3 -fomit-frame-pointer -funroll-loops -fprefetch-loop-arrays | -pthread" --enable-64 --prefix=/usr/local/ | --with-blas=/usr/local/lib/libBLAS.so | --with-lapack=/usr/local/lib/libLAPACK.so --enable-shared --without-hdf5

Were /usr/local/lib/libBLAS.so and /usr/local/lib/libLAPACK.so
compiled such that integers are signed 8-byte values, as Octave
expects when using --enable-64?

jwe
I have compiled LAPACK (3.0.1) with -m64 and -march=nocona and I use GOTO BLAS with
BINARY64  = 1 in the Makefile.rule file.

To test I created an oct file that calls the LAPACK routines,

 dpotrf_(upper_or_lower, &N, Y, &lda, &info);  (cholesky factorization)

and dpotri_(upper_or_lower, &N, Y, &lda, &info); (positive triangualar inverse)

which should do the same thing as cholinv (I guess). The result is

octave:1> A=rand(100,100);
octave:2> A=A'*A;
octave:3> C = potri(A);
octave:4> C = potri(A);
octave:5> C = potri(A);
octave:6> cholinv(A);
octave:7> cholinv(A);
error: cholinv: matrix not positive definite

I test the info parameter after both calls above and the info parameter is always = 0 (no error).

(the test above was done with octave 2.9.13+ from 20070810)

/Fredrik



reply via email to

[Prev in Thread] Current Thread [Next in Thread]