How about the following:

> A <- array(1:6, dim=c(3, 2))
> A.qr <- qr(A)
> qr.R(A.qr)
[,1] [,2]
[1,] -3.741657 -8.552360
[2,] 0.000000 1.963961
>
I'm no expert, either, and I don't have time now to research this further. Perhaps someone else can further enlighten us both. spencer graves


John Fox wrote:

Dear Spencer,

I'd be surprised if the qr decomposition as computed in R weren't a lot more
stable numerically, but I'm no expert. As well, I don't know how to get the
row-echelon form from the qr decomposition -- though I suspect that you or
someone else on the list is about to enlighten me.

Regards,
John




-----Original Message-----
From: Spencer Graves [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 03, 2004 10:45 PM
To: John Fox
Cc: 'Aimin Yan'; [EMAIL PROTECTED]
Subject: Re: [R] row-echelon form (was no subject)


How does this compare with R of the qr decomposition? spencer graves

John Fox wrote:



Dear Amin,

I have a function (created just for demonstration, and reproduced below) for finding the row-echelon form of a matrix. I'm

sure that many

list members could produce something that's better numerically, but this should be OK at least for toy problems.

John

--------- snip -------------

rowEchelonForm <- function(X, tol=.Machine$double.eps){
if ((!is.matrix(X)) || (!is.numeric(X))) stop("argument


must be a

numeric matrix")
Z <- X
for (i in 1:min(dim(X))){
if (i > 1) Z[i-1,] <- 0
which <- which.max(abs(Z[,i])) # find maximum pivot


in current

column at or below current row
pivot <- X[which, i]
if (abs(pivot) <= tol) next # check for 0 pivot
if (which > i) X[c(i,which),] <- X[c(which,i),] #


exchange rows


X[i,] <- X[i,]/pivot # pivot
row <- X[i,] X <- X - outer(X[,i], row) # sweep
X[i,] <- row # restore current row
}
n <- nrow(X)
for (i in 1:n) if (max(abs(X[i,])) <= tol) X[c(i,n),] <-


X[c(n,i),] #


0 rows to bottom
X
}






-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Aimin Yan
Sent: Wednesday, March 03, 2004 2:42 PM
To: [EMAIL PROTECTED]
Subject: [R] (no subject)


how to produce a  Row Reduced Echelon Form for a matrix in R?
Aimin Yan

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html




______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html









______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to