<<

PARAMETRIZATION OF MULTIWAVELET ATOMS

FRITZ KEINERT

Abstract. It is known that the polyphase of any biorthog- onal multiwavelet of compact support can be factored into a con- stant matrix, zero or more projection factors, and an atom. The projection factors are of the form F (z) = (I −S)+Sz with S2 = S. a The atom is of the form A(z) = I + A1z + ··· + Aaz , with det(A(z)) = 1. We give an explicit algorithm for generating all possible atoms of given type. This can be used to numerically gen- erate biorthogonal multiwavelets that are optimal by some user- defined criterion.

1. Introduction A multiwavelet is given by a multiscaling function φ and a multi- wavelet function ψ which satisfy matrix recursion relations √ X φ(x) = 2 Hkφ(2x − k), k √ X ψ(x) = 2 Gkφ(2x − k). k A convenient way to represent the recursion coefficients is through the polyphase matrix H (z) H (z) P (z) = 0 1 , G0(z) G1(z) where Hi(z), Gi(z) are the polyphase symbols

X k X k Hi(z) = H2k+iz ,Gi(z) = G2k+iz . k k we assume all functions have compact support, so P is a matrix Laurent polynomial.

2000 Subject Classification. 42C40. Key words and phrases. wavelets, multiwavelets, wavelet atoms, polyphase factorization. This work was partially supported by ARC Large Grant 390 1404 1099 14 1 at Flinders University, Adelaide, South Australia. 1 2 Fritz Keinert March 2, 2009

If P and P˜ represent a biorthogonal multiwavelet pair, the biorthog- onality conditions are equivalent to P (z)P˜(z)∗ = I. (1.1) If P , P˜ and Q, Q˜ are two polyphase matrix pairs which satisfy (1.1), so does the pair PQ, Q˜P˜. Conversely, it is possible to factor polyphase matrices into more elementary building blocks. This has in fact been done in a number of different ways. Some possible building blocks are • Projection factors ([8], [12], [17]), which have the form F (z) = (I − S) + Sz, where S is a projection, that is S2 = S, and I is the . • Lifting factors ([3], [4], [9]), which have the form  I 0 IB(z) L(z) = or U(z) = . A(z) I 0 I • Diagonal matrices with monomial terms on the diagonal. • Constant matrices. It is also possible to combine elementary factors with some free pa- rameters to produce polyphase matrices from scratch. Numerical op- timization can then be used to select the wavelets which are optimal with respect to some user-defined criterion. Such approaches have been used for example in [1], [11], and [14]. In [8], [12] it was shown that the polyphase matrix of any biorthog- onal multiwavelet of compact support can be factored in the form

P (z) = MF1(z)F2(z) ··· Fn(z)A(z), (1.2) where M is a constant nonsingular matrix, Fj are projection factors, and A(z) is an atom. An (a, b)-atom has the form a A(z) = I + A1z + ··· + Aaz ,Aa 6= 0, b B(z) = I + B1z + ··· + Bbz ,Bb 6= 0, with A(z)B(z) = I. This implies det(A(z)) = det(B(z)) = 1, so in linear algebra terms, an atom is a pair of co-monic polynomials. The name “atom” is taken from [8]; in [12], atoms are called pseudo-identity matrix pairs. The goal of this paper is to give an explicit parametrization of all atoms of given type, so that they can be numerically generated by a computer program. The atoms can then be combined with other types of elementary factors to produce multiwavelets. As an intermediate March 2, 2009 Multiwavelet Atoms 3 result and special case, we also obtain a parametrization of all nilpotent matrices of given size. The factorization (1.2) has the advantage that if we want to construct multiwavelets with a given number of recursion coefficients, there are only a few possibilities for the type of atom and the number of pro- jection factors necessary. For example, all biorthogonal pairs with P , P˜ both linear can be constructed from one constant matrix M, one projection factor, and a (1, 1)-atom. Other factorization approaches often contain redundant parameters, or don’t produce all possible multiwavelets of given type. A construction of biorthogonal multiwavelets based on nilpotent ma- trices is given in [13], [14]. These papers construct wavelets by multi- plying together several terms of the form I + Az, A nilpotent. In the notation of this paper, these are (1, b)-atoms. This approach is different from the one taken here. The outline of the paper is as follows. In §2, we give a brief review of multiwavelets, polyphase matrices and atoms, and introduce some basic notation. In §3, we define the C of a given co-monic matrix polynomial A of degree a. We show that A and B = A−1 form an (a, b)-atom if and only if C is nilpotent of degree d, with

a + b = d. (1.3)

In §4, we investigate Jordan bases of a general Z, and show how they can be partially orthonormalized. In §5, we apply the results of §4 to parameterize nilpotent matrices of size n × n. Each possible eigenstructure (number and length of Jordan chains) leads to a separate parametrization. In §6, we specialize the results of §5 to the case where Z = C is a companion matrix. The special structure of C simplifies the algorithm and reduces the number of types, as well as the number of parameters for each type. This provides the desired parametrization of atoms. Examples are given at the end of §4, 5 and 6, as well as in the final §7.

2. Multiwavelets and Atoms In this section we introduce some basic notation, review multiwavelets and polyphase matrices, motivate the definition of an atom, and show how atoms are related to the problem of creating biorthogonal multi- wavelets. 4 Fritz Keinert March 2, 2009

Wavelet theory is based on the concept of refinable functions. For multiwavelets, the starting point is a refinable function vector of mul- tiplicity r. This is an r-vector of real- or complex-valued functions

φ1(x) . φ(x) =  .  , x ∈ R, φr(x) which satisfies a two-scale recursion relation √ X φ(x) = 2 Hkφ(2x − k). (2.1) k

