## NORM Norm Calculation

Section: Array Generation and Manipulations

### Usage

Calculates the norm of a matrix. There are two ways to use the `norm` function. The general syntax is

       y = norm(A,p)

where `A` is the matrix to analyze, and `p` is the type norm to compute. The following choices of `p` are supported

- `p = 1` returns the 1-norm, or the max column sum of A
- `p = 2` returns the 2-norm (largest singular value of A)
- `p = inf` returns the infinity norm, or the max row sum of A
- `p = 'fro'` returns the Frobenius-norm (vector Euclidean norm, or RMS value)

For a vector, the regular norm calculations are performed:

- `1 <= p < inf` returns `sum(abs(A).^p)^(1/p)`
- `p` unspecified returns `norm(A,2)`
- `p = inf` returns max(abs(A))
- `p = -inf` returns min(abs(A))

### Examples

Here are the various norms calculated for a sample matrix

    --> A = float(rand(3,4))
    A =
      <float>  - size: [3 4]

    Columns 1 to 4
     0.426610678  0.075468481  0.871337116  0.487616807
     0.879925549  0.154911667  0.373149037  0.475030541
     0.041696656  0.165778294  0.552217603  0.506726503
    --> norm(A,1)
    ans =
      <float>  - size: [1 1]
     1.7967038
    --> norm(A,2)
    ans =
      <float>  - size: [1 1]
     1.5921172
    --> norm(A,inf)
    ans =
      <float>  - size: [1 1]
     1.8830168
    --> norm(A,'fro')
    ans =
      <float>  - size: [1 1]
     1.7142895

Next, we calculate some vector norms.

    --> A = float(rand(4,1))
    A =
      <float>  - size: [4 1]

    Columns 1 to 1
     0.68404633
     0.20355032
     0.90988815
     0.69708711
    --> norm(A,1)
    ans =
      <double>  - size: [1 1]
     2.4945719242095947
    --> norm(A,2)
    ans =
      <float>  - size: [1 1]
     1.3502514
    --> norm(A,7)
    ans =
      <double>  - size: [1 1]
     0.9436675093733905
    --> norm(A,inf)
    ans =
      <float>  - size: [1 1]
     0.90988815
    --> norm(A,-inf)
    ans =
      <float>  - size: [1 1]
     0.20355032