Birkhoff factorization

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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 MGLn([z,z1]) with coefficients that are Laurent polynomials in z is given by a product M=M+M0M, where M+ has entries that are polynomials in z, M0=diag(zk1,zk2,...,zkn) is diagonal with ki for 1in and k1k2...kn, and M has entries that are polynomials in z1. For a generic matrix we have M0=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

[edit | edit source]

There is an effective algorithm to compute the Birkhoff factorization. The following will be based on the book by Clancey-Gohberg,[1] where a more general case can also be found.

Note that, by the cofactor matrix formula, a matrix M being invertible is equivalent to the determinant detM being a unit in the base ring. In our case this means that detM=czd for some c,d, as these are the only invertible elements in the ring of Laurent polynomials [z,z1], and detM+ and detM are just nonzero constants in , because these are the only units in [z] or [z1]. This means that detM0=zd and, in particular, d=k1+kn. This will help us determine when the algorithm is finished.

First step: Replace M by zmM to cancel any denominators, i.e. so that zmM is defined over [z]. Let d=ordzdetzmM be the exponent at z, note that this is now nonnegative.

Second step: Permute the rows and factor out the highest possible power of z in each row, while staying over [z]. The permutation has to ensure that the highest powers of z are decreasing. Denote P,D the permutation matrix, and the diagonal matrix of the powers, respectively.

M=D1PM

Third step: If the sum of the powers from step 2 equals d, we are done. Otherwise, perform row operations without pivoting such that at least one row becomes zero modulo z. Put the factored powers back into our matrix and return to step 2.

By disallowing pivoting, we are asking that the matrix EGLn() encoding the row operations is lower triangular.

The matrix to be returned to step 2 is:

M=DEM

Note that as long as the determinant of the matrix is not constant, the determinant is zero modulo z, hence the rows are linearly dependent modulo z. Therefore, this step can be carried out.

Conclusion: Once the D from step 2 contains high enough powers, we can set M+=M, as this will have unit determinant by multiplicativity. In each iteration, the effect of our algorithm was multiplication by DED1P. Since the powers in D are descending and E is lower triangular, we find that DED1 contains only negative powers of z. Furthermore, by multiplicativity of the determinant again, we find that det(DED1P)=±detE{0}. Thus we may take the product of these matrices obtained from all the iterations and set M to be its inverse.

Finally, recalling step 1, we have now decomposed zmM=MDM+. Dividing through with zm and setting M0=Dzm gives the result.

Example: Consider M=(1+zz1+2z2). The determinant is 1. The first step is done by replacing M by zM which has determinant z2 and so d=2.

The second step is (z+z21+2zz22z)=(0110)(z001)(z2z+z21+2z). The third step gives (z2z+z21+2z)=(101/21)(z2z/2+z22z).

Returning the factored-out powers, we want to repeat step 2 on the matrix (z22zz/2+z22z)=(z001)(z2z/2+z22z). Here, we can factor as (z00z)(z21/2+z2), meeting our goal of d=2. Compiling all these operations:

zM=(0110)(z001)(101/21)(z1001)(z00z)(z21/2+z2)=(z1/2110)(z00z)(z21/2+z2).

Therefore, dividing by z, M=(z1/2110)(1001)(z21/2+z2).

See also

[edit | edit source]

Notes

[edit | edit source]
  1. ^ Clancey & Gohberg (1981), Theorem 2.1.

References

[edit | edit source]
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).