Bilangan syarat suatu matriks beraturan (persegi) adalah hasil kali norma matriks dan norma inversnya (atau invers semu), dan karenanya bergantung pada jenis norma matriks. kappa() menghitung secara default (perkiraan) bilangan kondisi 2 norma dari sebuah matriks atau matriks \(R\) dari dekomposisi \(QR\), mungkin memiliki kesesuaian linier. Bilangan syarat 2 norma dapat ditunjukkan sebagai perbandingan nilai singular bukan nol terbesar dan terkecil dari matriks. rcond() menghitung perkiraan nomor kondisi timbal balik, lihat detailnya.
kappa(z, …)
# S3 method for default
kappa(z, exact = FALSE,
norm = NULL, method = c("qr", "direct"), …)
# S3 method for lm
kappa(z, …)
# S3 method for qr
kappa(z, …)<p></p><p>.kappa_tri(z, exact = FALSE, LINPACK = TRUE, norm = NULL, …)</p><p>rcond(x, norm = c("O","I","1"), triangular = FALSE, …)</p>
| Parameter | Deskripsi |
|---|---|
z, x |
A matrix or a the result of qr or a fit from a class inheriting from "lm". |
exact |
logical. Should the result be exact? |
norm |
character string, specifying the matrix norm with respect to which the condition number is to be computed, see also norm. For rcond, the default is "O", meaning the One- or 1-norm. The (currently only) other possible value is "I" for the infinity norm. |
method |
a partially matched character string specifying the method to be used; "qr" is the default for back-compatibility, mainly. |
triangular |
logical. If true, the matrix used is just the lower triangular part of z. |
LINPACK |
logical. If true and z is not complex, the LINPACK routine dtrco() is called; otherwise the relevant LAPACK routine is. |
… |
further arguments passed to or from other methods; for kappa.*(), notably LINPACK when norm is not "2". |
# NOT RUN {
kappa(x1 <- cbind(1, 1:10)) # 15.71
kappa(x1, exact = TRUE) # 13.68
kappa(x2 <- cbind(x1, 2:11)) # high! [x2 is singular!]
hilbert <- function(n) { i <- 1:n; 1 / outer(i - 1, i, "+") }
sv9 <- svd(h9 <- hilbert(9))$ d
kappa(h9) # pretty high!
kappa(h9, exact = TRUE) == max(sv9) / min(sv9)
kappa(h9, exact = TRUE) / kappa(h9) # 0.677 (i.e., rel.error = 32%)
# }