The coefficients Hk are r × r matrices. The function vector φ is called a multiscaling function if it generates a multiresolution approximation (MRA) of L2(R). An MRA is a sequence 2 of nested subspaces · · · ⊂ V−1 ⊂ V0 ⊂ V1 ⊂ · · · of L (R) with properties T (i) j Vj = {0}, S 2 (ii) j Vj = L (R), (iii) f(x) ∈ Vj =⇒ f(2x) ∈ Vj+1, j ∈ Z, −j (iv) f(x) ∈ Vj =⇒ f(x + 2 k) ∈ Vj, j, k ∈ Z, (v) The functions {φi(x − k): i = 1, . . . , r, k ∈ Z} form a Riesz basis of V0. Another function vector ψ is called a multiwavelet function if its translates {ψi(x − k): i = 1, . . . , r} form a Riesz basis of a space W0 so that

V0 ⊕ W0 = V1.

Since W0 ⊂ V1, ψ satisfies a two-scale recursion √ X φ(x) = 2 Gkφ(2x − k). (2.2) k Two multiwavelets φ, ψ and φ˜, ψ˜ are called biorthogonal if ˜ ˜ hφi, φki = hψi, ψki = δik, (2.3) ˜ ˜ hφi, ψki = hψi, φki = 0.

If φ˜ = φ, ψ˜ = ψ, the multiwavelet is called orthogonal. A convenient way to represent the recursion coefficients Hk, Gk is through the polyphase matrix H (z) H (z) P (z) = 0 1 , G0(z) G1(z) March 2, 2009 Multiwavelet Atoms 5 where Hi(z), Gi(z) are the polyphase symbols X k X k Hi(z) = H2k+iz ,Gi(z) = G2k+iz . k k We restrict attention to the case where all functions have compact support. In this case, P , P˜ are matrix Laurent polynomials. The biorthogonality conditions (2.3) are equivalent to P (z)P˜(z)∗ = I, (2.4) where I is the identity matrix. For a constant matrix P , P ∗ denotes the P j ∗ Hermitian ; for a matrix polynomial P (z) = Pjz , P (z) is defined by ∗ X ∗ −j P (z) = Pj z . j A matrix polynomial P (z) which satisfies P (z)P (z)∗ = I is called para- unitary. Orthogonal multiwavelets correspond to paraunitary poly- phase matrices. Matrix polynomials P , P˜ which satisfy (2.4) do not necessarily gen- erate multiwavelets; further conditions can be imposed which insure that the two-scale recursion relations (2.1) and (2.2) produce multi- scaling and multiwavelet functions and MRAs (see [10]). However, relation (2.4) is sufficient to characterize perfect reconstruction filter- banks for signal processing applications. If P , P˜ and Q, Q˜ are two biorthogonal pairs, then PQ and P˜Q˜ form another biorthogonal pair. This opens the possibility of factoring a given P into elementary building blocks, or conversely constructing polyphase matrices from simpler factors. Two of these building blocks are projection factors and atoms. A projection factor has the form F (z) = (I − S) + Sz, where S is a projection, that is S2 = S. It is easy to verify that its dual is given by F˜(z) = (I − S∗) + S∗z. If S is an orthogonal projection, so that S∗ = S, then F is paraunitary. Such an F is called an orthogonal projection factor. An (a, b)-atom is a pair of matrix polynomials a A(z) = I + A1z + ··· + Aaz ,Ab 6= 0, b (2.5) B(z) = I + B1z + ··· + Bbz ,Bb 6= 0 with A(z)B(z) = I. (2.6) 6 Fritz Keinert March 2, 2009

One possible factorization approach, which was rediscovered inde- pendently a number of times, is described in the following two theo- rems. Theorem 2.1. ([8], [16], [17]) The polyphase matrix of an orthogonal multiwavelet can be factored in the form

P (z) = QF1(z)F2(z) ··· Fn(z), where Q is a constant , and each Fj is an orthogonal projection factor. Theorem 2.2. ([8], [12]) The polyphase matrices of a biorthogonal multiwavelet can be factored in the form

P (z) = MF1(z)F2(z) ··· Fn(z)A(z), (2.7) ˜ −∗ ˜ ˜ ˜ ∗ P (z) = M F1(z)F2(z) ··· Fn(z)B(z) , where M is a constant nonsingular matrix, each Fj is a projection factor, and A(z), B(z) form an atom. Our goal for the remainder of the paper is to classify and parameter- ize all atoms of given type, so that they can be numerically generated by a computer program. After adding projection factors and a constant matrix, we can thus create all possible biorthogonal multiwavelets from random parameters.

3. Atoms and the Companion Matrix The results presented in this section are well-known and can be found in [5], [8]. We present the full proofs, since our notation differs a bit from the references, and the proofs are quite short. P j A matrix polynomial A(z) = Ajz is called co-monic if A0 = I. It is called unimodular if det(A(z)) = 1. Lemma 3.1. A co-monic matrix polynomial A(z) is invertible if and only if it is unimodular. If this is the case, A−1(z) is also co-monic and unimodular, so A, A−1 form an atom. Proof. If A(z) is co-monic and unimodular, Cramer’s formula for calcu- lating the inverse of a matrix (see e.g. [6]) implies that it has an inverse. It is trivial to check that A−1(z) is also co-monic and unimodular. Conversely, if A(z) has an inverse A−1(z), then det(A(z)), det(A−1(z)) are scalar polynomials with product 1, so they must be constant. Since det(A(0)) = 1, that constant is 1. March 2, 2009 Multiwavelet Atoms 7

The companion matrix C of a co-monic matrix polynomial A of size n × n and degree a is the constant matrix of size na × na with block structure  0 I 0 ··· 0  . . . . .  ......   . .   . . .  C =  . .. .. 0  . (3.1)    0 ······ 0 I  −Aa −Aa−1 · · · · · · −A1 Obviously, there is a one-to-one correspondence between A and C. Following [5], we define

