Example 2 With Symmetry 

 

> read
 

> `assign`(d, 3); 1
 

`assign`(d, 3) (6.4.1)
 

> `assign`(t, -`/`(7, 8)); -1; `assign`(aMask, `+`(`*`(`/`(1, 2), `*`(`^`(`*`(`+`(`/`(1, `*`(z)), 1, z), `/`(1, 3)), 3), `*`(`+`(1, `-`(`*`(2, `*`(t))), `*`(t, `*`(`+`(`/`(1, `*`(z)), z)))), `*`(`+`(1, ...
`assign`(t, -`/`(7, 8)); -1; `assign`(aMask, `+`(`*`(`/`(1, 2), `*`(`^`(`*`(`+`(`/`(1, `*`(z)), 1, z), `/`(1, 3)), 3), `*`(`+`(1, `-`(`*`(2, `*`(t))), `*`(t, `*`(`+`(`/`(1, `*`(z)), z)))), `*`(`+`(1, ...
`assign`(t, -`/`(7, 8)); -1; `assign`(aMask, `+`(`*`(`/`(1, 2), `*`(`^`(`*`(`+`(`/`(1, `*`(z)), 1, z), `/`(1, 3)), 3), `*`(`+`(1, `-`(`*`(2, `*`(t))), `*`(t, `*`(`+`(`/`(1, `*`(z)), z)))), `*`(`+`(1, ...
`assign`(t, -`/`(7, 8)); -1; `assign`(aMask, `+`(`*`(`/`(1, 2), `*`(`^`(`*`(`+`(`/`(1, `*`(z)), 1, z), `/`(1, 3)), 3), `*`(`+`(1, `-`(`*`(2, `*`(t))), `*`(t, `*`(`+`(`/`(1, `*`(z)), z)))), `*`(`+`(1, ...
 

 

`assign`(aMask, `+`(`*`(`/`(1, 2), `*`(`^`(`+`(`/`(`*`(`/`(1, 3)), `*`(z)), `/`(1, 3), `*`(`/`(1, 3), `*`(z))), 3), `*`(`+`(`/`(11, 4), `-`(`*`(`/`(7, 8), `*`(z))), `-`(`/`(`*`(`/`(7, 8)), `*`(z)))), ...
`assign`(bMask, `*`(`^`(`+`(`/`(`*`(`/`(1, 3)), `*`(z)), `/`(1, 3), `*`(`/`(1, 3), `*`(z))), 2), `*`(`+`(`*`(`/`(313, 384), `*`(z)), `/`(313, 384), `/`(`*`(`/`(211, 960)), `*`(z)), `*`(`/`(211, 960), ...
`assign`(bMask, `*`(`^`(`+`(`/`(`*`(`/`(1, 3)), `*`(z)), `/`(1, 3), `*`(`/`(1, 3), `*`(z))), 2), `*`(`+`(`*`(`/`(313, 384), `*`(z)), `/`(313, 384), `/`(`*`(`/`(211, 960)), `*`(z)), `*`(`/`(211, 960), ...
(6.4.2)
 

> `assign`(symDualChain, D1GetSymDualChain(aMask, bMask, d)); 1
 

 

 

 

count<=2 or support inside
-1, -2, 0
count<=2 or support inside
`assign`(symDualChain, [`*`(`^`(`+`(`/`(`*`(`/`(1, 3)), `*`(z)), `/`(1, 3), `*`(`/`(1, 3), `*`(z))), 2), `*`(`+`(`*`(`/`(313, 384), `*`(z)), `/`(313, 384), `/`(`*`(`/`(211, 960)), `*`(z)), `*`(`/`(211...
`assign`(symDualChain, [`*`(`^`(`+`(`/`(`*`(`/`(1, 3)), `*`(z)), `/`(1, 3), `*`(`/`(1, 3), `*`(z))), 2), `*`(`+`(`*`(`/`(313, 384), `*`(z)), `/`(313, 384), `/`(`*`(`/`(211, 960)), `*`(z)), `*`(`/`(211...
`assign`(symDualChain, [`*`(`^`(`+`(`/`(`*`(`/`(1, 3)), `*`(z)), `/`(1, 3), `*`(`/`(1, 3), `*`(z))), 2), `*`(`+`(`*`(`/`(313, 384), `*`(z)), `/`(313, 384), `/`(`*`(`/`(211, 960)), `*`(z)), `*`(`/`(211...
`assign`(symDualChain, [`*`(`^`(`+`(`/`(`*`(`/`(1, 3)), `*`(z)), `/`(1, 3), `*`(`/`(1, 3), `*`(z))), 2), `*`(`+`(`*`(`/`(313, 384), `*`(z)), `/`(313, 384), `/`(`*`(`/`(211, 960)), `*`(z)), `*`(`/`(211...
(6.4.3)
 

> `assign`(tP, P, D1GetSymDualChainUp(symDualChain, d)); -1
`assign`(tP, P, D1GetSymDualChainUp(symDualChain, d)); -1
 

> `assign`(bfilters, D1Polyphase2Mask(tP[1], d)); -1; `assign`(afilters, D1Polyphase2Mask(P[2], d)); -1
`assign`(bfilters, D1Polyphase2Mask(tP[1], d)); -1; `assign`(afilters, D1Polyphase2Mask(P[2], d)); -1
`assign`(bfilters, D1Polyphase2Mask(tP[1], d)); -1; `assign`(afilters, D1Polyphase2Mask(P[2], d)); -1
 

> SYM(afilters), SYM(bfilters); 1
 

Vector[column](%id = 164519144), Vector[column](%id = 164519144) (6.4.4)
 

> simplify(`+`(afilters[1, 1], `-`(aMask))); 1
 

0 (6.4.5)
 

> simplify(`+`(bfilters[1, 1], `-`(bMask))); 1
 

0 (6.4.6)
 

> D1Support(afilters[1, 1]), D1Support(afilters[2, 1]), D1Support(afilters[3, 1]); 1
 

Vector[column](%id = 206467124), Vector[column](%id = 204352212), Vector[column](%id = 187239332) (6.4.7)
 

> D1Support(bfilters[1, 1]), D1Support(bfilters[2, 1]), D1Support(afilters[3, 1]); 1
 

Vector[column](%id = 172468136), Vector[column](%id = 188864700), Vector[column](%id = 194815412) (6.4.8)
 

>