N := 10; n := 1; # set n := 1 for solutions from gb.lp.fact.1 # n := 2; # set n := 2 for solutions from gb.lp.fact.2 # n := 3; # set n := 3 for solutions from gb.lp.fact.3 # n := 4; # set n := 4 for solutions from gb.lp.fact.4 fn := `gb.lp.fact.`.n; fn2 := `c`.n.`.m`; lprint(fn); lprint(fn2); a(0) := A; b(0) := B; c(0) := C; read(fn); eqs := "; vars := { a(1), a(2), a(3), a(4), a(5), a(6), a(7), a(8), a(9), b(1), b(2), b(3), b(4), b(5), b(6), b(7), b(8), b(9), c(1), c(2), c(3), c(4), c(5), c(6), c(7), c(8), c(9) }; ss := solve({eqs[2..10],eqs[12..20],eqs[22..30]},vars); sA := solve(eqs[1],A); sB := solve(eqs[11],B); sC := solve(eqs[21],C); interface(screenwidth=600); writeto(fn2); # lprint(`function T = c`.n); lprint(`function T = c`.n.`(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(`elseif k(2) == 2`); lprint(` B = `,sB[3],`;`); lprint(`elseif k(2) == 3`); lprint(` B = `,sB[4],`;`); lprint(`end`); lprint(`if k(3) == 0`); lprint(` C = `,sC[1],`;`); lprint(`elseif k(3) == 1`); lprint(` C = `,sC[2],`;`); lprint(`end`); lprint(`a = [`); k := 'k': for k from 0 to N-1 do lprint(subs(ss,a(k))); od; lprint(`]';`); lprint(`b = [`); k := 'k': for k from 0 to N-1 do lprint(subs(ss,b(k))); od; lprint(`]';`); lprint(`c = [`); k := 'k': for k from 0 to N-1 do lprint(subs(ss,c(k))); od; lprint(`]';`); lprint(`T = [a;b;c]/sqrt(2);`); writeto(`terminal`); interface(screenwidth=80);