Pa−1 j Pa−2 j+1 P1 j+a−2 a−1 j=0 Ajz j=0 Ajz ··· j=0 Ajz Iz  −Iz−1 0 ··· 0 0     −1 ..  E(z) =  0 −Iz 0 . 0  ,  . . . . .   ......  0 ··· 0 −Iz−1 0 (3.2)  I 0 ··· 0 0 −1 −Iz I 0 ··· 0  .  ......  F (z) =  0 . . (3.3)  . . . .   ...... 0 0 ··· 0 −Iz−1 I One can then verify that  0 −Iz 0 ··· 0   ......   . . . . .  −1   E (z) =  0 ··· 0 −Iz 0  ,    0 0 ··· 0 −Iz  1−a Pa−1 j−a+2 Pa−2 j−a+3 P1 j Iz j=0 Ajz j=0 Ajz ··· j=0 Ajz (3.4)  I 0 ······ 0 .  −1 .. .  Iz I . . −1  . . F (z) =  Iz−2 Iz−1 I .. . , (3.5)    ......   . . . . 0 Iz−a+1 ··· Iz−2 Iz−1 I

det E(z) = det F (z) = det E−1(z) = det F −1(z) = 1, (3.6) 8 Fritz Keinert March 2, 2009 and that A(z) 0 ··· 0 .  ... . −1  0 I . E(z)(I − Cz)F (z) =  . . .  . (3.7)  . .. .. 0 0 ··· 0 I A matrix Z is called nilpotent if Zd = 0 for some integer d > 0. We call the smallest such d the degree of nilpotency of Z. Theorem 3.2. Assume A(z) is a co-monic matrix polynomial with companion matrix C. Then A is unimodular if and only if C is nilpotent. Proof. From (3.6), (3.7) we get det(I − Cz) = det A(z), (3.8) so (I − Cz) is unimodular if and only if A is unimodular. I − Cz is co-monic, so by lemma 3.1 it is unimodular if and only if it has an inverse. Formally, the inverse is (I − Cz)−1 = I + Cz + C2z2 + C3z3 + ··· (3.9) This is a matrix polynomial (of finite degree) if and only if Cd = 0 for some d, i.e. C is nilpotent. The inverse B of A can be calculated from (3.7) as B(z) 0 ··· 0 .  ... . −1 −1  0 I . F (z)(I − Cz) E(z) =  . . .  . (3.10)  . .. .. 0 0 ··· 0 I Using the explicit forms of F and E−1 in (3.3) and (3.4) we find that 0 . 1−a −1 . B(z) = z (I, 0,..., 0)(I − Cz)   , (3.11) 0 I or in words: B(z) is the upper right-hand corner of (I − Cz)−1, scaled by z1−a. Theorem 3.3. If A, B is an (a, b)-atom, and the companion matrix C of A has degree of nilpotency d, then a + b = d. (3.12) March 2, 2009 Multiwavelet Atoms 9

Proof. The degree of (I − Cz)−1 is (d − 1) by (3.9). By (3.11) the degree of B is at most (d − 1) + (1 − a) = d − a. This gives b ≤ d − a, or a + b ≤ d. Since AB = I, the coefficients of zk, k > 0, in the expanded polyno- mial product are zero. This leads to a X Bk = − AjBk−j, k > 0. (3.13) j=1 For k ≥ 0, let

Bk−a+1 .  .  Yk =   , (3.14)  Bk−1  Bk where we set Bk = 0 for k outside the range 0 ≤ k ≤ b. Note that Yk = 0 if k > a + b. Equations (3.1), (3.13) imply

CYk = Yk+1, k ≥ 0, (3.15) thus a+b C Yk = Ya+b+k = 0, k ≥ 0. (3.16) But the matrix  Ya−1 Ya−2 ··· Y0 (3.17) is lower triangular, hence nonsingular, so Ca+b = 0, which proves that a + b ≥ d.

4. Orthonormalized Jordan Bases of Nilpotent Matrices In this section Z denotes a general nilpotent matrix of size n × n. Z can be written as Z = V ΛV −1, where Λ is the of Z and V is a matrix whose columns form a basis of eigenvectors and generalized eigenvectors (see e.g. [6]). All eigenvalues of a nilpotent matrix are 0. If we assume that the Jordan blocks in Λ are sorted by size, then Λ is uniquely determined, but V is not unique. In the remainder of this section we describe a way to remove much of the nonuniqueness from V through an orthonormalization process. A similar technique was used in [15]. 10 Fritz Keinert March 2, 2009

v(1) ··· v(c1) d1 dc1 . . (c1+1) (c1+c2) . . v ··· v dc1+1 dc1+c2 . . . . v(c1+···+cg−1+1) ··· v(c) . . . . dc1+···+cg−1+1 dc ...... 1 (c1) (c1+1) (c1+c2) (c1+···+cg−1+1) (c) v2 ··· v2 v2 ··· v2 v2 ··· v2 (1) (c1) (c1+1) (c1+c2) (c1+···+cg−1+1) (c) v1 ··· v1 v1 ··· v1 ... v1 ··· v1

1 group 2 group g

Figure 4.1. Jordan basis, divided into g groups. Vec- tors in the bottom row are eigenvectors, the others are generalized eigenvectors. The boxed vectors in group i P form a basis of Ni. Ni has dimension ci, with ci = c.

4.1. Jordan Bases. A Jordan basis of Z is a basis of Rn in which Z is represented by its Jordan Normal Form. The basis vectors can be arranged into chains, where a chain γ of length d consists of an eigenvector v1 and generalized eigenvectors v2, . . . , vd, so that Zvk = vk−1.

Here and in the following we define vk = 0 if k ≤ 0. (1) (c) We assume that there are c chains γ through γ of lengths d1 through dc, sorted by size: di ≥ di+1. The matrix Z uniquely determines c, {di} (the Jordan structure), but not the basis vectors. However, Z uniquely determines certain subspaces. To define these subspaces, we need to form groups of chains by putting all chains of equal length into the same group. If

