R: Reduced Row Echelon Form

rref {pracma} | R Documentation

## Reduced Row Echelon Form

### Description

Produces the reduced row echelon form of `A` using Gauss Jordan elimination with partial pivoting.

### Usage

    rref(A)

### Arguments

`A` | numeric matrix.

### Details

A matrix of “row-reduced echelon form" has the following characteristics:

1. All zero rows are at the bottom of the matrix

2. The leading entry of each nonzero row after the first occurs to the right of the leading entry of the previous row.

3. The leading entry in any nonzero row is 1.

4. All entries in the column above and below a leading 1 are zero.

Roundoff errors may cause this algorithm to compute a different value for the rank than `rank`, `orth` or `null`.

### Value

A matrix the same size as `m`.

### Note

This serves demonstration purposes only; don't use for large matrices.

### References

Weisstein, Eric W. “Echelon Form." From MathWorld – A Wolfram Web Resource.
http://mathworld.wolfram.com/EchelonForm.html

### See Also

`qr.solve`

### Examples

    A <- matrix(c(1, 2, 3, 1, 3, 2, 3, 2, 1), 3, 3, byrow = TRUE)
    rref(A)
    #      [,1] [,2] [,3]
    # [1,]    1    0    0
    # [2,]    0    1    0
    # [3,]    0    0    1

    A <- matrix(data=c(1, 2, 3, 2, 5, 9, 5, 7, 8,20, 100, 200),
                nrow=3, ncol=4, byrow=FALSE)
    rref(A)
    #   1    0    0  120
    #   0    1    0    0
    #   0    0    1  -20

    # Use rref on a rank-deficient magic square:
    A = magic(4)
    R = rref(A)
    zapsmall(R)
    #   1    0    0    1
    #   0    1    0    3
    #   0    0    1   -3
    #   0    0    0    0

[Package pracma version 2.0.4 Index]