Examples 

 

> restart; 1; read
 

 

> `assign`(poly, `<|>`(`<,>`(`+`(`/`(1, `*`(z)), z, 1, `/`(`*`(5), `*`(`^`(z, 2))), `*`(5, `*`(`^`(z, 2)))), `+`(`/`(1, `*`(z)), 1, `/`(`*`(5), `*`(`^`(z, 2))), `*`(5, `*`(z)))), `<,>`(`+`(`/`(1, `*`(z)...
`assign`(poly, `<|>`(`<,>`(`+`(`/`(1, `*`(z)), z, 1, `/`(`*`(5), `*`(`^`(z, 2))), `*`(5, `*`(`^`(z, 2)))), `+`(`/`(1, `*`(z)), 1, `/`(`*`(5), `*`(`^`(z, 2))), `*`(5, `*`(z)))), `<,>`(`+`(`/`(1, `*`(z)...
 

`assign`(poly, Matrix(%id = 151686376)) (2.3.1)
 

> Multiplicity(poly); 1
 

2 (2.3.2)
 

> D1Support(poly); 1
 

Vector[column](%id = 151683080) (2.3.3)
 

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

`assign`(Pa, Matrix(%id = 151682120)) (2.3.4)
 

> D1GetCoset(poly, 2, 0, sqrt(2)), D1GetCoset(poly, 2, 1, sqrt(2)); 1
 

Matrix(%id = 167964624), Matrix(%id = 151679624) (2.3.5)
 

> `assign`(poly2, D1Polyphase2Mask(Pa, 2, `/`(1, `*`(sqrt(2))))); 1
 

`assign`(poly2, Matrix(%id = 151751456)) (2.3.6)
 

> `+`(poly2, `-`(poly)); 1
 

Matrix(%id = 151738784) (2.3.7)
 

> SYM(poly); 1
 

Matrix(%id = 209202144) (2.3.8)
 

> D1PrintMask(poly, 0)
 

 

Matrix(%id = 182745996), Vector[column](%id = 164577972)
Vector[column](%id = 174808936) (2.3.9)
 

> `assign`(polyUnknown, D1GenPolyMask(a, 2, -1, 1)); 1
 

`assign`(polyUnknown, Matrix(%id = 151733032)) (2.3.10)
 

> D1Matrix2Set(polyUnknown); 1
 

{`a101c-1`, a101c0, a101c1, `a102c-1`, a102c0, a102c1, `a201c-1`, a201c0, a201c1, `a202c-1`, a202c0, a202c1} (2.3.11)
 

> D1OrthEqs(polyUnknown, 2); 1
 

 

Make sure that the mask a={a(k)} is normalized so that  sum_k a(k) = 1, i.e., subs(z=1,poly) = 1.
{`+`(`*`(a101c1, `*`(`a201c-1`)), `*`(a102c1, `*`(`a202c-1`))), `+`(`*`(`a102c-1`, `*`(a102c1)), `*`(`a101c-1`, `*`(a101c1))), `+`(`*`(`a102c-1`, `*`(a202c1)), `*`(`a101c-1`, `*`(a201c1))), `+`(`*`(`a...
{`+`(`*`(a101c1, `*`(`a201c-1`)), `*`(a102c1, `*`(`a202c-1`))), `+`(`*`(`a102c-1`, `*`(a102c1)), `*`(`a101c-1`, `*`(a101c1))), `+`(`*`(`a102c-1`, `*`(a202c1)), `*`(`a101c-1`, `*`(a201c1))), `+`(`*`(`a...
{`+`(`*`(a101c1, `*`(`a201c-1`)), `*`(a102c1, `*`(`a202c-1`))), `+`(`*`(`a102c-1`, `*`(a102c1)), `*`(`a101c-1`, `*`(a101c1))), `+`(`*`(`a102c-1`, `*`(a202c1)), `*`(`a101c-1`, `*`(a201c1))), `+`(`*`(`a...
{`+`(`*`(a101c1, `*`(`a201c-1`)), `*`(a102c1, `*`(`a202c-1`))), `+`(`*`(`a102c-1`, `*`(a102c1)), `*`(`a101c-1`, `*`(a101c1))), `+`(`*`(`a102c-1`, `*`(a202c1)), `*`(`a101c-1`, `*`(a201c1))), `+`(`*`(`a...
{`+`(`*`(a101c1, `*`(`a201c-1`)), `*`(a102c1, `*`(`a202c-1`))), `+`(`*`(`a102c-1`, `*`(a102c1)), `*`(`a101c-1`, `*`(a101c1))), `+`(`*`(`a102c-1`, `*`(a202c1)), `*`(`a101c-1`, `*`(a201c1))), `+`(`*`(`a...
(2.3.12)
 

>
 

> `assign`(polyOrth, `/`(`*`(`+`(`<|>`(`<,>`(`*`(`+`(`*`(3, `*`(sqrt(2)))), `/`(1, 10)), -`/`(1, 20)), `<,>`(`/`(4, 5), `+`(`-`(`*`(`+`(`*`(3, `*`(sqrt(2)))), `/`(1, 20)))))), `*`(`<|>`(`<,>`(`*`(`+`(`*...
`assign`(polyOrth, `/`(`*`(`+`(`<|>`(`<,>`(`*`(`+`(`*`(3, `*`(sqrt(2)))), `/`(1, 10)), -`/`(1, 20)), `<,>`(`/`(4, 5), `+`(`-`(`*`(`+`(`*`(3, `*`(sqrt(2)))), `/`(1, 20)))))), `*`(`<|>`(`<,>`(`*`(`+`(`*...
`assign`(polyOrth, `/`(`*`(`+`(`<|>`(`<,>`(`*`(`+`(`*`(3, `*`(sqrt(2)))), `/`(1, 10)), -`/`(1, 20)), `<,>`(`/`(4, 5), `+`(`-`(`*`(`+`(`*`(3, `*`(sqrt(2)))), `/`(1, 20)))))), `*`(`<|>`(`<,>`(`*`(`+`(`*...
 

`assign`(polyOrth, Matrix(%id = 164327536))
`assign`(polyOrth, Matrix(%id = 164327536))
`assign`(polyOrth, Matrix(%id = 164327536))
`assign`(polyOrth, Matrix(%id = 164327536))
(2.3.13)
 

> D1OrthEqs(polyOrth, 2, sqrt(2)); 1
 

 

Make sure that the mask a={a(k)} is normalized so that  sum_k a(k) = 1, i.e., subs(z=1,poly) = 1.
{} (2.3.14)
 

> `assign`(Pa, D1Polyphase(polyOrth, 2, sqrt(2))); 1
 

`assign`(Pa, Matrix(%id = 174844068)) (2.3.15)
 

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

Matrix(%id = 174847988) (2.3.16)
 

> D1GetSymCenter(poly, 2); 1
 

Vector[column](%id = 171578656) (2.3.17)
 

>