[R] row-echelon form (was no subject)
Spencer Graves
spencer.graves at pdf.com
Thu Mar 4 04:45:12 CET 2004
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: r-help-bounces at stat.math.ethz.ch
>>[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Aimin Yan
>>Sent: Wednesday, March 03, 2004 2:42 PM
>>To: r-help at stat.math.ethz.ch
>>Subject: [R] (no subject)
>>
>>how to produce a Row Reduced Echelon Form for a matrix in R?
>>Aimin Yan
>>
>>______________________________________________
>>R-help at stat.math.ethz.ch 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
>>
>>
>
>______________________________________________
>R-help at stat.math.ethz.ch 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
>
>
More information about the R-help
mailing list