norm {base} R Documentation

## 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

```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[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 non-negative 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.

`rcond` for the (reciprocal) condition number.

### Examples

```(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)
```

[Package base version 3.6.0 Index]