This is now fixed now on master by using a new openblas release that fixes 
the bug. You can get the fix in tomorrow's nightly. Thanks for reporting!

-viral

On Thursday, July 10, 2014 4:20:07 AM UTC+5:30, Thomas Covert wrote:
>
> I have found cholfact to behave differently (erroneously?) under parallel 
> processing contexts than under standard settings.  What I mean by "parallel 
> processing" is simply having previously called addprocs().  Here is some 
> example code that I am running on my mid-2009 MacBook Pro using a somewhat 
> recent brew of @staticfloat's homebrew distribution:
>
> addprocs(8)
>
> N = 1000
>
> x = 10 * randn(N)
>
> X = zeros(N,N)
>
>
> for i = 1:N
>
>     for j = 1:N
>
> X[i,j] = exp(-.5 * (x[i]-x[j])^2)
>
>     end
>
> end
>
>
> X = X + diagm(.5 * ones(N))
>
>
> C = cholfact(X)
>
> iC = inv(C)
>
> CiC = cholfact(iC)
>
> I believe this code generates an X which is positive definite by 
> construction.
>
> If I run this code as-is, I get the following error (or something similar, 
> the PosDefException sometimes changes):
>
> *ERROR: PosDefException(12)*
>
> * in cholfact! at linalg/factorization.jl:36*
>
> * in cholfact at linalg/factorization.jl:39*
>
> *while loading /Users/tcovert/path_to_code.jl, in expression starting on 
> line 16*
>  
> However, if I comment out the "addprocs(8)" line, everything works fine. 
>  Also, for smaller values of N the problem goes away (N=100,200 is fine, 
> N=400 is not).  Here is my versioninfo() if that helps:
>
> *julia> **versioninfo()*
>
> Julia Version 0.3.0-prerelease+3868
>
> Commit e7a9a7d* (2014-06-24 19:39 UTC)
>
> Platform Info:
>
>   System: Darwin (x86_64-apple-darwin13.2.0)
>
>   CPU: Intel(R) Core(TM)2 Duo CPU     P8700  @ 2.53GHz
>
>   WORD_SIZE: 64
>
>   BLAS: libopenblas (USE64BITINT NO_AFFINITY)
>
>   LAPACK: libopenblas
>
>   LIBM: libopenlibm
>
>

Reply via email to