# norm: Compute the Norm of a Matrix

## Description

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`.

## Usage

 `1` ```norm(x, type = c("O", "I", "F", "M", "2")) ```

## Arguments

 `x` numeric matrix; note that packages such as Matrix 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 2-norm, which is the largest singular value (`svd`) of `x`. The default is `"O"`. Only the first character of `type` 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 non-negative number.

## Source

Except for `norm = "2"`, the LAPACK routine `DLANGE`.

LAPACK is from https://www.netlib.org/lapack/.

## References

Anderson, E., et al (1994). LAPACK User's Guide, 2nd edition, SIAM, Philadelphia.

`rcond` for the (reciprocal) condition number.
 ``` 1 2 3 4 5 6 7 8 9 10 11 12``` ```(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) ```