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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。