# Birkhoff factorization

In mathematics, Birkhoff factorization or Birkhoff decomposition, introduced by George David Birkhoff (1909), is a generalization of the LU decomposition (i.e. Gauss elimination) to loop groups.
The factorization of an invertible matrix $M\in \mathrm {GL} _{n}(\mathbb {C} [z,z^{-1}])$ with coefficients that are Laurent polynomials in $z$ is given by a product $M=M^{+}M^{0}M^{-}$, where $M^{+}$ has entries that are polynomials in $z$, $M^{0}=\mathrm {diag} (z^{k_{1}},z^{k_{2}},...,z^{k_{n}})$ is diagonal with $k_{i}\in \mathbb {Z}$ for $1\leq i\leq n$ and $k_{1}\geq k_{2}\geq ...\geq k_{n}$, and $M^{-}$ has entries that are polynomials in $z^{-1}$. For a generic matrix we have $M^{0}=\mathrm {id}$.
Birkhoff factorization implies the Birkhoff–Grothendieck theorem of Grothendieck (1957) that vector bundles over the projective line are sums of line bundles.
There are several variations where the general linear group is replaced by some other reductive algebraic group, due to Alexander Grothendieck (1957). Birkhoff factorization follows from the Bruhat decomposition for affine Kac–Moody groups (or loop groups), and conversely the Bruhat decomposition for the affine general linear group follows from Birkhoff factorization together with the Bruhat decomposition for the ordinary general linear group.

## Algorithm

There is an effective algorithm to compute the Birkhoff factorization. We present the algorithm for matrices with determinant 1, i.e. $M\in \mathrm {SL} _{n}(\mathbb {C} [z,z^{-1}])$. We follow the book by Clancey-Gohberg, where also the general case can be found.
First step: Replace $M$ by $z^{m}M$ for $m\in \mathbb {N}$ such that $z^{m}M\in \mathrm {GL} _{n}(\mathbb {C} [z])$.
Second step: Permute the rows and factor out the highest possible power of $z$ in each row, while staying in $\mathrm {GL} _{n}(\mathbb {C} [z])$. The permutation has to ensure that the highest powers of $z$ are decreasing.
Third step: Perform row operations such that at least one row becomes zero modulo $z$.
Repeat the second and third step until the determinant is 1 again. Then gathering all matrices and dividing by $z^{m}\mathrm {id}$ gives the result.
Note that as long as the determinant of the matrix is not 1 again, the determinant is zero modulo $z$, hence the rows are linearly dependent modulo $z$. Therefore the third step can be carried out.
Example: Consider $M=\left({\begin{smallmatrix}1+z&z^{-1}+2\\z&2\end{smallmatrix}}\right)$. The determinant is 1. The first step is done by replacing $M$ by $zM$. The second step is $\left({\begin{smallmatrix}z+z^{2}&1+2z\\z^{2}&2z\end{smallmatrix}}\right)=\left({\begin{smallmatrix}0&1\\1&0\end{smallmatrix}}\right)\left({\begin{smallmatrix}z&0\\0&1\end{smallmatrix}}\right)\left({\begin{smallmatrix}z&2\\z+z^{2}&1+2z\end{smallmatrix}}\right)$. The third step gives $\left({\begin{smallmatrix}z&2\\z+z^{2}&1+2z\end{smallmatrix}}\right)=\left({\begin{smallmatrix}1&0\\1/2&1\end{smallmatrix}}\right)\left({\begin{smallmatrix}z&2\\z/2+z^{2}&2z\end{smallmatrix}}\right)$. Repeating step 2 gives :
    $zM={\begin{pmatrix}0&1\\1&0\end{pmatrix}}{\begin{pmatrix}z&0\\0&1\end{pmatrix}}{\begin{pmatrix}1&0\\1/2&1\end{pmatrix}}{\begin{pmatrix}0&1\\1&0\end{pmatrix}}{\begin{pmatrix}z&0\\0&1\end{pmatrix}}{\begin{pmatrix}z&2\\1/2+z&2\end{pmatrix}}={\begin{pmatrix}z^{-1}/2&1\\1&0\end{pmatrix}}{\begin{pmatrix}z&0\\0&z\end{pmatrix}}{\begin{pmatrix}z&2\\1/2+z&2\end{pmatrix}}.$
Therefore $M=\left({\begin{smallmatrix}z^{-1}/2&1\\1&0\end{smallmatrix}}\right)\left({\begin{smallmatrix}z&2\\1/2+z&2\end{smallmatrix}}\right)$.