Example 1 Complex Orthonormal Wavelets d=3 

 

> restart; 1; read
 

> `assign`(d, 3); 1
 

`assign`(d, 3) (4.3.1)
 

> `assign`(poly, `+`(`*`(`/`(1, 27), `*`(`^`(`+`(`/`(1, `*`(z)), 1, z), 3), `*`(`+`(`-`(`*`(`*`(`/`(112, 3), `+`(`-`(`/`(3, 28)), `-`(`*`(`*`(`/`(1, 14), I), `*`(`^`(3, `/`(1, 2))))))), `*`(`+`(`/`(1, 2...
 

`assign`(poly, `+`(`*`(`/`(1, 27), `*`(`^`(`+`(`/`(1, `*`(z)), 1, z), 3), `*`(`+`(`-`(`*`(`*`(`/`(112, 3), `+`(`-`(`/`(3, 28)), `-`(`*`(`*`(`/`(1, 14), I), `*`(sqrt(3)))))), `*`(`+`(`/`(1, 2), `-`(`*`... (4.3.2)
 

> D1Support(poly), SYM(poly); 1
D1Support(poly), SYM(poly); 1
 

Vector[column](%id = 173974292), 1 (4.3.3)
 

> `assign`(Pa, D1Polyphase(poly, d, sqrt(d))); 1
 

`assign`(Pa, Vector[row](%id = 178190724))
`assign`(Pa, Vector[row](%id = 178190724))
`assign`(Pa, Vector[row](%id = 178190724))
(4.3.4)
 

> simplify(Typesetting:-delayDotProduct(Pa, subs({I = `+`(`-`(I)), z = `/`(1, `*`(z))}, Transpose(Pa)))); 1
 

Vector[column](%id = 182800808) (4.3.5)
 

> D1Nu2Mask(poly, d, 3); 1
 

1.159928069 (4.3.6)
 

> `assign`(res, D1SymPolyphaseVec(poly, d, sqrt(d))); -1
 

> `assign`(Pa1, res[1]); 1; `assign`(U1, res[2]); 1
 

 

`assign`(Pa1, Vector[row](%id = 167456132))
`assign`(Pa1, Vector[row](%id = 167456132))
`assign`(U1, Matrix(%id = 164993136)) (4.3.7)
 

> simplify(`+`(Pa1, `-`(Typesetting:-delayDotProduct(Pa, U1)))); 1
 

Vector[row](%id = 184479712) (4.3.8)
 

> SYM(Pa1); 1
 

Vector[row](%id = 184479600) (4.3.9)
 

> `assign`(D0, DiagonalMatrix([sqrt(3), sqrt(6), sqrt(6)])); 1; collect(simplify(Typesetting:-delayDotProduct(Pa1, `/`(1, `*`(D0)))), z)
`assign`(D0, DiagonalMatrix([sqrt(3), sqrt(6), sqrt(6)])); 1; collect(simplify(Typesetting:-delayDotProduct(Pa1, `/`(1, `*`(D0)))), z)
`assign`(D0, DiagonalMatrix([sqrt(3), sqrt(6), sqrt(6)])); 1; collect(simplify(Typesetting:-delayDotProduct(Pa1, `/`(1, `*`(D0)))), z)
 

 

`assign`(D0, Matrix(%id = 167526612))
Vector[row](%id = 186579700)
Vector[row](%id = 186579700)
(4.3.10)
 

> `assign`(res, D1MatOrthExtVecQ(Pa1, D0)); -1
 

MSG: Old and New Support: (4.3.11)
 

> `assign`(tmp, res[1]); -1; `assign`(D1, simplify(res[2])); 1
 

`assign`(D1, Matrix(%id = 179529796)) (4.3.12)
 

> `assign`(U2, D1CoeffSimp(Typesetting:-delayDotProduct(tmp[1], tmp[2]))); -1
 

> simplify(Typesetting:-delayDotProduct(Pa1, U2)); 1
 

Vector[row](%id = 179366016) (4.3.13)
 

> `assign`(Pe, subs({I = `+`(`-`(I)), z = `/`(1, `*`(z))}, Transpose(Typesetting:-delayDotProduct(U1, U2)))); -1
`assign`(Pe, subs({I = `+`(`-`(I)), z = `/`(1, `*`(z))}, Transpose(Typesetting:-delayDotProduct(U1, U2)))); -1
`assign`(Pe, subs({I = `+`(`-`(I)), z = `/`(1, `*`(z))}, Transpose(Typesetting:-delayDotProduct(U1, U2)))); -1
 

>
 

> `assign`(filters, D1Polyphase2Mask(Pe, d, `/`(1, `*`(sqrt(d))))); -1
 

> simplify(`+`(filters[1, 1], `-`(poly))); 1
 

0 (4.3.14)
 

> `assign`(b1, filters[2, 1]); -1; D1Support(b1); 1; SYM(b1); 1
 

 

Vector[column](%id = 184754388)
1 (4.3.15)
 

> `assign`(b2, filters[3, 1]); -1; D1Support(b2); 1; SYM(b2); 1
 

 

Vector[column](%id = 189829976)
-1 (4.3.16)
 

>