← LibraryExtended Echelon Form | KEVOS® MathematicsProject Delivery · Project ManagementLesson 65/189← PrevNext →
ArticlePublished 8 Aug 202622 min readBy Kevin Jogin
Skip to content

Engineering/Mathematics/Matrices

Extended Echelon Form

Augment a matrix with an identity block, reduce the whole array, and the appended block becomes a nonsingular matrix J satisfying JA=B — a complete record of the row operations performed. Partitioning the result into five named submatrices packages nearly every structural fact about the matrix into one computation.

  • Advanced level
  • Stream: computation
  • Reading time 14 min
  • Ref KVS-ENG-MATH-0053
Taxonomy
Engineering / Mathematics
Prerequisite
Reduced row-echelon form, matrix multiplication, nonsingular matrices
Input
M=[AIm], size m×(n+m)
Output
N=[BJ] with submatrices C, K, L
Key identity
JA=B with J nonsingular
Generalises
Matrix inversion by augmented reduction

Overview

Reducing a matrix to reduced row-echelon form answers many questions but discards one important thing: how you got there. Each row of the result is a linear combination of the original rows, yet the coefficients of those combinations vanish once the reduction is complete. Extended echelon form preserves them by attaching an identity block to the right of the matrix and applying every row operation to the enlarged array.

The mechanism is the same one used to invert a nonsingular matrix by reducing [AIn], and the generalisation is exact. Here A need be neither square nor nonsingular. What emerges in the appended block is a nonsingular matrix J satisfying JA=B, where B is the reduced form of A. When A happens to be square and nonsingular, B is the identity and J is the inverse; in every other case J is still nonsingular and still a complete record of the reduction.

The value of the construction comes from partitioning N=[BJ] along the boundary set by the rank. Let r be the number of non-zero rows of B. Then C is the top r rows of B, K is the top r rows of J, and L is the bottom mr rows of J. Both C and L are already in reduced row-echelon form with no zero rows, so both are immediately ready for analysis without further reduction.

That readiness is the point. Two small, clean matrices carry the structural content of the original: C governs the unknowns and L governs the equations. From them the null space, row space, column space and left null space all follow with nothing more than standard basis extractions. The extended form is therefore best understood not as another canonical form but as a single computation that pays for four separate ones.

Definition

Extended Echelon Form

EEF

Let A be an m×n matrix. Adjoin the m×m identity matrix to form the m×(n+m) matrix M=[AIm], and reduce M to reduced row-echelon form. The result N is the extended reduced row-echelon form of A.
Write B for the first n columns of N and J for the last m columns. Let r be the number of non-zero rows of B. Then:

  • C is the r×n matrix formed from the non-zero rows of B;
  • K is the r×m matrix formed from the first r rows of J;
  • L is the (mr)×m matrix formed from the last mr rows of J.

Because the reduced row-echelon form of M is unique, all five submatrices are determined by A alone — no dependence on the sequence of row operations chosen.

Properties of Extended Echelon Form

PEEF

Let A be an m×n matrix with extended echelon form N. Then:

  1. J is nonsingular.
  2. B=JA.
  3. For xn and ym, Ax=y if and only if Bx=Jy.
  4. C is in reduced row-echelon form, has no zero rows, and has r pivot columns.
  5. L is in reduced row-echelon form, has no zero rows, and has mr pivot columns.

Block structure of N

BSN

The five submatrices assemble into a two-by-two block picture, with a zero block occupying the bottom-left corner because the last mr rows of B are zero rows: N=[CK0L]. Reading this layout is the fastest route to remembering which submatrix sits where.

Concepts

Why J is nonsingular

The appended block starts as Im and is transformed by exactly the same sequence of row operations that reduces A, so J and Im are row-equivalent. Row-equivalent matrices have identical null spaces, and the identity matrix has only the trivial null space, so N(J)={0} and J is nonsingular. Nothing about A enters this argument, which is why the conclusion holds even when A is rectangular or rank-deficient.

Why B=JA