d1 = d2 = ··· = dc1 > dc1+1 = ··· = dc1+c2 > dc1+c2+1 ··· , then group 1 consists of chains γ(1) through γ(c1), group 2 consists of (c1+1) (c1+c2) γ through γ , etc. The space Nj is defined as the span of the eigenvectors in group j:

(1) (c1) N1 = span(v1 , . . . , v1 ),

(c1+1) (c1+c2) N2 = span(v1 , . . . , v1 ), ... This is illustrated in fig. 4.1. March 2, 2009 Multiwavelet Atoms 11

Lemma 4.1. Z uniquely determines N1, N1 + N2, N1 + N2 + N3, .... Here the sum of subspaces is defined by M + N = {m + n : m ∈ M, n ∈ N}. (i) (i) Proof. Let {vk }, {wk } be two Jordan bases for Z, with subspaces Nj, Mj as defined above. Fix a group number r. Choose an arbitrary chain γ(j) of the w-basis from one of the first r groups, and expand its top vector w(j) in terms dj of the v-basis: c di (j) X X (i) (i) w = α v . dj k k i=1 k=1 Since c di (j) X X (i) (i) 0 = Zdj w = α v , dj k k−dj i=1 k=1

(i) dj −1 all coefficients αk with k > dj must be zero. When we apply Z to w(j), all v(i) with k < d disappear. We are left with dj k j c (j) (j) X (i) (i) w = Zdj −1w = α v . (4.1) 1 dj dj 1 i=1 If a chain γ(i) is shorter than γ(j), then a(i) = 0. Thus, the last sum dj only contains eigenvectors from groups 1 through r, which means r (j) X w1 ∈ Ni. i=1 Repeat this for all j in groups 1 through r to find r r X X Mi ⊂ Ni. i=1 i=1 Interchange the roles of v and w to obtain the opposite inclusion. 4.2. Orthonormalized Jordan Bases. Our first goal is to take an arbitrary Jordan basis and apply a form of Gram-Schmidt orthonor- malization to it. We use the notation  (i)  vk v(i)  γ(i) =  k−1 j:k  .   .  (i) vj for subchains. 12 Fritz Keinert March 2, 2009

The notation “:=” in the algorithms below is interpreted in the sense of computer programming; that is, the value of the expression on the right replaces the value of the variable on the left. (i) Let {vk } be a Jordan basis of Z. We consider the following two operations: • Scaling a chain:

γ(i) := αγ(i), α 6= 0

• Adding a multiple of the bottom part of a chain to the top of another:

γ(i) := γ(i) + βγ(j), di−k+1:di di−k+1:di 1:k

for some k with 1 ≤ k ≤ di. (i) The new collection {vk } is still a Jordan basis of the same Z, since both and the property

(i) (i) Zvk = vk−1 are preserved. With these operations, we can perform a partial Gram-Schmidt or- thonormalization on a Jordan basis. The notation h·, ·i denotes the standard inner product, and kvk = hv, vi1/2. Algorithm: Gram-Schmidt Orthonormaliza- tion of a Jordan Basis Step 1: Proceeding from longer chains to shorter ones, orthonormalize the eigenvectors. In pseudocode:

(1) (1) (1) γ := γ /kv1 k; for i = 2 : c γ(i) := γ(i) − Pi−1 hv(i), v(j)iγ(j) ; j=1 1 1 1:di (i) (i) (i) γ := γ /kv1 k; end

Step 2: Proceeding from bottom to top within each chain, make each generalized eigenvector orthogonal to as many eigenvectors as possible. In pseudocode: March 2, 2009 Multiwavelet Atoms 13

for i = 1 : c for k = 2 : di γ(i) := γ(i) − P hv(i), v(j)iγ(j) ; k:di k:di k 1 1:di−k+1 1≤j≤c dj ≥di−k+1 end end We call the result of this process an orthonormalized Jordan basis. In such a basis, the eigenvectors are orthonormal, and a generalized (i) (j) eigenvector vk is orthogonal to all eigenvectors v1 which satisfy di − k + 1 ≤ dj (i.e. those eigenvectors whose chains are long enough to (i) (i) reach from vk to the top of chain γ ). In particular, the top vector in each chain is orthogonal to all eigenvectors. In general, the generalized eigenvectors are not of length 1, nor do they satisfy any orthogonality relations among themselves. Example: The algorithm is rather complex, so we give a complete example here. Assume that Z is of size 8 × 8, and the basis has the structure (1) v4 (1) v3 (1) (2) (3) (4.2) v2 v2 v2 (1) (2) (3) v1 v1 v1 Step 1: (1) (1) (1) • Normalize v1 by dividing the entire chain γ by kv1 k. (1) (2) (2) • Subtract a multiple of γ1:2 from γ to make v1 orthogonal (1) (2) to v1 ; normalize v1 . (1) (2) (3) (3) • Subtract multiples of γ1:2 and γ from γ to make v1 or- (1) (2) (3) thogonal to both v1 and v1 ; normalize v1 . At this point, the eigenvectors are orthonormal. Step 2: (1) (1) (1) • Subtract a multiple of γ1:3 from γ2:4 to make v2 orthogonal to (1) (1) (2) (3) (2) v1 . We cannot make v2 orthogonal to v1 or v1 since γ , γ(3) are too short. (1) (2) (3) (1) (1) • Subtract multiples of γ1:2 , γ , γ from γ3:4 to make v3 or- (1) (2) (3) thogonal to v1 , v1 , v1 . (1) (2) (3) (1) (1) • Subtract multiples of v1 , v1 , v1 from v4 to make v4 or- (1) (2) (3) thogonal to v1 , v1 , v1 . (2) (3) (1) (2) (3) • Likewise, make v2 and v2 orthogonal to v1 , v1 , v1 . 14 Fritz Keinert March 2, 2009

