Operators

# norm_matrix (Operator)

## Name

norm_matrix — Norm of a matrix.

## Signature

norm_matrix( : : MatrixID, NormType : Value)

## Description

The operator norm_matrix computes the norm of the elements of the Matrix defined by the matrix handle MatrixID. The return value is a floating point number.

The type of norming of the matrix can be selected via the parameter NormType:

'frobenius-norm':

The Frobenius norm is computed. The formula for the calculation of the result is:

```                _________________________
| m-1  n-1
|  ---  ---
|  \    \
Value =  \  |  /    /   (Matrix  )^2
\ |  ---  ---        ij
\|  i=0  j=0
```

with m = number of rows and n = number of columns of the Matrix.

Example:

```
/  3.0   1.0  \
Matrix = |  4.0  -3.0  |    ->    MValue = 10.0
\ -7.0   4.0  /

```

'infinity-norm':

The infinity norm is computed. The result is the largest value of the sum of the absolute values of the elements of the rows. The formula for the calculation is:

```                    n-1
---
\
Value =   max    /    | Matrix  |
i=0,m-1  ---          ij
j=0

```

with m = number of rows and n = number of columns of the Matrix.

Example:

```
/  3.0   1.0  \
Matrix = |  4.0  -3.0  |    ->    MValue = 11.0
\ -7.0   4.0  /

```

'1-norm':

The 1-norm is computed. The result is the largest value of the sum of the absolute values of the elements of the columns. The formula for the calculation is:

```                    m-1
---
\
Value =   max    /    | Matrix  |
j=0,n-1  ---          ij
i=0
```

with m = number of rows and n = number of columns of the Matrix.

Example:

```
/  3.0   1.0  \
Matrix = |  4.0  -3.0  |    ->    MValue = 14.0
\ -7.0   4.0  /

```

'2-norm':

The 2-norm is computed. The result is the largest singular value of the Matrix. The formula for the calculation of the result is:

```
Value = max (singular values (Matrix))

```

Example:

```
/  3.0   1.0  \
Matrix = |  4.0  -3.0  |    ->    MValue = 9.7006
\ -7.0   4.0  /

```

## Parallelization

• Multithreading type: reentrant (runs in parallel with non-exclusive operators).
• Processed without parallelization.

## Parameters

MatrixID (input_control)  matrix (integer)

Matrix handle of the input matrix.

NormType (input_control)  string (string)

Type of norm.

Default value: '2-norm'

List of values: '1-norm', '2-norm', 'frobenius-norm', 'infinity-norm'

Value (output_control)  real (real)

Norm of the input matrix.

## Result

If the parameters are valid, the operator norm_matrix returns the value 2 (H_MSG_TRUE). If necessary, an exception is raised.