Row operations commute with matrix multiplication on the right. If F reduces to G under a sequence of operations, then applying the same sequence to the product FH produces GH. Begin from the trivial identity AIn=ImA and apply the reduction that converts M to N: the left side sees A converted to B, giving BIn; the right side sees Im converted to J, giving JA. Simplifying the left side yields B=JA directly.

The translated system

The third property is the operationally significant one. It says the systems Ax=y and Bx=Jy have identical solution sets. The forward direction follows by multiplying through by J; the reverse follows by multiplying by J1, which exists because J is nonsingular. Concretely: reducing the augmented matrix [Ay] always produces [BJy]. The matrix J is precisely the operator that applies the accumulated row operations to any vector of constants.

Why C and L are already reduced

Any contiguous block of rows taken from a matrix in reduced row-echelon form is itself in reduced row-echelon form. C consists of the first r rows of N with the last m entries removed, and deleting trailing columns cannot break the echelon conditions, so C is reduced with r leading ones. L consists of the last mr rows of N with the first n entries removed; those removed entries are all zero, being the zero rows of B, so again the conditions survive. Neither L nor C can have a zero row: a zero row in L would make a whole row of the nonsingular matrix J zero.

Generalising the inverse

Suppose A is square and nonsingular. Then its reduced form is the identity, so B=In and the identity JA=B becomes JA=In: the appended block is a left inverse of A, and for a square nonsingular matrix that is the inverse. The classical augmented-reduction algorithm for computing A1 is therefore the special case m=n=r of this construction. In that case L has no rows, reflecting the absence of any consistency condition on the right-hand side.

The two halves carry different information

The split at row r separates two distinct kinds of structure. The top block, [CK], describes the unknowns: C holds the surviving equations after redundancy is removed, and K maps a right-hand side into the constants of those equations. The bottom block, [0L], describes the equations: the zeros record that mr combinations of the original rows vanish identically, and L holds the scalars producing them. One block solves; the other tests solvability.

Constructing the extended echelon form

Augment with the identityForm M=[AIm], an m×(n+m) array. The identity block must have size m, matching the row count of A, not the column count.
Reduce the left blockApply row operations to the full width of the array until the first n columns are in reduced row-echelon form. Count the non-zero rows to obtain r.
Continue into the appended blockPlace leading ones in the final mr rows and clear their columns above. This standardises the result so that N is the unique reduced form of M.
PartitionSplit N into B (first n columns) and J (last m columns), then take C and K from the top r rows and L from the bottom mr rows.
VerifyCheck JA=B by direct multiplication, and confirm that C has r pivot columns and L has mr, both with no zero rows.

Equations

The construction

EQ-EEF-01
M=[AIm]RREFN=[BJ]

The identity block has size equal to the number of rows of A, so the array is m×(n+m) regardless of the shape of A.

Block partition of N

EQ-EEF-02
N=[CK0L]

C is r×n, K is r×m, L is (mr)×m, and the zero block is (mr)×n, comprising the zero rows of B.

The transforming identity

EQ-EEF-03
JA=B,Jnonsingular

J records the cumulative effect of every row operation. Its nonsingularity follows from being row-equivalent to Im.

System translation

EQ-EEF-04
Ax=yBx=Jy

Equivalently, reducing [Ay] always yields [BJy]. The forward direction multiplies by J; the reverse by J1.

Consistency in terms of L

EQ-EEF-05
Ax=yconsistentLy=0

The last mr entries of Jy must vanish for the translated system to be consistent, and those entries are exactly Ly.

Reduction to the inverse

EQ-EEF-06
AMnnnonsingularB=In,J=A1,Lempty

The classical augmented-reduction algorithm for the inverse is the special case m=n=r of the extended echelon form.

Pivot counts of the two reduced blocks

EQ-EEF-07
rank(C)=r,rank(L)=mr

Both blocks are in reduced form with no zero rows, so each has full row rank. Their ranks sum to m.

Variable Definitions

