Matrix Factorizations

block factorization & Schur complement

Partition a matrix into a 2x2 grid of submatrices, M = [A, B; C, D], where A and D are square. Block factorization runs Gaussian elimination at the level of whole blocks instead of single entries. You eliminate the bottom-left block C by subtracting C A^-1 times the top block row, exactly as scalar elimination subtracts a multiple of the pivot row.

The result is a block LU form: M = [I, 0; C A^-1, I] [A, B; 0, S], where S = D - C A^-1 B is the Schur complement of A in M. The lower factor records the block multiplier C A^-1; the upper factor is block upper triangular with A and S on its diagonal. It is ordinary LU, just with blocks playing the role of numbers.

This gives clean formulas for partitioned problems. The determinant factors as det(M) = det(A) det(S). The inverse of M can be written entirely in terms of A^-1 and S^-1, the basis of block-inversion formulas. And solving M x = b splits into solving with A and with S, which is exactly how domain-decomposition and saddle-point solvers divide and conquer.

The payoff is structural and computational. If A is a large, cheap-to-invert block (say block-diagonal or sparse), you reduce a big problem to a much smaller one in S. The catch is the same as scalar elimination: A must be invertible to form C A^-1, so block pivoting may be needed if the natural top-left block is singular.

[A, B; C, D] = [I, 0; C A^-1, I] [A, B; 0, S], S = D - C A^-1 B, det = det(A) det(S)

Block elimination factors a partitioned matrix and exposes the Schur complement S.

Block LU is just LU with blocks for entries. The single most useful object it produces is the Schur complement S = D - C A^-1 B.

Also called
block eliminationblock LU分块 LU 分解