FreeMat: NORM Norm Calculation

FreeMat

- Main Page
- Related Pages

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 =
        0.8462    0.9465    0.6874    0.8668
        0.1218    0.9206    0.5877    0.5837
        0.7081    0.6608    0.2035    0.5083

    --> norm(A,1)

    ans =
        2.5280

    --> norm(A,2)

    ans =
        2.2997

    --> norm(A,inf)

    ans =
        3.3470

    --> norm(A,'fro')

    ans =
        2.3712

Next, we calculate some vector norms.

    --> A = float(rand(4,1))

    A =
        0.3458
        0.1427
        0.3998
        0.7194

    --> norm(A,1)

    ans =
        1.6078

    --> norm(A,2)

    ans =
        0.9041

    --> norm(A,7)

    ans =
        0.7217

    --> norm(A,inf)

    ans =
        0.7194

    --> norm(A,-inf)

    ans =
        0.1427