Symbols used on this page
SymbolNameMeaningDomain / type
AInput matrixThe m×n matrix being analysedm x n matrix over C
MAugmented array[AIm], the input to the reductionm x (n+m) matrix
NExtended echelon formThe reduced row-echelon form of M, partitioned as [BJ]m x (n+m) matrix
BReduced matrixFirst n columns of N; the reduced row-echelon form of A, with mr zero rowsm x n matrix
JTransforming matrixLast m columns of N; nonsingular, with JA=Bm x m nonsingular matrix
CTop-left blockThe r non-zero rows of B; reduced, no zero rows, r pivot columnsr x n matrix
KTop-right blockFirst r rows of J; maps a right-hand side to the constants of the surviving equationsr x m matrix
LBottom-right blockLast mr rows of J; reduced, no zero rows, encodes the consistency conditions(m-r) x m matrix
rRankNumber of non-zero rows of B; sets the partition boundary0 to min(m,n)

Worked Numerical Example

Problem statement

A four-node network is driven by three supply settings. Build the extended echelon form of the 4 by 3 map from settings to nodal demands, identify all five submatrices, verify the defining properties, and use the translated system to solve for a specific achievable demand without ever forming an ordinary augmented matrix.

  1. Augment with the identity

    With m=4 and n=3, adjoin I4 to the right of A to form a 4×7 array. The identity block matches the row count, which is what makes the appended block a record of row operations.

    M=[1211000231010035200105830001]
  2. Reduce the whole array

    Apply row operations across the full width. The left block reaches reduced form with two non-zero rows, so r=2; the reduction then continues so that the final two rows acquire leading ones inside the appended block and those columns are cleared above.

    N=[1010085011005300010210000111]
  3. Identify the five submatrices

    Split at column n=3 to get B and J, then split at row r=2 to get C, K and L. The bottom-left block is zero, as it must be, since those are the zero rows of B.

    C=[101011],K=[00850053],L=[10210111]
  4. Verify JA=B

    Multiply the appended block by the original matrix. Row 3 of J is (1,0,2,1), and applying it to the columns of A gives 16+5=0, 210+8=0 and 14+3=0 — a zero row, exactly as B requires. The same check on rows 1, 2 and 4 completes the verification.

    JA=[0085005310210111][121231352583]=[101011000000]=B
  5. Confirm J is nonsingular

    Rows 3 and 4 of J hold leading ones in columns 1 and 2 of the block, and rows 1 and 2 hold zeros there. Reducing J alone returns I4, so J is nonsingular and the translation between systems is reversible in both directions.

  6. Test a demand vector using L

    Take y=(3,1,4,5). Then Ly has entries 38+5=0 and 1+45=0, so Ly=0 and the system is consistent. This is the whole consistency test: two inner products, no elimination.

  7. Solve via the translated system

    Compute Jy=(7,5,0,0), whose first r=2 entries are Ky. Solving Bx=Jy means solving x1x3=7 and x2+x3=5, with x3 free. Setting x3=0 gives x=(7,5,0).

    x=[7+x35x3x3],x3free
  8. Check against the original system

    Substituting x=(7,5,0) into A gives 7+10=3, 14+15=1, 21+25=4 and 35+40=5, reproducing y exactly. The translated system delivered the correct solution set without the original augmented matrix ever being reduced.

Result

One reduction of a 4×7 array yields the rank r=2, a nonsingular transformation J with JA=B, a two-row consistency test L, and a mechanism for solving Ax=y for any right-hand side at the cost of one matrix-vector product plus a back-substitution on a 2×3 system. Where the same coefficient matrix is queried repeatedly, that up-front cost is amortised immediately.

Applications & Industry Use

Embedded control

Precomputed solvers for a fixed plant matrix

A controller whose plant model is fixed at design time can store J, C and L in firmware. At runtime, screening a demand vector costs mr inner products and solving costs one matrix-vector product with K plus a triangular back-substitution, all with deterministic timing and no dynamic allocation — properties an online elimination cannot offer.

Computer algebra systems

Certified structural computations

The identity JA=B is a machine-checkable certificate that a reported reduced form is genuinely row-equivalent to the input. Symbolic systems can return J alongside the reduced form so that a downstream consumer verifies the claim with a single multiplication instead of trusting the reduction.

Structural analysis

Equilibrium and mechanism detection in one pass

