Birkhoff factorization

From testwiki
Jump to navigation Jump to search

Template:Short description In mathematics, Birkhoff factorization or Birkhoff decomposition, introduced by Template:Harvs, is a generalization of the LU decomposition (i.e. Gauss elimination) to loop groups.

The factorization of an invertible matrix M∈GLn(ℂ[z,z−1]) 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 1≤i≤n and k1≥k2≥...≥kn, and M− has entries that are polynomials in z−1. For a generic matrix we have M0=id.

Birkhoff factorization implies the Birkhoff–Grothendieck theorem of Template:Harvtxt 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 Template:Harvs. 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. 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 det⁡M being a unit in the base ring. In our case this means that det⁡M=c⋅zd for some c∈ℂ,d∈ℤ, as these are the only invertible elements in the ring of Laurent polynomials ℂ[z,z−1], and det⁡M+ and det⁡M− are just nonzero constants in ℂ, because these are the only units in ℂ[z] or ℂ[z−1]. This means that det⁡M0=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=ordzdet⁡zmM 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′=D−1⋅P⋅M

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 E∈GLn(ℂ) encoding the row operations is lower triangular.

The matrix to be returned to step 2 is:

M″=D⋅E⋅M′

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 D⋅E⋅D−1⋅P. Since the powers in D are descending and E is lower triangular, we find that D⋅E⋅D−1 contains only negative powers of z. Furthermore, by multiplicativity of the determinant again, we find that det⁡(D⋅E⋅D−1⋅P)=±det⁡E∈ℂ∖{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=M−⋅D⋅M+. Dividing through with zm and setting M0=D⋅z−m gives the result.

Example: Consider M=(1+zz−1+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)(z−1001)(z00z)(z21/2+z2)=(z−1/2110)(z00z)(z21/2+z2).

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

See also

Notes

Template:Reflist

References