# null¶

## Purpose¶

Computes an orthonormal basis for the (right) null space of a matrix.

## Format¶

b = null(x)
Parameters:x (NxM matrix) – data
Returns:b (MxK matrix) –

where K is the nullity of x, such that:

// NxK matrix of 0's
x * b = 0


and

// MxM identity matrix
b'b = I


The error returns are returned in b:

error code reason
1 there is no null space
2 b is too large to return in a single matrix

Use scalerr() to test for error returns.

## Examples¶

let x[2, 4] = 2 1 3 -1
3 5 1  2;

b = null(x);
z = x*b;
i = b'b;


After the code above:

    -0.804  0.142
b =  0.331 -0.473  z = 0  0  i = 1  0
0.473  0.331      0  0      0  1
0.142  0.804


## Remarks¶

The orthogonal complement of the column space of x’ is computed using the QR decomposition. This provides an orthonormal basis for the null space of x.

_qrdc, _qrsl

null.src