Applied to an equilibrium matrix, the construction yields the achievable load space through L and the self-stress states through C simultaneously. A structure's degree of static indeterminacy and its degree of kinematic indeterminacy are read from the same reduction rather than from two separate analyses.

Network and flow modelling

Conservation checks alongside flow solutions

For a node-arc incidence matrix, L encodes the conservation identities that any feasible supply vector must satisfy, while C and K provide the machinery to compute a feasible flow. Model builders get a validity check on the input data and a solver for it from a single computation.

Cryptography and coding

Systematic form with recorded transformation

Bringing a generator matrix to systematic form requires row operations, and decoders often need the transformation itself to map back into the original coordinates. The appended block supplies exactly that transformation, and its nonsingularity guarantees the mapping is invertible.

Model-based diagnostics

Residual generator synthesis

The rows of L are precisely the combinations of model equations that cancel, so they define residual generators independent of the unknown state. Deriving them from the extended form gives an automated route from a structural model to a deployable diagnostic test set.

Design Considerations

Size the identity block by rows, not columns

The appended block is Im, matching the number of rows of A. Using In is a common slip that produces an array of the wrong shape for rectangular matrices and silently produces a meaningless J for square ones only by coincidence. The array width is always n+m.

Carry the reduction to completion or lose uniqueness

Stopping once the left block is reduced leaves the appended block un-normalised, so the resulting L depends on the operation order and cannot be compared across computations. Continuing until the whole array is in reduced form makes N unique, which matters whenever the result is recorded, published or regression-tested.

The cost is real for square matrices

Reducing an m×(n+m) array rather than m×n roughly doubles the arithmetic for a square input. That cost buys J, L and material for all four fundamental subsets. If the deliverable is a single solve or a rank figure, an ordinary elimination or an LU factorisation is the better choice.

J is dense even when A is sparse

The transforming matrix accumulates the entire history of the reduction and is generally dense regardless of the sparsity of A. For large sparse problems, forming J explicitly can exceed available memory by orders of magnitude. Sparse workflows should extract the specific rows of L that are needed rather than materialise the whole block.

Treat J as a left inverse, not an inverse

The relation is JA=B with B=In only in the nonsingular square case. For rectangular A there is no claim that AJ is anything in particular, and writing J as A1 outside the square nonsingular case is a category error that will produce wrong results as soon as the product is taken in the other order.

Numerical use requires a rank tolerance

The partition boundary is r, which in floating point is a threshold decision. An error of one in the computed rank moves a row between K and L, changing both the consistency test and the solution machinery. Where the input is measured data, derive the equivalent structure from an SVD with a stated tolerance rather than from an exact-arithmetic partition.

Standards & Codes

Notation, interchange and numerical standards that govern how this material is written down, stored and computed in production systems.

Applicable standards, conventions and reference implementations
ReferenceTitleRelevance to this topic
ISO 80000-2Quantities and units — Part 2: MathematicsFixes the partitioned-matrix notation, the identity matrix symbol Im and the block delimiters used to present [AIm] and its two-by-two block reduction.
LAPACK / BLAS referenceLinear Algebra PACKage reference implementationLAPACK exposes factorisations rather than augmented reductions; the closest production analogues of J are the accumulated transformations returned by xGETRF and xGEQRF, which are stored in factored form precisely because the explicit product is dense.
IEEE 754-2019IEEE Standard for Floating-Point ArithmeticDetermines the accumulated rounding in J, which grows with the number of operations recorded and makes the identity JA=B hold only to within a tolerance in practice.
ISO/IEC 14882Programming languages — C++Fixes the row-major storage and aliasing rules that govern how an augmented array is laid out in memory and whether the two blocks can share an allocation safely.
ISO/IEC 40314Mathematical Markup Language (MathML) Version 3.0Encodes the partitioned arrays with visible block dividers as semantic markup, so the boundary between A and the identity block is conveyed structurally rather than visually.

Material Selection

For a mathematical topic, "material" is the numeric representation: the scalar field, storage format and precision the computation is built from.