(1) (2) (3) After orthonormalization, the eigenvectors v1 , v1 , v1 are orthonor- (1) (1) mal. v2 is orthogonal to v1 only. The remaining generalized eigen- vectors are orthogonal to all three eigenvectors. Theorem 4.2. (a) All orthonormalized Jordan bases of Z share the same mutually orthogonal eigenspaces Nj. Thus, the eigenvectors are unique up to orthogonal transformations within each Nj. (b) Once the eigenvectors have been chosen, the rest of an orthonor- malized Jordan basis is uniquely determined. Proof. (a) follows directly from lemma 4.1 and the orthogonality of the Nj. (i) (i) (b) Let {vk }, {wk } be two orthonormalized Jordan bases for Z (i) (i) with the same eigenvectors v1 = w1 . Assume the bases differ in some chain γ(j), then they must differ in the top vectors. We expand the difference in terms of the v-basis: (j) (j) X (i) (i) v − w = α v 6= 0. (4.3) dj dj k k i,k

Let t ≤ dj − 2 be the largest number for which Zt(v(j) − w(j)) = v(j) − w(j) 6= 0. (4.4) dj dj dj −t dj −t Since (j) (j) X (i) (i) Zt+1(v − w ) = α v = 0, (4.5) dj dj k k−t−1 i,k (i) t (i) all coefficients αk with k > t+1 must be 0. Z annihilates all vk with k < t + 1, so in (4.4) we are left with only the terms with k = t + 1: (j) (j) X (i) (i) v − w = α v 6= 0. (4.6) dj −t dj −t t+1 1 i (i) If t+1 > di, then αt+1 = 0. The remaining eigenvectors with t+1 ≤ di in (4.6) are exactly the ones which are orthogonal to both v(j) and dj −t w(j) , which leads to a contradiction. dj −t

5. Parametrization of Nilpotent Matrices Based on theorem 4.2, we present an algorithm for generating all possible nilpotent matrices Z of a given size n. We will parameterize the eigenvectors and generalized eigenvectors separately. Algorithm: Generating all nilpotent Z of size n × n March 2, 2009 Multiwavelet Atoms 15

Step 1: Select the eigenstructure Select c with 1 ≤ c ≤ n−1. Select numbers d1, . . . , dc P with d1 ≥ d2 ≥ · · · ≥ dc ≥ 1 and di = n. The {di} determine cj = dim Nj as in lemma 4.1. Step 2: Select the subspaces Nj and the eigen- vectors n Select mutually orthogonal subspaces Nj of R of dimension cj. Select an orthonormal basis for each n Nj, and extend to an orthonormal basis of R . Create an U whose columns are the basis vectors. Step 3: Select the generalized eigenvectors (i) Choose v1 , i = 1, . . . , c to be the first c standard (i) basis vectors, and choose arbitrary vk , k ≥ 2, subject to the orthogonality conditions. Calculate the nilpo- tent matrix Z0 defined by this basis. Step 4: Calculate Z from T Z = UZ0U . We will now examine steps 2. and 3. in detail.

5.1. Generating U. We note that what matters here is selecting the subspaces Nj. It does not matter how an orthonormal basis for each subspace is picked, and how this basis is extended to the whole space, as long as it is a deterministic choice. Rotating the bases within each P Nj or in the complement of j Nj simply rotates the parameter space, and we end up with an equivalent parametrization. Consider first the case of a single subspace N of dimension c. In this case, we are essentially parameterizing the Grassmann manifold Gn,c of c-dimensional subspaces in Rn. The following approach is due to J. Kautsky (unpublished). Assume S is an n × c matrix whose columns form an orthonormal basis of N. By performing a QR-decomposition (with pivoting) of ST , we can factor S as S = ELQ, (5.1) where E is a , L is a lower triangular n × k matrix with orthonormal columns and nonsingular main diagonal, and Q is an orthogonal matrix. For a fixed permutation matrix E, N is uniquely described by L, since Q corresponds to a basis rotation inside N. Multiply L by a D so that the diagonal entries of LD are 1, and split it into submatrices T , B of sizes c×c and (n−c)×c, 16 Fritz Keinert March 2, 2009 respectively:   1 0 ··· 0  .. .   ∗ 1 . .     . .. ..   . . . 0      T  ∗ · · · ∗ 1  LD = =   (5.2) B  ∗ · · · · · · ∗     . .   . .     . .   . .  ∗ · · · · · · ∗ T can be recovered from B, using the fact that the columns of LD are orthogonal, and normalizing the columns of LD will recover L. Thus, the k(n − k) entries in B completely and uniquely describe N. For each fixed permutation matrix E, we obtain a parametrization of most of the Grassmannian. Different E give overlapping patches which together cover all of Gn,c. To extend EL to a basis of Rn, we apply Householder orthogonal- ization. That is, we find an orthogonal matrix H (a product of House- holder matrices) so that I HEL = . 0 Then HT is an orthogonal matrix whose first c columns are EL. To find H, it is not necessary to compute EL. We can use ELD instead, since Householder orthogonalization D HELD = 0 will lead to the same H. In the general case, we apply this procedure recursively. We choose ⊥ N1 first, then choose N2 from the lower-dimensional space N1 , and so on. A detailed example is given later in this section. An approach similar to ours was used in [15].

(i) 5.2. Generating Z0. Since the eigenvectors v1 of Z0 are the first c standard basis vectors, the orthogonality conditions simply amount to requiring that certain coefficients of the generalized eigenvectors are zero. The remaining coefficients can be used directly as parameters. Once all the basis vectors have been chosen, we form two matrices V (i) and W , where the columns of V are the vk (in some order), the columns March 2, 2009 Multiwavelet Atoms 17

(i) (i) of W are the vk−1 in the same order (with vk−1 = 0 if k − 1 ≤ 0). Then Z0V = W , or −1 Z0 = WV . (5.3) Since we must have det V 6= 0, some choices of parameters are inad- missible, but this is a negligible set.

