[Rd] eigen(symmetric=TRUE) for complex matrices

Roger Bivand Roger.Bivand at nhh.no
Wed Jun 19 14:28:12 CEST 2013


peter dalgaard <pdalgd <at> gmail.com> writes:

> 
> 
...
> 
> There could be compiler issues. It could also be that the internal LAPACK
uses a newer version than the
> external libs and a bug was introduced in between them.

Running:

N <- 100
jj <- matrix(0,N,N)
A <- exp(-0.1*(row(jj)-col(jj))^2)
min(eigen(A,only.values=TRUE,symmetric=TRUE)$values)
min(eigen(A+0i,only.values=TRUE,symmetric=TRUE)$values)

with R's BLAS in 3.0.1 on Fedora 18 with gcc 4.7.2-8 gives the same error.
Both 3.0.1 and R-devel (R's BLAS) on RHEL 5 gcc 4.1.2 give a segfault at
zher2k(), in the 3.0.1 case at line 1566 in cmplxblas.f, at line 1570 for
R-devel. So yes, there is a compiler issue too. 

The backtrace is La_rs_cmplx at Lapack.c:829 -> zheev at cmplx.f:10356 ->
zhetrd at cmplx.f:11080 -> zher2k at cmplxblas.f:1570 for R-devel, and
La_rs_cmplx at Lapack.c:829 -> zheev at cmplx.f:10356 -> zhetrd at
cmplx.f:11080 -> zher2k at cmplxblas.f:1566 for 3.0.1.

Roger



More information about the R-devel mailing list