Representation and precision selection
RepresentationSelect whenTrade-off
Exact rational arithmeticDeriving J, C and L for a symbolic or small integer matrix where the identity JA=B must hold exactly.Guarantees an exact partition boundary and a verifiable certificate, but the appended block accumulates the full operation history and its entries can grow rapidly.
Arbitrary-precision integers with denominator clearingInteger input where L should be reported with integer coefficients, as for conservation or closure relations.Keeps the conditions readable and physically meaningful; requires an explicit normalisation convention so that results are comparable between computations.
IEEE 754 binary64Moderate dense matrices where the structure is known and only the numeric transformation is required.Fast, but rounding accumulates in J across every recorded operation, so JA matches B only to a tolerance and the partition boundary must be chosen with a rank threshold.
Orthogonal accumulation (QR with stored reflectors)A numerically stable analogue of J is needed for floating-point data.Householder reflectors accumulate an orthogonal transformation with no growth in rounding error, but the result is an orthogonal triangularisation rather than a reduced echelon form and loses the zero-one pattern.
Finite field arithmeticCoding applications where systematic form and its recorded transformation are both required.Exact and free of growth, with the appended block giving the invertible change of coordinates directly; restricted to the algebraic setting of the code.
Factored storage instead of explicit JLarge problems where the dense transformation cannot be held in memory.Storing the operation sequence and applying it on demand keeps memory proportional to the operation count, at the cost of re-application time for each right-hand side.

Manufacturing Notes

Implementation notes — how the result is actually produced by hand, by algorithm and by library, including cost and numerical behaviour.

Operation count

Reducing the m×(n+m) array costs on the order of m(n+m)r multiply-adds against mnr for reducing A alone. For a square matrix that is close to a factor of two; for a wide matrix with nm the overhead is proportionally smaller. The additional work is exactly the cost of transforming the identity block.

Performing the reduction by hand

Draw the divider between the blocks and apply every operation across it without exception. Complete the left block first, count the zero rows to fix r, then normalise the trailing rows within the appended block. Working the appended block early is a common source of confusion, because the pivot positions there are only determined once r is known.

Verification technique

Multiply J by A and compare with B entry for entry; this single check validates the entire reduction. Confirm independently that J reduces to Im, that C has exactly r leading ones, and that L has exactly mr leading ones with no zero rows. Any failure localises the error to a specific block.

Library behaviour

No mainstream numerical library implements extended echelon form directly. In SymPy it is built by horizontally stacking the matrix with eye(m) and calling rref(), then slicing the result. Numerical work substitutes factorisations: LU with pivoting gives a factored transformation, and SVD gives orthonormal bases playing the roles of C and L with well-defined conditioning.

Rounding accumulation in J

Because J records every operation, its entries accumulate rounding proportional to the length of the reduction and can have a much larger condition number than A itself. Where the transformation must be applied to many right-hand sides in floating point, an orthogonal accumulation is preferable: orthogonal transformations do not amplify error, whereas elimination-derived transformations can.

Failure Modes & Common Mistakes

Failure modes, root causes and prevention
Failure mode / mistakeImpactRoot causePrevention & detection
Augmenting with In instead of ImhighMatching the identity block to the column count rather than the row count of A.The block must be m×m so that it can record row operations. Check that the augmented array has width n+m before reducing.
Omitting the appended block on an operationhighApplying a row operation to the left block only, so J no longer records the true transformation.Verify JA=B by multiplication before extracting any submatrix; the check fails immediately if any operation was skipped.
Halting once the left block is reducedmediumTreating the left block as the objective and leaving the appended block un-normalised, so the result is not canonical.Continue until the trailing rows have leading ones in the appended block and those columns are cleared above.
Swapping K and LmediumTaking the first mr rows of J as L rather than the last.L is the block aligned with the zero rows of B. Confirm with LAj=0 for every column of A; K does not satisfy this.
Treating J as an inverse of AhighGeneralising JA=B into a claim about AJ, which holds only when A is square and nonsingular.Use J only in the left-multiplied form. For rectangular A, AJ is not even conformable unless m=n.
Mistaking the partition boundarymediumSetting r from the number of columns or from the smaller dimension rather than from the count of non-zero rows of B.Count non-zero rows of the reduced left block explicitly and confirm that C and L have r and mr rows respectively.
Materialising J for a large sparse matrixmediumApplying the construction to a sparse problem, where the dense transforming matrix exhausts memory.Extract only the required rows of L, or use a sparse factorisation with the transformation held in factored form.
Exact rank assumption on floating-point datahighPartitioning at a rank determined by exact-zero pivot tests on rounded entries.Determine rank from an SVD with a documented tolerance and report the singular-value gap that justifies the partition.