5.3. Parameter Count. Assume we have g subspaces Ni with dim Ni = ci. It takes c1(n − c1) parameters to select a basis for N1, c2(n − c1 − c2) for N2, up to cg(n − c1 − · · · − cg) for Ng, so the total number of parameters needed to specify U is g i X X cn − cicj. (5.4) i=1 j=1

To count the number of parameters for Z0, it is easiest to first pretend that all generalized eigenvectors are orthogonal to all eigenvectors, and then to add back in the extra degrees of freedom coming from the orthogonality conditions that are not actually satisfied. There are (n − c) generalized eigenvectors, each with (n − c) param- eters, for a total of (n − c)2 parameters. For this calculation, we let di stand for the length of each chain in group i, rather than the length of chain γ(i). If j > i, the vectors in group i with subscripts 2 through di − dj are not actually orthogonal to the eigenvectors in group j. That makes ci(di − dj − 1) vectors, and cj unsatisfied orthogonality conditions for each. The total number of parameters needed to specify Z0 is g g 2 X X (n − c) + cicj(di − dj − 1). (5.5) i=1 j=i+1 Example: Assume Z is of size 8×8 and has Jordan structure (4.2), so g = 2, c1 = 1, c2 = 2, d1 = 4, d2 = 2. First, we select U. By formula (5.4), the number of parameters is 17. We denote the parameters by bi. Matrix entries which are calculated from the parameters are simply labeled ∗. For simplicity, we ignore the permutation matrix. The space N1 is one-dimensional and is specified by 7 parameters T L1D1 = (1, b1, b2, b3, b4, b5, b6, b7) . (5.6)

We find a Householder rotation H1 so that T H1L1D1 = (∗, 0, 0, 0, 0, 0, 0, 0) . (5.7) 18 Fritz Keinert March 2, 2009

We then select a basis for the two-dimensional space N2. We can 7 ⊥ choose the basis in R ; H1 will later rotate it into N1 , the orthogonal complement of N1. Thus,

 T 1 ∗ b8 b9 b10 b11 b12 L2D2 = , (5.8) 0 1 b13 b14 b15 b16 b17 where ∗ is chosen to make the columns orthogonal. We find H2 (a product of two Householder matrices) so that

∗ 0 0 0 0 0 0T H L D = . (5.9) 2 2 2 0 ∗ 0 0 0 0 0

Then   T 1 0 U = H1 T . (5.10) 0 H2

Next, we select Z0. By formula (5.5), this requires 27 parameters, which we will denote by ai. By our choice of basis structure,

(1) T v1 = (1, 0, 0, 0, 0, 0, 0, 0) , (2) T v1 = (0, 1, 0, 0, 0, 0, 0, 0) , (5.11) (3) T v1 = (0, 0, 1, 0, 0, 0, 0, 0) .

(1) (1) v2 is orthogonal to v1 only, so it has one leading zero. The other generalized eigenvectors are orthogonal to all three eigenvectors and have three leading zeros. We get

(1) (2) (3) (1) (2) (3) (1) (1) V = (v1 , v1 , v1 , v2 , v2 , v2 , v3 , v4 )

1 0 0 0 0 0 0 0  0 1 0 a1 0 0 0 0    0 0 1 a2 0 0 0 0  (5.12)   0 0 0 a3 a8 a13 a18 a23 =   , 0 0 0 a4 a9 a14 a19 a24 0 0 0 a a a a a   5 10 15 20 25 0 0 0 a6 a11 a16 a21 a26 0 0 0 a7 a12 a17 a22 a27 March 2, 2009 Multiwavelet Atoms 19

(1) (2) (2) (1) (1) W = Z0V = (0, 0, 0, v1 , v1 , v1 , v2 , v3 )

0 0 0 1 0 0 0 0  0 0 0 0 1 0 a1 0    0 0 0 0 0 1 a2 0  (5.13)   0 0 0 0 0 0 a3 a18 =   , 0 0 0 0 0 0 a4 a19 0 0 0 0 0 0 a a   5 20 0 0 0 0 0 0 a6 a21 0 0 0 0 0 0 a7 a22 and −1 Z0 = WV , T (5.14) Z = UZ0U .

There are 22 different possible Jordan structures for a nilpotent ma- trix of size 8 × 8. The example showed the details for one of them. To generate all possible nilpotent Z of size 8 × 8, we would also have to consider the other 21 possible choices of di. Fortunately, the situation simplifies greatly when we restrict attention to nilpotent companion matrices related to multiwavelet atoms.

6. Parametrization of Atoms We now specialize the results of §5 to the case when Z = C is the companion matrix of a co-monic polynomial A of size n × n and degree a, so the size of C is na × na. Using the structure of C, it is easy to verify that the basis vectors in each chain have the structure  (i)  (i)  (i) a1 a2 a3 (i)  0  a(i) a   .   1   2  v(i) =  .  , v(i) =  0  , v(i) =  (i) ,... (6.1) 1  .  2   3 a1   .   .    . . 0  .     .  0 0 .

(i) where each ak has length n. Since (i) (j) (i) (j) hvk , v1 i = hak , a1 i, (6.2) (i) (i) the ak satisfy exactly the same orthogonality relations as the vk . (i) Furthermore, each a1 is a null vector of Aa, which introduces the 20 Fritz Keinert March 2, 2009 restriction 1 ≤ c ≤ n − 1. (6.3) As before, we select the eigenvectors and generalized eigenvectors separately. ˜ (i) For a given C, let Nj be the span of the a1 in the jth group (that is, ˜ Ni is Ni restricted to its first n dimensions). Let U be an orthogonal n ˜ matrix in R whose first c1 columns form a basis of N1, the next c2 ˜ columns form a basis of N2, etc. Then U T  U  . . C0 =  ..  C  ..  (6.4) U T U

