# This is a maple file. In maple type read(`result`); # This file generates the solution using the Grobner basis. h0(3) := A; h0(2) := B; read(`gb.lp.fact`); eqs := "; vars := {h0(0),h0(1),h1(0),h1(1),h1(2),h1(3),h1(4),h1(5)}; sA := solve(eqs[1]); sB := solve(eqs[2],B); ss := solve({eqs[3..10]},vars); assign(ss); # ---------- print out filter coefficients ---------- writeto(`symbal2o.m`); lprint(`function [h0,h1] = symbal2o(k)`); lprint(`if k(1) == 0`); lprint(` A = `,sA[1],`;`); lprint(`elseif k(1) == 1`); lprint(` A = `,sA[2],`;`); lprint(`end`); lprint(`if k(2) == 0`); lprint(` B = `,sB[1],`;`); lprint(`elseif k(2) == 1`); lprint(` B = `,sB[2],`;`); lprint(`end`); lprint(`h0 = [`); k := 'k': for k from 0 to 3 do lprint(h0(k)); od; lprint(`]*sqrt(2);`); lprint(`h0 = [h0; h0(3:-1:1); 0; 0; 0; 0; 0];`); lprint(`h1 = [`); k := 'k': for k from 0 to 5 do lprint(h1(k)); od; lprint(`]*sqrt(2);`); lprint(`h1 = [h1; h1(5:-1:1); 0];`); writeto(`terminal`);