N0 := 8; N1 := 8 + 4; N2 := N0; N3 := N1; h0(3) := A; h2(3) := B; h3(5) := C; vars := {seq(h0(k0),k0=0..2), seq(h1(k1),k1=0..5), seq(h2(k2),k2=0..2), seq(h3(k3),k3=0..4)}; read(`gb.B.lp`); eqs := "; sA := solve(eqs[1]); sB := solve(eqs[11],B); sC := solve(eqs[15],C); ss := solve({eqs[2..10],eqs[12..14],eqs[16..20]},vars); writeto(`symbal2e.m`); lprint(`function [h0,h1,h2,h3] = symbal2e`); lprint(`A = `,sA[1],`;`); lprint(`B = `,sB[2],`;`); lprint(`C = `,sC[2],`;`); lprint(`h0 = [`); k := 'k': for k from 0 to (N0-1)/2 do lprint(subs(ss,h0(k))); od; lprint(`]*sqrt(2);`); lprint(`h0 = [h0; h0(4:-1:1); 0; 0; 0; 0];`); lprint(`h1 = [`); k := 'k': for k from 0 to (N1-1)/2 do lprint(subs(ss,h1(k))); od; lprint(`]*sqrt(2);`); lprint(`h1 = [h1; h1(6:-1:1)];`); lprint(`h2 = [`); k := 'k': for k from 0 to (N2-1)/2 do lprint(subs(ss,h2(k))); od; lprint(`]*sqrt(2);`); lprint(`h2 = [h2; -h2(4:-1:1); 0; 0; 0; 0];`); lprint(`h3 = [`); k := 'k': for k from 0 to (N3-1)/2 do lprint(subs(ss,h3(k))); od; lprint(`]*sqrt(2);`); lprint(`h3 = [h3; -h3(6:-1:1)];`); writeto(`terminal`);