T is the companion matrix to A0 = U AU, and the eigenvectors of C0 are the leading standard basis vectors. Algorithm: Generating all (a, b)-atoms of size n × n Step 1: Select the eigenstructure Select c with 1 ≤ c ≤ n−1. Select numbers d1, . . . , dc P with d1 = a + b ≥ d2 ≥ · · · ≥ dc ≥ 1 and di = na. ˜ Determine ci = dim Ni as in lemma 4.1. ˜ Step 2: Select the subspaces Nj and the eigen- vectors ˜ n Select mutually orthogonal subspaces Nj of R of dimension cj. Select a unique orthonormal basis for ˜ n each Nj, and extend to an orthonormal basis of R . Create an orthogonal matrix U whose columns are the basis vectors. Step 3: Select the generalized eigenvectors (i) Choose a1 to be the first c standard basis vectors, (i) and choose arbitrary ak , k ≥ 2, subject to the or- thogonality conditions. Construct the Jordan basis (i) vk and the monic matrix polynomial A0 whose com- panion matrix is defined by this basis. Step 4: Calculate A from

T A = UA0U .

To find A0 in step 3, it suffices to calculate the bottom n rows of (i) C. The matrix V is formed from the vk as before, but for W we only (i) (i) need to take the bottom n entries of the vk−1, which are ak−a. March 2, 2009 Multiwavelet Atoms 21

chain parameters (a, b) lengths c1 c2 c3 d1 d2 d3 in U in A0 total (1, 1) 2+1+1 1 2 2 1 5 1 6 2+2 2 2 4 4 8 (1, 2) 3+1 1 1 3 1 5 5 10 (1, 3) 4 1 4 3 9 12 (2, 1) 3+3+2 2 1 3 2 5 5 10 (2, 2) 4+2+2 1 2 4 2 5 7 12 4+3+1 1 1 1 4 3 1 6 8 14 4+4 2 4 4 12 16 (2, 3) 5+2+1 1 1 1 5 2 1 6 10 16 5+3 1 1 5 3 5 13 18 (2, 4) 6+1+1 1 2 6 1 5 13 18 6+2 1 1 6 2 5 15 20 (2, 5) 7+1 1 1 7 1 5 17 22 (2, 6) 8 1 8 3 21 24 Table 6.1. Possible eigenstructures of atoms with n = 4, a = 1 or a = 2

The parameter counts in this case are g i X X cn − cicj i=1 j=1 for U, and g g X X (np − c)(n − c) + cicj(di − dj − 1) i=1 j=i+1 for A0. Example: Suppose we want to generate all (a, b)-atoms of size 4 × 4 for a = 1 and a = 2. The various possibilities for the eigenstructure are shown in table 6.1.

Table 6.2 illustrates the case (a, b) = (2, 2) in more detail. For sim- plicity, we label the vectors with a single subscript, left to right and bottom to top (see second column in table 6.2). The columns of the matrix V are then v1 through v8, in this order. The parameters are labeled a1, a2, and so on, in order of occurrence. 22 Fritz Keinert March 2, 2009

chain chain lengths structure matrices V , W 1 0 0 0 0 0 0 0  0 1 0 a1 0 0 0 0    0 0 1 a2 0 0 0 0    0 0 0 a3 a4 a5 a6 a7 V =   v8 0 0 0 1 0 0 0 0  v 0 0 0 0 1 0 a 0  4+2+2 7  1  v4 v5 v6 0 0 0 0 0 1 a2 0  v1 v2 v3 0 0 0 0 0 0 a3 a6 0 0 0 0 0 0 1 0  0 0 0 0 0 0 0 a1 W =   0 0 0 0 0 0 0 a2 0 0 0 0 0 0 0 a3 1 0 0 0 0 0 0 0  0 1 0 0 0 0 0 0    0 0 1 a1 a3 a5 0 0    0 0 0 a2 a4 a6 a7 a8 V =   v8 0 0 0 1 0 0 0 0  v v 0 0 0 0 1 0 0 0  4+3+1 6 7   v4 v5 0 0 0 0 0 a1 a3 a5 v1 v2 v3 0 0 0 0 0 a2 a4 a6 0 0 0 0 0 1 0 0  0 0 0 0 0 0 1 0  W =   0 0 0 0 0 0 0 a1 0 0 0 0 0 0 0 a2 1 0 0 0 0 0 0 0  0 1 0 0 0 0 0 0    0 0 a1 a3 a5 a7 a9 a11   0 0 a2 a4 a6 a8 a10 a12 V =   v7 v8 0 0 1 0 0 0 0 0  v v 0 0 0 1 0 0 0 0  4+4 5 6   v3 v4 0 0 0 0 a1 a3 a5 a7  v1 v2 0 0 0 0 a2 a4 a6 a8 0 0 0 0 1 0 0 0  0 0 0 0 0 1 0 0  W =   0 0 0 0 0 0 a1 a3 0 0 0 0 0 0 a2 a4 Table 6.2. Full form of the matrices V , W for (2, 2)- atoms with n = 4 March 2, 2009 Multiwavelet Atoms 23

It requires 3 separate parametrizations to cover the case (a, b) = (2, 2). The first case corresponds to basis structure (4.2), which we used as an example in §5. There, the case of a general 8×8 nilpotent matrix required 17+27=44 parameters. Now, for 8 × 8 nilpotent companion matrices, the parameter count drops to 5+7=12. U is a 4 × 4 matrix, generated from  1   1 0  b1 L1D1 =   ,L2D2 =  ∗ 1  . (6.5) b2 b4 b5 b3

The remaining seven parameters a1, . . . , a7 used to produce A0 are shown in table 6.2.

