[R-SIG-Mac] Lapack errors on Mac but not on Linux

Prof Brian Ripley ripley at stats.ox.ac.uk
Mon Dec 8 10:18:56 CET 2008


> Is this an issue with the Apple-supplied Lapack?

Or the Apple-supplied BLAS.

You have not told us how R was built on your machine, but if this was the 
CRAN build you have a choice of BLAS.  (See the list archives, but AFAIR, 
you can swap links between libRblas.0dylib and libRblas.veclib.dylib in 
/Library/Frameworks/R.framework/Resources/lib.)  (On that build AFAICS the 
Lapack used is the R one.)

I think your example is actually random (it uses 10-fold CV?) in which 
case that might have been the difference between machines.

With a lot of patience, I got the example to run on my own build which 
uses the recipe in the R-admin manual (veclib for both BLAS and LAPACK). 
With the CRAN build of R using libRblas.0.dylib, it ran for a lot longer 
than with libRblas.veclib.dylib, but eventually gave the same error.

On Mon, 8 Dec 2008, Gad Abraham wrote:

> Hi,
>
> I'm running a regression in R 2.8.0 on some microarray data, and I'm getting 
> an error from Lapack on OS X 10.5.5. Strangely, this doesn't happen on Ubuntu 
> Intrepid Linux. Output from mac (data is 30MB file):
>
>> library(penalized)
> Loading required package: survival
> Loading required package: splines
>> load(url("http://www.csse.unimelb.edu.au/~gabraham/data7390.RData"))

BTW, actually on www.cs.mu.oz.au, and curl (I tried to download on my Mac 
which does not have wget) doesn't follow redirects by default.

>> y <- as.numeric(grp) - 1
>> p1 <- optL2(y, t(expr), model="logistic", fold=10)
> lambda= 1 	cvl= -163.4474
> lambda= 10 	cvl= -132.9067
> lambda= 100 	cvl= -106.7209
> lambda= 1000 	cvl= -89.36501
> lambda= 10000 	cvl= -86.67437
> lambda= 1e+05 	cvl= -91.18407
> lambda= 38814.64 	cvl= -89.47968
> lambda= 62185.36 	cvl= -90.40736
> lambda= 24370.73 	cvl= -88.4695
> lambda= 15443.91 	Error in qr.coef(qr(a, LAPACK = TRUE), b) :
>  error code 191 from Lapack routine 'dtrtrs'
> Error: Matrix inversion failed. Please increase lambda1 and/or lambda2
>> sessionInfo()
> R version 2.8.0 (2008-10-20)
> i386-apple-darwin8.11.1
>
> locale:
> en_AU.UTF-8/en_AU.UTF-8/C/C/en_AU.UTF-8/en_AU.UTF-8
>
> attached base packages:
> [1] splines   stats     graphics  grDevices utils     datasets  methods
> [8] base
>
> other attached packages:
> [1] penalized_0.9-22 survival_2.34-1
>
>
> As I said, on Ubuntu Intrepid, the same code works fine, using liblapack3gf 
> version 3.1.1-0.4ubuntu1.
>
>
> Is this an issue with the Apple-supplied Lapack?
>
>
> Thanks,
> Gad
>
> -- 
> Gad Abraham
> Dept. CSSE and NICTA
> The University of Melbourne
> Parkville 3010, Victoria, Australia
> email: gabraham at csse.unimelb.edu.au
> web: http://www.csse.unimelb.edu.au/~gabraham
>
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-SIG-Mac mailing list