norm {Matrix} | R Documentation |
Computes a matrix norm of x
, using Lapack for dense matrices.
The norm can be the one ("O"
, or "1"
) norm, the
infinity ("I"
) norm, the Frobenius ("F"
) norm,
the maximum modulus ("M"
) among elements of a matrix, or the
spectral norm or 2-norm ("2"
), as determined by the value of
type
.
norm(x, type, ...)
x |
a real or complex matrix. |
type |
A character indicating the type of norm desired.
The default is |
... |
further arguments passed to or from other methods. |
For dense matrices, the methods eventually call the Lapack functions
dlange
, dlansy
, dlantr
, zlange
,
zlansy
, and zlantr
.
A numeric value of class "norm"
, representing the quantity
chosen according to type
.
Anderson, E., et al. (1994). LAPACK User's Guide, 2nd edition, SIAM, Philadelphia.
onenormest()
, an approximate randomized estimate
of the 1-norm condition number, efficient for large sparse matrices.
The norm()
function from R's base package.
x <- Hilbert(9) norm(x)# = "O" = "1" stopifnot(identical(norm(x), norm(x, "1"))) norm(x, "I")# the same, because 'x' is symmetric allnorms <- function(d) vapply(c("1","I","F","M","2"), norm, x = d, double(1)) allnorms(x) allnorms(Hilbert(10)) i <- c(1,3:8); j <- c(2,9,6:10); x <- 7 * (1:7) A <- sparseMatrix(i, j, x = x) ## 8 x 10 "dgCMatrix" (sA <- sparseMatrix(i, j, x = x, symmetric = TRUE)) ## 10 x 10 "dsCMatrix" (tA <- sparseMatrix(i, j, x = x, triangular= TRUE)) ## 10 x 10 "dtCMatrix" (allnorms(A) -> nA) allnorms(sA) allnorms(tA) stopifnot(all.equal(nA, allnorms(as(A, "matrix"))), all.equal(nA, allnorms(tA))) # because tA == rbind(A, 0, 0) A. <- A; A.[1,3] <- NA stopifnot(is.na(allnorms(A.))) # gave error