Hi,I need to computed the GSVD of two matrices. For doing so I used in my C code the lapack routine dggsvd. But when I source my file gsvd.R I have the following error:
Error in eval.with.vis(expr, envir, enclos) :
BLAS/LAPACK routine 'DGGSVD' gave error code -1
Is there a problem with the parameters passed through the gsvd.R script?
Is there a problem within the C script?
I will really appreciate your help.
Thanks,
Philippe
--
Philippe Hupé
Institut Curie, CNRS UMR 144 / Service Bioinformatique
Laboratoire de Transfert (4ème étage)
26 rue d'Ulm
75005 Paris - France
Email : [EMAIL PROTECTED]
Tél : +33 (0)1 44 32 42 75
Fax : +33 (0)1 42 34 65 28
website : http://bioinfo.curie.fr
vA <- c(1.0, 2.0, 3.0,
3.0, 2.0, 1.0,
4.0, 5.0, 6.0,
7.0, 8.0, 8.0)
A <- matrix(vA,4,3, byrow=TRUE)
vB <- c(-2.0, -3.0, 3.0,
4.0, 6.0, 5.0)
B <- matrix(vB,2,3, byrow=TRUE)
if(ncol(A)!=ncol(B))
{
stop("A and B matrix does not have the same column number")
}
gsvd <- .C("GSVD",
JOBU = as.character('U'),
JOBV = as.character('V'),
JOBQ = as.character('Q'),
M = as.integer(nrow(A)),
N = as.integer(ncol(A)),
P = as.integer(nrow(B)),
K = integer(1),
L = integer(1),
A = as.double(A),
LDA = as.integer(nrow(A)),
B = as.double(B),
LDB = as.integer(nrow(B)),
ALPHA = double(ncol(A)),
BETA = double(ncol(A)),
U = double(nrow(A)*nrow(A)),
LDU = as.integer(nrow(A)),
V = double(nrow(B)*nrow(B)),
LDV = as.integer(nrow(B)),
Q = double(ncol(A)*ncol(A)),
LDQ = as.integer(ncol(A)),
WORK = double(max(c(3*ncol(A),nrow(A),nrow(B)))+ncol(A)),
IWORK = integer(ncol(A)),
INFO = integer(1),
PACKAGE="GSVD")
GSVD_1.0.tar.gz
Description: PostScript document
______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
