[Rd] column names in pivoted matrix operations.

Hin-Tak Leung hin-tak.leung at cimr.cam.ac.uk
Thu Oct 27 15:10:35 CEST 2005


Hi,

Somebody gave me this little problem about QR decomposition and
Choleski Decomposition. The column names of the matrix (if the user 
choose to name them explicitly with dimname or it was composed from
named vectors) remains the same after the operation, although
the content has been swapped during pivoting in the
LAPACK/LINPACK C/fortran routines. Is this wrong, or at least, dubious?

Here are two patches against the two files in 
"R-2.2.0/src/library/base/R" - I have tested them both myself,
to obtain what I believe to be "sensible" behavior.

Feedbacks?

Hin-Tak Leung

=================================================
--- chol.R.orig 2005-04-18 11:19:15.000000000 +0100
+++ chol.R      2005-10-27 13:44:12.245692000 +0100
@@ -33,6 +33,7 @@
                        DUP = FALSE, PACKAGE = "base")
          if (!pivot && z$rank < n)
              stop("matrix not positive definite")
+        colnames(z$x) <- colnames(z$x)[z$piv]
          robj <- z$x
          if (pivot) {
              attr(robj, "pivot") <- z$piv
--- qr.R.orig   2005-04-18 11:19:14.000000000 +0100
+++ qr.R        2005-10-27 12:41:12.204974000 +0100
@@ -217,6 +217,7 @@
      if (!complete)
         R <- R[seq(min(dim(R))), , drop = FALSE]
      R[row(R) > col(R)] <- 0
+    colnames(R)= colnames(R)[qr$pivot]
      R
  }

=================================================
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: chol.R.patch
Url: https://stat.ethz.ch/pipermail/r-devel/attachments/20051027/8375976a/chol.R.pl
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: qr.R.patch
Url: https://stat.ethz.ch/pipermail/r-devel/attachments/20051027/8375976a/qr.R.pl


More information about the R-devel mailing list