7. Sample Application As a simple example, we consider biorthogonal multiwavelets of mul- tiplicity 2 with four coefficients each, so both φ and φ˜ have support [0, 3]. We want to find the smoothest pair; that is, we want both φ and ˜ φ in the Sobolev space Hs with s as large as possible. The Sobolev norms are calculated numerically, using the method of Jiang [7]. Since both polyphase matrices are linear polynomials, we need a (1, 1)-atom. In this case, the companion matrix C is equal to A. The possible Jordan chain lengths are 2+1+1 and 2+2 (see table 6.1). We first consider the case 2+1+1. The parametrization of U is iden- tical to that given in equation (6.5), with 5 parameters. Next, we set up the parametrization of A0, which only requires one parameter. As in equations (5.12) and (5.13), we get 1 0 0 0 (1) (2) (3) (1) 0 1 0 0 V = (v , v , v , v ) =   , (7.1) 1 1 1 2 0 0 1 0 0 0 0 a 0 0 0 1 (1) 0 0 0 0 W = A0V = (0, 0, 0, v ) =   , (7.2) 1 0 0 0 0 0 0 0 0 and −1 A0 = WV , T (7.3) A = UA0U . 24 Fritz Keinert March 2, 2009

Scaling Functions Dual Scaling Functions 2 2

1.5 1.5

1 1

0.5 0.5

0 0

−0.5 −0.5

−1 −1 0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5 3

Figure 7.1. Smoothest biorthogonal multiwavelets with 4 coefficients.

Next, we add a suitable projection factor F (z) to shift the support of φ˜ to [0, 3]. Details are given in [8]. In general, F (z) is unique. In the degenerate cases, we can resolve the nonuniqueness by taking the range of the projection to be as small as possible. Now we need to add a constant matrix M. We have not yet imple- mented the case of a completely general M; instead, we are choosing a particular M which guarantees approximation order 1, and add two lifting steps to raise the approximation order of both φ and φ˜ to 2. The lifting steps are uniquely determined (see [9] for details). The resulting optimization problem was solved using the Matlab routine fminsearch. In many cases the method failed to converge or converged to a less smooth solution, but the solution depicted in fig. 7.1 was obtained several times from different random starting guesses. We believe it represents the optimal solution. ˜ The multiscaling function φ is in H1.8148, and φ is in H1.8061. Among biorthogonal multiwavelet pairs with 4 coefficients each, the highest previously known joint smoothness is s = 1.4408 for the (orthogonal) Chui-Lian CL3 wavelet (see [2]). The coefficients of P , P˜ are similar to each other, but not identical (corresponding coefficients vary by 5% to 30%). Likewise, the graphs are similar, but not identical. We conjecture that this P , P˜ is close to an orthogonal wavelet in H1.81, but that complete convergence requires a more general M. Even higher smoothness may be possible for general M. Similar runs with the second parametrization (chains of length 2+2) resulted in a highest Sobolev exponent of 1.6. March 2, 2009 Multiwavelet Atoms 25

References [1] S. Bacchelli, M. Cotronei, and D. Lazzaro, An algebraic construction of k-balanced multiwavelets via the lifting scheme, Numer. Algorithms, 23 (2000), pp. 329–356. [2] C. K. Chui and J.-A. Lian, A study of orthonormal multi-wavelets, Appl. Numer. Math., 20 (1996), pp. 273–298. [3] I. Daubechies and W. Sweldens, Factoring wavelet transforms into lifting steps, J. Fourier Anal. Appl., 4 (1998), pp. 247–269. [4] G. M. Davis, V. Strela, and R. Turcajova´, Multiwavelet construction via the lifting scheme, in Wavelet analysis and multiresolution methods (Urbana- Champaign, IL, 1999), Dekker, New York, 2000, pp. 57–79. [5] I. Gohberg, P. Lancaster, and L. Rodman, Matrix Polynomials, Aca- demic Press, 1982. [6] K. Hoffman and R. A. Kunze, Linear algebra, Prentice-Hall, Englewood Cliffs, NJ, 2nd ed., 1971. [7] Q. Jiang, On the regularity of matrix refinable functions, SIAM J. Math. Anal., 29 (1998), pp. 1157–1176. [8] J. Kautsky and R. Turcajova´, Discrete biorthogonal wavelet transforms as block circulant matrices, Linear Algebra Appl., 223/224 (1995), pp. 393–413. [9] F. Keinert, Raising multiwavelet approximation order through lifting, SIAM J. Math. Anal., 32 (2001), pp. 1032–1049. [10] , Wavelets and multiwavelets, Studies in Advanced Mathematics, Chap- man & Hall/CRC, Boca Raton, FL, 2004. [11] J. Lebrun and M. Vetterli, High-order balanced multiwavelets: theory, factorization, and design, IEEE Trans. Signal Process., 49 (2001), pp. 1918– 1930. [12] H. L. Resnikoff, J. Tian, and J. Raymond O. Wells, Biorthogonal wavelet space: Parametrization and factorization, SIAM J. Math. Anal., 33 (2001), pp. 194–215. [13] G. Schuller and W. Sweldens, Filter bank design using nilpotent matrices, in Proc. IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, New Paltz, NY, Oct. 17-20, 1999, pp. 51–54. [14] , Modulated filter bank design with nilpotent matrices, in Wavelet Appli- cations in Signal and Image Processing VII, M. A. Unser, A. Aldroubi, and A. F. Laine, eds., vol. 3813, 1999, pp. 284–294. [15] M. A. Shayman, Parametrization of the flags fixed by a matrix, in Linear algebra and its role in systems theory, vol. 47 of Contemp. Math, Amer. Math. Soc., Providence, RI, 1985, pp. 355–368. [16] J. Tian and R. O. W. Jr., An algebraic structure of orthogonal wavelet space, Appl. Comput. Harmon. Anal., 8 (2000), pp. 223–248. [17] P. P. Vaidyanathan, Multirate Systems and Filter Banks, Prentice Hall, Englewood Cliffs, NJ, 1993. E-mail address: [email protected]

Department of Mathematics, Iowa State University, Ames, IA 50011