norm
Matrix Norms
Description
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
.
Usage
norm(x, type, ...)
Arguments
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. |
Details
For dense matrices, the methods eventually call the Lapack functions dlange
, dlansy
, dlantr
, zlange
, zlansy
, and zlantr
.
Value
A numeric value of class "norm"
, representing the quantity chosen according to type
.
References
Anderson, E., et al. (1994). LAPACK User's Guide, 2nd edition, SIAM, Philadelphia.
See Also
onenormest()
, an approximate randomized estimate of the 1-norm condition number, efficient for large sparse matrices.
The norm()
function from R's base package.
Examples
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
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.