# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

# null

## Syntax

```Z = null(A) Z = null(A,'r') ```

## Description

`Z = null(A)` is an orthonormal basis for the null space of `A` obtained from the singular value decomposition. That is, `A*Z` has negligible elements, `size(Z,2)` is the nullity of `A`, and `Z'*Z = I`.

`Z = null(A,'r')` is a “rational” basis for the null space obtained from the reduced row echelon form. `A*Z` is zero, `size(Z,2)` is an estimate for the nullity of `A`, and, if `A` is a small matrix with integer elements, the elements of the reduced row echelon form (as computed using `rref`) are ratios of small integers.

The orthonormal basis is preferable numerically, while the rational basis may be preferable pedagogically.

## Examples

### Example 1

Compute the orthonormal basis for the null space of a matrix A.

```A = [1 2 3 1 2 3 1 2 3]; Z = null(A); A*Z ans = 1.0e-015 * 0.2220 0.2220 0.2220 0.2220 0.2220 0.2220 Z'*Z ans = 1.0000 -0.0000 -0.0000 1.0000```

### Example 2

Compute the 1-norm of the matrix A*Z and determine that it is within a small tolerance.

```norm(A*Z,1) < 1e-12 ans = 1```

### Example 3

Compute the rational basis for the null space of the same matrix `A`.

```ZR = null(A,'r') ZR = -2 -3 1 0 0 1 A*ZR ans = 0 0 0 0 0 0```