当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R condest 计算(大)矩阵的近似条件数和 1-范数


R语言 condest 位于 Matrix 包(package)。

说明

“Estimate”,即近似计算(可能很大,通常稀疏)矩阵 A 的 CONDition 数。它的工作原理是应用 1-范数 norm(A,"1")onenormest(.) 的快速随机近似。

用法

condest(A, t = min(n, 5), normA = norm(A, "1"),
        silent = FALSE, quiet = TRUE)

onenormest(A, t = min(n, 5), A.x, At.x, n,
           silent = FALSE, quiet = silent,
           iter.max = 10, eps = 4 * .Machine$double.eps)

参数

A

方阵,对于 onenormest() 是可选的,其中可以指定 A.xAt.x,而不是 A ,请参阅此处。

t

迭代中使用的列数。

normA

数字; A 的 1-范数(估计),默认为 norm(A, "1") ;可以用估计值代替。

silent

逻辑指示是否应显示警告和(默认情况下)收敛消息。

quiet

逻辑指示是否应显示收敛消息。

A.x , At.x

A 丢失时,这两个必须分别作为计算 A %% xt(A) %% x 的函数给出。

n

== nrow(A) ,仅在未指定A 时需要。

iter.max

1-范数估计器的最大迭代次数。

eps

被认为不相关的相对变化。

细节

condest() 调用 lu(A) ,随后调用 onenormest(A.x = , At.x = ) 来计算 A 的逆的近似范数,从而在 A 稀疏时保持有效使用稀疏矩阵。

请注意, onenormest() 使用随机向量,因此两个函数的结果都是随机的,即取决于随机种子,请参见 set.seed()

两个函数都返回 listcondest() 带有组件,

est

数字 ,估计的(1-范数)条件数 ;当 rcond(A) ,

v

最大 列,缩放至norm(v) = 1。因此, ;当est很大时,v是近似零向量。

函数 onenormest() 返回一个包含组件的列表,

est

一个数字 ,估计的 norm(A, "1")

v

0-1 整数向量长度 n ,索引 j 处有 1,最大列 A[,j] 位于 中。

w

数值向量,找到的最大的

iter

使用的迭代次数。

例子


data(KNex, package = "Matrix")
mtm <- with(KNex, crossprod(mm))
system.time(ce <- condest(mtm))
sum(abs(ce$v)) ## || v ||_1  == 1
## Prove that  || A v || = || A || / est  (as ||v|| = 1):
stopifnot(all.equal(norm(mtm %*% ce$v),
                    norm(mtm) / ce$est))

## reciprocal
1 / ce$est
system.time(rc <- rcond(mtm)) # takes ca  3 x  longer
rc
all.equal(rc, 1/ce$est) # TRUE -- the approxmation was good

one <- onenormest(mtm)
str(one) ## est = 12.3
## the maximal column:
which(one$v == 1) # mostly 4, rarely 1, depending on random seed

作者

This is based on octave's condest() and onenormest() implementations with original author Jason Riedy, U Berkeley; translation to R and adaption by Martin Maechler.

参考

Nicholas J. Higham and Françoise Tisseur (2000). A Block Algorithm for Matrix 1-Norm Estimation, with an Application to 1-Norm Pseudospectra. SIAM J. Matrix Anal. Appl. 21, 4, 1185-1201.

William W. Hager (1984). Condition Estimates. SIAM J. Sci. Stat. Comput. 5, 311-316.

也可以看看

normrcond

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Compute Approximate CONDition number and 1-Norm of (Large) Matrices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。