norm
Compute the Norm of a Matrix
Computes a matrix norm of x
using LAPACK. The norm can be
the one ("O"
) norm, the infinity ("I"
) norm, the
Frobenius ("F"
) norm, the maximum modulus ("M"
) among
elements of a matrix, or the “spectral” or "2"
norm, as
determined by the value of type
.
 Keywords
 math
Usage
norm(x, type = c("O", "I", "F", "M", "2"))
Arguments
 x
 numeric matrix; note that packages such as \href{https://CRAN.Rproject.org/package=#1}{\pkg{#1}}MatrixMatrix
define more
norm()
methods.  type
 character string, specifying the type of matrix
norm to be computed.
A character indicating the type of norm desired.
"O"
,"o"
or"1"
 specifies the one norm, (maximum absolute column sum);
"I"
or"i"
 specifies the infinity norm (maximum absolute row sum);
"F"
or"f"
 specifies the Frobenius norm (the
Euclidean norm of
x
treated as if it were a vector); "M"
or"m"
 specifies the maximum modulus of
all the elements in
x
; and "2"
 specifies the “spectral” or 2norm, which
is the largest singular value (
svd
) ofx
.
The default is
"O"
. Only the first character oftype[1]
is used.
Details
The base method of norm()
calls the Lapack function
dlange
.
Note that the 1, Inf and "M"
norm is faster to calculate than
the Frobenius one.
Unsuccessful results from the underlying LAPACK code will result in an error giving a positive error code: these can only be interpreted by detailed study of the FORTRAN code.
Value

The matrix norm, a nonnegative number.
Source
Except for norm = "2"
, the LAPACK routine DLANGE
. LAPACK is from http://www.netlib.org/lapack.
References
Anderson, E., et al (1994). LAPACK User's Guide, 2nd edition, SIAM, Philadelphia.
See Also
rcond
for the (reciprocal) condition number.
Examples
library(base)
(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 types of norm:
(nTyp < eval(formals(base::norm)$type))
sapply(nTyp, norm, x = h9)