norm
位于 base
包(package)。 说明
使用 LAPACK 计算 x
的矩阵范数。范数可以是矩阵元素中的一 ( "O"
) 范数、无穷大 ( "I"
) 范数、弗罗贝尼乌斯 ( "F"
) 范数、最大模数 ( "M"
) 或 “spectral”或 "2"
-norm,由 type
的值确定。
用法
norm(x, type = c("O", "I", "F", "M", "2"))
参数
x |
数值矩阵;请注意, |
type |
字符串,指定要计算的矩阵范数的类型。指示所需规范类型的字符。
默认为 |
细节
norm()
的 base
方法调用 LAPACK 函数 dlange
。
请注意,1-、Inf- 和 "M"
范数的计算速度比 Frobenius 范数更快。
底层 LAPACK 代码的不成功结果将导致错误,并给出正错误代码:这些只能通过详细研究 FORTRAN 代码来解释。
值
矩阵范数,一个非负数。 0 范围(空)矩阵为零。
例子
(x1 <- cbind(1, 1:10))
norm(x1)
norm(x1, "I")
norm(x1, "M")
stopifnot(all.equal(norm(x1, "F"),
sqrt(sum(x1^2))))
hilbert <- function(n) { i <- 1:n; 1 / outer(i - 1, i, `+`) }
h9 <- hilbert(9)
## all 5 (4 different) types of norm:
(nTyp <- eval(formals(base::norm)$type))
sapply(nTyp, norm, x = h9)
stopifnot(exprs = { # 0-extent matrices:
sapply(nTyp, norm, x = matrix(, 1,0)) == 0
sapply(nTyp, norm, x = matrix(, 0,0)) == 0
})
来源
除了 norm = "2"
之外,LAPACK 例程 DLANGE
。
LAPACK 来自https://netlib.org/lapack/。
参考
Anderson, E., et al (1994). LAPACK User's Guide, 2nd edition, SIAM, Philadelphia.
也可以看看
rcond
表示(倒数)条件号。
相关用法
- R normalizePath 以规范形式表达文件路径
- R noquote “无引号”字符串打印类
- R numeric 数值向量
- R numeric_version 数字版本
- R ns-dblcolon 双冒号和三冒号运算符
- R nargs 函数的参数数量
- R ns-internals 命名空间内部结构
- R ns-reflect 命名空间反射支持
- R ns-hooks 命名空间事件的钩子
- R nchar 计算字符数(或字节数或宽度)
- R ns-load 加载和卸载命名空间
- R name 名称和符号
- R nrow 数组的行/列数
- R names 对象的名称
- R ns-topenv 顶级环境
- R nlevels 因子的水平数
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R lapply 对列表或向量应用函数
- R dump R 对象的文本表示
- R Sys.getenv 获取环境变量
- R rank 样本排名
- R getDLLRegisteredRoutines DLL 中 C/Fortran 例程的反射信息
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Compute the Norm of a Matrix。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。