>>>>> "Wilhelm" == Wilhelm B Kloke <[EMAIL PROTECTED]> >>>>> on Wed, 12 Nov 2003 13:37:13 +0100 (CET) writes:
Wilhelm> I just detected, that det() is not working on Wilhelm> complex matrices any more, due to the fix to the Wilhelm> bug reports noted above. I am not happy with this, Wilhelm> as determinants are perfectly usable on complex Wilhelm> matrices. Btw, this is not a bug in the strict sense, but a feature request; OTOH, I know that det() did work for complex matrices. Wilhelm> AFAIUI the bugs resulted from less than optimal Wilhelm> behaviour of qr() in certain cases. IMHO this is Wilhelm> due to the unhappy decision to use a default for Wilhelm> parameter tol to decide whether the the Wilhelm> decomposition is rank deficient. Wilhelm> A better fix for (PR#1244) should be considered. I Wilhelm> propose, using qr method with tol=0 as default, for Wilhelm> det(). Even more preferrable, tol=0 can be made the Wilhelm> default for qr(), forcing all applications to set a Wilhelm> reasonable tol for their own. I'm not entirely sure about the correctness of your interpretation of bug fixes here. Nevertheless, I agree that we should consider allowing determinant() and hence det() to work for complex matrices -- and change determinant.matrix()'s default argument `logarithm = TRUE' to `logarithm = !is.complex(x)' Then replace if (is.complex(x)) stop("determinant not currently defined for complex matrices") by something like (we had in R 1.6) if (is.complex(x)) { qx <- qr(x, tol = 0) if (qx$rank < n) return(0) x <- prod(diag(qx$qr)) return(if (n%%2 == 1) x else -x) } --- Martin Maechler <[EMAIL PROTECTED]> http://stat.ethz.ch/~maechler/ Seminar fuer Statistik, ETH-Zentrum LEO C16 Leonhardstr. 27 ETH (Federal Inst. Technology) 8092 Zurich SWITZERLAND phone: x-41-1-632-3408 fax: ...-1228 <>< ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-devel