It seems that two different algorithms are referred to as the "Gauss-Jordan elimination".
- Which one is the one?
- Is any of the two algorithms used in modern numerical linear algebra for RREF?
- Am I right to think that one of the algorithms might have better numerical properties?
Gauss-Jordan variant 1. This variant starts as the standard Gaussian elimination: the multiples of rows of $\boldsymbol{A}\in\mathbb{R}^{m\times n}$ are subtracted from rows below to create zeros, each such operation is expressed as a lower uni-triangular $\boldsymbol{L}_{k}$, so we obtain $$\boldsymbol{L}_{m}\cdots\boldsymbol{L}_{1}\boldsymbol{A}=\boldsymbol{U},$$ where $\boldsymbol{U}$ is upper-triangular and also in the row echelon form (but not necessarily in RREF). For simplicity, I will omit row exchanges. So far we've got the LU-decomposition, $\boldsymbol{A}=\boldsymbol{LU}$ with $\boldsymbol{L}:=(\boldsymbol{L}_{m}\cdots\boldsymbol{L}_{1})^{-1}$. We can also make all pivots in $\boldsymbol{U}$ equal $1$, and write $\boldsymbol{A}=\boldsymbol{LDU}$ with some other $\boldsymbol{U}$ and $\boldsymbol{L}$.
Now we continue with the "back-substitution" step: we subtract multiples of rows in $\boldsymbol{U}$ from rows above in order to create zeros above every pivot. The creation of zeros above one pivot is expressed as an upper uni-triangular $\boldsymbol{U}_k$, so we have $$(\boldsymbol{U}_{r}\dots\boldsymbol{U}_{1}\boldsymbol{D}\boldsymbol{L}_{m}\cdots\boldsymbol{L}_{1})\boldsymbol{A}=\boldsymbol{E}_{\boldsymbol{A}},$$ where $\boldsymbol{E}_{\boldsymbol{A}}$ is the unique reduced row echelon form (RREF) of ${\boldsymbol{A}}$.
[On a side note: the inverse of the parenthesis on the left-hand side should give us the basic columns of ${\boldsymbol{A}}$, but we can take them directly from ${\boldsymbol{A}}$ by looking at the pivot's positions and recalling how we permuted the rows, right?]
Gauss-Jordan variant 2. In contrast to what we did in the standard Gaussian elimination, now, at each step we subtract a multiple of the current row from all other rows to create zeros both above and below the pivot. Each such operation is expressed as $\boldsymbol{T}_{k}$, which is neither upper- nor lower-triangular. After including scaling of rows to make pivotal elements equal to $1$, we obtain $$\boldsymbol{T}_{r}\cdots\boldsymbol{T}_{1}\boldsymbol{A}=\boldsymbol{E}_{\boldsymbol{A}}.$$
Different sources define different variants. For example,
variant 1 is referred to as the Gauss-Jordan method in
- Wikipedia's article on Gaussian elimination, and also in
- Gilbert Strang's Linear Algebra and Its Applications, 4th ed (2006), p. 53.
Variant 2 is said to be the Gauss-Jordan method in
- Carl Meyer's Matrix Analysis and Applied Linear Algebra (2000), p. 47.