# 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.

# rref

Reduced row echelon form (Gauss-Jordan elimination)

## Syntax

```R = rref(A) [R,jb] = rref(A) [R,jb] = rref(A,tol) ```

## Description

`R = rref(A)` produces the reduced row echelon form of `A` using Gauss Jordan elimination with partial pivoting. A default tolerance of (`max(size(A))*eps *norm(A,inf)`) tests for negligible column elements.

`[R,jb] = rref(A)` also returns a vector `jb` such that:

• `r = length(jb)` is this algorithm's idea of the rank of `A`.

• `x(jb)` are the pivot variables in a linear system `Ax = b`.

• `A(:,jb)` is a basis for the range of `A`.

• `R(1:r,jb)` is the `r`-by-`r` identity matrix.

`[R,jb] = rref(A,tol)` uses the given tolerance in the rank tests.

Roundoff errors may cause this algorithm to compute a different value for the rank than `rank`, `orth` and `null`. Additionally, use `mldivide` to solve linear systems when high precision is required.

## Examples

Use `rref` on a rank-deficient magic square:

```A = magic(4), R = rref(A) A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 R = 1 0 0 1 0 1 0 3 0 0 1 -3 0 0 0 0```