FAQs

How does this differ from ordinary reduced row-echelon form?

It is the same reduction applied to a wider array. The extra columns start as an identity matrix and end as a nonsingular matrix J satisfying JA=B, so the construction preserves the record of how the reduction was performed. Ordinary reduction discards that information.

Why does the appended block have to be square of size m?

Because it records row operations, and there are m rows. Each row of the final block gives the coefficients expressing the corresponding row of B as a combination of the rows of A. An identity of size n would not be conformable for that role unless A happened to be square.

Is J the inverse of A?

Only when A is square and nonsingular, in which case B=In and JA=In makes J the inverse. In general J is a nonsingular matrix satisfying JA=B and should be treated as a left-acting transformation. Nothing is claimed about AJ, which need not even be defined.

What are C and L for?

C holds the surviving equations after redundancy is removed and governs the unknowns; from it the null space and row space of A follow directly. L holds the combinations of equations that vanish and governs solvability; from it the column space and left null space follow. Both are already in reduced form, so no further reduction is needed.

Why must I continue reducing after the left block is finished?

To make the result unique. Different operation orders leave the appended block in different states, so L would not be canonical and two computations could not be compared. Reducing the entire array makes N the unique reduced row-echelon form of M, and hence determined by A alone.

What does the third property actually buy me?

It says that Ax=y and Bx=Jy have the same solutions. Once J and B are computed, solving for any new right-hand side costs one matrix-vector product and a back-substitution on an r×n reduced system, instead of a fresh elimination on the full augmented matrix.

Is this practical for large matrices?

Rarely in the explicit form. The transforming matrix is dense even when A is sparse, and the arithmetic roughly doubles for square inputs. Its value is conceptual and small-scale: it explains where consistency conditions come from and it delivers all four fundamental subsets from one computation. Production code uses factorisations that keep the transformation in factored form.

References

  1. Beezer, R. A. A First Course in Linear Algebra, Version 0.70. University of Puget Sound, 2006. Section FS, Subsection EEF. Licensed under the GNU Free Documentation License v1.2.
  2. ISO 80000-2:2019, Quantities and units — Part 2: Mathematics. International Organization for Standardization.
  3. Golub, G. H. and Van Loan, C. F. Matrix Computations, 4th edition. Johns Hopkins University Press, 2013.
  4. Higham, N. J. Accuracy and Stability of Numerical Algorithms, 2nd edition. Society for Industrial and Applied Mathematics, 2002.
  5. Anderson, E. et al. LAPACK Users' Guide, 3rd edition. Society for Industrial and Applied Mathematics, 1999.

AI Suggested Questions

  • Work through the extended echelon form of a 5x3 matrix of rank 2 and identify all five submatrices with their exact dimensions.
  • Prove that row operations commute with matrix multiplication on the right, and show how that argument yields the identity JA = B.
  • Compare the condition number of the transforming matrix J against that of the original matrix for an ill-conditioned example.
  • Show explicitly how the extended echelon form reduces to the classical augmented-reduction algorithm for a matrix inverse when the input is square and nonsingular.
  • Why must L have no zero rows, and what would a zero row in L imply about the nonsingularity of J?
  • Design a firmware routine that stores C, K and L for a fixed plant matrix and solves for arbitrary right-hand sides in deterministic time.

Related Calculators

Continue learning

Algebraic and Geometric Multiplicities of Eigenvalues | KEVOS® MathematicsArticle · Project ManagementAmitsur’s Theorem on the Radical of a Polynomial Ring | KEVOS®Article · Project ManagementAmitsur’s Theorem on the Radical of an Algebra of Small Dimension | KEVOS®Article · Project ManagementArchetypes: Reference Catalogue of Worked Systems | KEVOS® MathematicsArticle · Project Management