3

我是 R 的新用户。你能告诉我或介绍一些描述tol在 R 中计算 QR 分解的论点的参考吗?

例如,这两行有什么区别:

qr(A, tol=1e-07) #Doesn't work

qr(A, tol=1e-20) #Works

为什么我用这么小的值得到我想要的结果tol,但没有更大的值?

4

1 回答 1

5

tol参数qr根据列是否被判断为线性相关来控制是否为列返回值。我认为将tol值降低到 1e-16 以下会违背该检查的目的。(这几乎是双精度数学中零的实用定义。)

先看qr.default再找FORTRAN代码:

http://svn.r-project.org/R/trunk/src/appl/dqrdc2.f

这是描述逻辑的 FORTRAN 例程的注释:

c     cycle the columns from l to p left-to-right until one
c     with non-negligible norm is located.  a column is considered
c     to have become negligible if its norm has fallen below
c     tol times its original norm.  the check for l .le. k
c     avoids infinite cycling.
于 2013-04-04T00:37:28.893 回答