restart; with(LinearAlgebra): # Define indeterminates QParam := [q1,q2,q3,q4,q5,q6,q7,q8,q9]: PParam := Matrix([[p1],[p2],[p3],[p4],[p5],[p6],[p7],[p8],[p9],[p10],[p11]]): # Special Fourier parameterization and inverse F := Matrix([ [1,1,1,1,1,1,1,1,1,1,1], [1,-1/3,1,-1/3,1,-1/3,-1/3,1,-1/3,1,-1/3], [1,1/3,-1/3,-1/3,-1/3,1/3,-1/3,1,1/3,-1/3,-1/3], [1,-1/3,-1/3,1/3,-1/3,-1/3,1/3,1,-1/3,-1/3,1/3], [1,5/9,1/9,1/9,5/9,1/9,1/9,-1/3,-1/3,-1/3,-1/3], [1,-1/3,-1/3,1/3,1,-1/3,-1/3,-1/3,1/3,-1/3,1/3], [1,-1/3,1,-1/3,-1/3,1/9,1/9,-1/3,1/9,-1/3,1/9], [1,1/3,-1/3,-1/3,-1/3,-1/3,0,-1/3,0,1/3,1/3], [1,-1/3,-1/3,1/3,-1/3,1/3,0,-1/3,0,1/3,-1/3]]): FI := Matrix([ [1/64,3/64,3/32,3/32,9/64,3/32,9/64,3/16,3/16], [3/32,-3/32,3/16,-3/16,15/32,-3/16,-9/32,3/8,-3/8], [3/64,9/64,-3/32,-3/32,3/64,-3/32,27/64,-3/16,-3/16], [3/32,-3/32,-3/16,3/16,3/32,3/16,-9/32,-3/8,3/8], [3/64,9/64,-3/32,-3/32,15/64,9/32,-9/64,-3/16,-3/16], [3/32,-3/32,3/16,-3/16,3/32,-3/16,3/32,-3/8,3/8], [3/16,-3/16,-3/8,3/8,3/16,-3/8,3/16,0,0], [3/64,9/64,9/32,9/32,-9/64,-3/32,-9/64,-3/16,-3/16], [3/16,-3/16,3/8,-3/8,-9/16,3/8,3/16,0,0], [3/32,9/32,-3/16,-3/16,-9/32,-3/16,-9/32,3/8,3/8], [3/32,-3/32,-3/16,3/16,-9/32,3/16,3/32,3/8,-3/8]]): # List of polynomial parametrizations P0 := [ b0^2*d0^3*f0^4+3*b0^2*d0^3*f1^4+6*b0^2*d0^2*d1*f0^3*f1+6*b0^2*d0^2*d1*f0^2*f1^2+6*b0^2*d0^2*d1*f0*f1^3+18*b0^2*d0^2*d1*f1^4+6*b0^2*d0*d1^2*f0^3*f1+24*b0^2*d0*d1^2*f0^2*f1^2+42*b0^2*d0*d1^2*f0*f1^3+36*b0^2*d0*d1^2*f1^4+3*b0^2*d1^3*f0^4+12*b0^2*d1^3*f0^3*f1+18*b0^2*d1^3*f0^2*f1^2+24*b0^2*d1^3*f0*f1^3+51*b0^2*d1^3*f1^4+6*b0*b1*d0^3*f0^3*f1+6*b0*b1*d0^3*f0*f1^3+12*b0*b1*d0^3*f1^4+6*b0*b1*d0^2*d1*f0^4+18*b0*b1*d0^2*d1*f0^3*f1+36*b0*b1*d0^2*d1*f0^2*f1^2+66*b0*b1*d0^2*d1*f0*f1^3+90*b0*b1*d0^2*d1*f1^4+6*b0*b1*d0*d1^2*f0^4+54*b0*b1*d0*d1^2*f0^3*f1+144*b0*b1*d0*d1^2*f0^2*f1^2+174*b0*b1*d0*d1^2*f0*f1^3+270*b0*b1*d0*d1^2*f1^4+12*b0*b1*d1^3*f0^4+66*b0*b1*d1^3*f0^3*f1+108*b0*b1*d1^3*f0^2*f1^2+186*b0*b1*d1^3*f0*f1^3+276*b0*b1*d1^3*f1^4+3*b1^2*d0^3*f0^4+6*b1^2*d0^3*f0^3*f1+6*b1^2*d0^3*f0*f1^3+21*b1^2*d0^3*f1^4+6*b1^2*d0^2*d1*f0^4+36*b1^2*d0^2*d1*f0^3*f1+54*b1^2*d0^2*d1*f0^2*f1^2+84*b1^2*d0^2*d1*f0*f1^3+144*b1^2*d0^2*d1*f1^4+6*b1^2*d0*d1^2*f0^4+72*b1^2*d0*d1^2*f0^3*f1+216*b1^2*d0*d1^2*f0^2*f1^2+300*b1^2*d0*d1^2*f0*f1^3+378*b1^2*d0*d1^2*f1^4+21*b1^2*d1^3*f0^4+102*b1^2*d1^3*f0^3*f1+162*b1^2*d1^3*f0^2*f1^2+258*b1^2*d1^3*f0*f1^3+429*b1^2*d1^3*f1^4, 6*b0^2*d0^3*f0^3*f1+6*b0^2*d0^3*f0*f1^3+12*b0^2*d0^3*f1^4+6*b0^2*d0^2*d1*f0^3*f1+60*b0^2*d0^2*d1*f0^2*f1^2+78*b0^2*d0^2*d1*f0*f1^3+72*b0^2*d0^2*d1*f1^4+6*b0^2*d0*d1^2*f0^3*f1+132*b0^2*d0*d1^2*f0^2*f1^2+366*b0^2*d0*d1^2*f0*f1^3+144*b0^2*d0*d1^2*f1^4+30*b0^2*d1^3*f0^3*f1+144*b0^2*d1^3*f0^2*f1^2+270*b0^2*d1^3*f0*f1^3+204*b0^2*d1^3*f1^4+48*b0*b1*d0^3*f0^2*f1^2+48*b0*b1*d0^3*f0*f1^3+48*b0*b1*d0^3*f1^4+48*b0*b1*d0^2*d1*f0^3*f1+264*b0*b1*d0^2*d1*f0^2*f1^2+624*b0*b1*d0^2*d1*f0*f1^3+360*b0*b1*d0^2*d1*f1^4+120*b0*b1*d0*d1^2*f0^3*f1+840*b0*b1*d0*d1^2*f0^2*f1^2+1848*b0*b1*d0*d1^2*f0*f1^3+1080*b0*b1*d0*d1^2*f1^4+120*b0*b1*d1^3*f0^3*f1+864*b0*b1*d1^3*f0^2*f1^2+1800*b0*b1*d1^3*f0*f1^3+1104*b0*b1*d1^3*f1^4+18*b1^2*d0^3*f0^3*f1+48*b1^2*d0^3*f0^2*f1^2+66*b1^2*d0^3*f0*f1^3+84*b1^2*d0^3*f1^4+66*b1^2*d0^2*d1*f0^3*f1+444*b1^2*d0^2*d1*f0^2*f1^2+858*b1^2*d0^2*d1*f0*f1^3+576*b1^2*d0^2*d1*f1^4+138*b1^2*d0*d1^2*f0^3*f1+1236*b1^2*d0*d1^2*f0^2*f1^2+2946*b1^2*d0*d1^2*f0*f1^3+1512*b1^2*d0*d1^2*f1^4+210*b1^2*d1^3*f0^3*f1+1296*b1^2*d1^3*f0^2*f1^2+2610*b1^2*d1^3*f0*f1^3+1716*b1^2*d1^3*f1^4, 6*b0^2*d0^3*f0^2*f1^2+6*b0^2*d0^3*f1^4+3*b0^2*d0^2*d1*f0^4+6*b0^2*d0^2*d1*f0^3*f1+24*b0^2*d0^2*d1*f0^2*f1^2+30*b0^2*d0^2*d1*f0*f1^3+45*b0^2*d0^2*d1*f1^4+3*b0^2*d0*d1^2*f0^4+42*b0^2*d0*d1^2*f0^3*f1+42*b0^2*d0*d1^2*f0^2*f1^2+102*b0^2*d0*d1^2*f0*f1^3+135*b0^2*d0*d1^2*f1^4+6*b0^2*d1^3*f0^4+24*b0^2*d1^3*f0^3*f1+72*b0^2*d1^3*f0^2*f1^2+84*b0^2*d1^3*f0*f1^3+138*b0^2*d1^3*f1^4+6*b0*b1*d0^3*f0^3*f1+12*b0*b1*d0^3*f0^2*f1^2+30*b0*b1*d0^3*f0*f1^3+24*b0*b1*d0^3*f1^4+6*b0*b1*d0^2*d1*f0^4+66*b0*b1*d0^2*d1*f0^3*f1+120*b0*b1*d0^2*d1*f0^2*f1^2+186*b0*b1*d0^2*d1*f0*f1^3+270*b0*b1*d0^2*d1*f1^4+42*b0*b1*d0*d1^2*f0^4+174*b0*b1*d0*d1^2*f0^3*f1+372*b0*b1*d0*d1^2*f0^2*f1^2+510*b0*b1*d0*d1^2*f0*f1^3+846*b0*b1*d0*d1^2*f1^4+24*b0*b1*d1^3*f0^4+186*b0*b1*d1^3*f0^3*f1+360*b0*b1*d1^3*f0^2*f1^2+570*b0*b1*d1^3*f0*f1^3+804*b0*b1*d1^3*f1^4+6*b1^2*d0^3*f0^3*f1+30*b1^2*d0^3*f0^2*f1^2+30*b1^2*d0^3*f0*f1^3+42*b1^2*d0^3*f1^4+15*b1^2*d0^2*d1*f0^4+84*b1^2*d0^2*d1*f0^3*f1+192*b1^2*d0^2*d1*f0^2*f1^2+276*b1^2*d0^2*d1*f0*f1^3+405*b1^2*d0^2*d1*f1^4+51*b1^2*d0*d1^2*f0^4+300*b1^2*d0*d1^2*f0^3*f1+498*b1^2*d0*d1^2*f0^2*f1^2+816*b1^2*d0*d1^2*f0*f1^3+1251*b1^2*d0*d1^2*f1^4+42*b1^2*d1^3*f0^4+258*b1^2*d1^3*f0^3*f1+576*b1^2*d1^3*f0^2*f1^2+822*b1^2*d1^3*f0*f1^3+1218*b1^2*d1^3*f1^4, 6*b0^2*d0^3*f0^2*f1^2+12*b0^2*d0^3*f0*f1^3+6*b0^2*d0^3*f1^4+12*b0^2*d0^2*d1*f0^3*f1+30*b0^2*d0^2*d1*f0^2*f1^2+120*b0^2*d0^2*d1*f0*f1^3+54*b0^2*d0^2*d1*f1^4+12*b0^2*d0*d1^2*f0^3*f1+174*b0^2*d0*d1^2*f0^2*f1^2+264*b0^2*d0*d1^2*f0*f1^3+198*b0^2*d0*d1^2*f1^4+24*b0^2*d1^3*f0^3*f1+126*b0^2*d1^3*f0^2*f1^2+324*b0^2*d1^3*f0*f1^3+174*b0^2*d1^3*f1^4+24*b0*b1*d0^3*f0^2*f1^2+96*b0*b1*d0^3*f0*f1^3+24*b0*b1*d0^3*f1^4+24*b0*b1*d0^2*d1*f0^3*f1+312*b0*b1*d0^2*d1*f0^2*f1^2+600*b0*b1*d0^2*d1*f0*f1^3+360*b0*b1*d0^2*d1*f1^4+168*b0*b1*d0*d1^2*f0^3*f1+816*b0*b1*d0*d1^2*f0^2*f1^2+1752*b0*b1*d0*d1^2*f0*f1^3+1152*b0*b1*d0*d1^2*f1^4+96*b0*b1*d1^3*f0^3*f1+864*b0*b1*d1^3*f0^2*f1^2+1872*b0*b1*d1^3*f0*f1^3+1056*b0*b1*d1^3*f1^4+42*b1^2*d0^3*f0^2*f1^2+132*b1^2*d0^3*f0*f1^3+42*b1^2*d0^3*f1^4+60*b1^2*d0^2*d1*f0^3*f1+402*b1^2*d0^2*d1*f0^2*f1^2+960*b1^2*d0^2*d1*f0*f1^3+522*b1^2*d0^2*d1*f1^4+204*b1^2*d0*d1^2*f0^3*f1+1338*b1^2*d0*d1^2*f0^2*f1^2+2544*b1^2*d0*d1^2*f0*f1^3+1746*b1^2*d0*d1^2*f1^4+168*b1^2*d1^3*f0^3*f1+1242*b1^2*d1^3*f0^2*f1^2+2844*b1^2*d1^3*f0*f1^3+1578*b1^2*d1^3*f1^4, 3*b0^2*d0^3*f0^3*f1+3*b0^2*d0^3*f0*f1^3+6*b0^2*d0^3*f1^4+3*b0^2*d0^2*d1*f0^4+9*b0^2*d0^2*d1*f0^3*f1+18*b0^2*d0^2*d1*f0^2*f1^2+33*b0^2*d0^2*d1*f0*f1^3+45*b0^2*d0^2*d1*f1^4+3*b0^2*d0*d1^2*f0^4+27*b0^2*d0*d1^2*f0^3*f1+72*b0^2*d0*d1^2*f0^2*f1^2+87*b0^2*d0*d1^2*f0*f1^3+135*b0^2*d0*d1^2*f1^4+6*b0^2*d1^3*f0^4+33*b0^2*d1^3*f0^3*f1+54*b0^2*d1^3*f0^2*f1^2+93*b0^2*d1^3*f0*f1^3+138*b0^2*d1^3*f1^4+24*b0*b1*d0^3*f0^2*f1^2+24*b0*b1*d0^3*f0*f1^3+24*b0*b1*d0^3*f1^4+6*b0*b1*d0^2*d1*f0^4+60*b0*b1*d0^2*d1*f0^3*f1+132*b0*b1*d0^2*d1*f0^2*f1^2+180*b0*b1*d0^2*d1*f0*f1^3+270*b0*b1*d0^2*d1*f1^4+42*b0*b1*d0*d1^2*f0^4+204*b0*b1*d0*d1^2*f0^3*f1+312*b0*b1*d0*d1^2*f0^2*f1^2+540*b0*b1*d0*d1^2*f0*f1^3+846*b0*b1*d0*d1^2*f1^4+24*b0*b1*d1^3*f0^4+168*b0*b1*d1^3*f0^3*f1+396*b0*b1*d1^3*f0^2*f1^2+552*b0*b1*d1^3*f0*f1^3+804*b0*b1*d1^3*f1^4+9*b1^2*d0^3*f0^3*f1+24*b1^2*d0^3*f0^2*f1^2+33*b1^2*d0^3*f0*f1^3+42*b1^2*d0^3*f1^4+15*b1^2*d0^2*d1*f0^4+87*b1^2*d0^2*d1*f0^3*f1+186*b1^2*d0^2*d1*f0^2*f1^2+279*b1^2*d0^2*d1*f0*f1^3+405*b1^2*d0^2*d1*f1^4+51*b1^2*d0*d1^2*f0^4+285*b1^2*d0*d1^2*f0^3*f1+528*b1^2*d0*d1^2*f0^2*f1^2+801*b1^2*d0*d1^2*f0*f1^3+1251*b1^2*d0*d1^2*f1^4+42*b1^2*d1^3*f0^4+267*b1^2*d1^3*f0^3*f1+558*b1^2*d1^3*f0^2*f1^2+831*b1^2*d1^3*f0*f1^3+1218*b1^2*d1^3*f1^4, 12*b0^2*d0^3*f0^2*f1^2+12*b0^2*d0^3*f1^4+12*b0^2*d0^2*d1*f0^3*f1+36*b0^2*d0^2*d1*f0^2*f1^2+108*b0^2*d0^2*d1*f0*f1^3+60*b0^2*d0^2*d1*f1^4+12*b0^2*d0*d1^2*f0^3*f1+144*b0^2*d0*d1^2*f0^2*f1^2+324*b0^2*d0*d1^2*f0*f1^3+168*b0^2*d0*d1^2*f1^4+24*b0^2*d1^3*f0^3*f1+144*b0^2*d1^3*f0^2*f1^2+288*b0^2*d1^3*f0*f1^3+192*b0^2*d1^3*f1^4+12*b0*b1*d0^3*f0^3*f1+24*b0*b1*d0^3*f0^2*f1^2+60*b0*b1*d0^3*f0*f1^3+48*b0*b1*d0^3*f1^4+36*b0*b1*d0^2*d1*f0^3*f1+312*b0*b1*d0^2*d1*f0^2*f1^2+564*b0*b1*d0^2*d1*f0*f1^3+384*b0*b1*d0^2*d1*f1^4+108*b0*b1*d0*d1^2*f0^3*f1+816*b0*b1*d0*d1^2*f0^2*f1^2+1932*b0*b1*d0*d1^2*f0*f1^3+1032*b0*b1*d0*d1^2*f1^4+132*b0*b1*d1^3*f0^3*f1+864*b0*b1*d1^3*f0^2*f1^2+1764*b0*b1*d1^3*f0*f1^3+1128*b0*b1*d1^3*f1^4+12*b1^2*d0^3*f0^3*f1+60*b1^2*d0^3*f0^2*f1^2+60*b1^2*d0^3*f0*f1^3+84*b1^2*d0^3*f1^4+72*b1^2*d0^2*d1*f0^3*f1+420*b1^2*d0^2*d1*f0^2*f1^2+888*b1^2*d0^2*d1*f0*f1^3+564*b1^2*d0^2*d1*f1^4+144*b1^2*d0*d1^2*f0^3*f1+1248*b1^2*d0*d1^2*f0^2*f1^2+2904*b1^2*d0*d1^2*f0*f1^3+1536*b1^2*d0*d1^2*f1^4+204*b1^2*d1^3*f0^3*f1+1296*b1^2*d1^3*f0^2*f1^2+2628*b1^2*d1^3*f0*f1^3+1704*b1^2*d1^3*f1^4, 12*b0^2*d0^3*f0^2*f1^2+24*b0^2*d0^3*f0*f1^3+12*b0^2*d0^3*f1^4+12*b0^2*d0^2*d1*f0^3*f1+96*b0^2*d0^2*d1*f0^2*f1^2+204*b0^2*d0^2*d1*f0*f1^3+120*b0^2*d0^2*d1*f1^4+48*b0^2*d0*d1^2*f0^3*f1+276*b0^2*d0*d1^2*f0^2*f1^2+600*b0^2*d0*d1^2*f0*f1^3+372*b0^2*d0*d1^2*f1^4+36*b0^2*d1^3*f0^3*f1+288*b0^2*d1^3*f0^2*f1^2+612*b0^2*d1^3*f0*f1^3+360*b0^2*d1^3*f1^4+48*b0*b1*d0^3*f0^2*f1^2+192*b0*b1*d0^3*f0*f1^3+48*b0*b1*d0^3*f1^4+72*b0*b1*d0^2*d1*f0^3*f1+552*b0*b1*d0^2*d1*f0^2*f1^2+1272*b0*b1*d0^2*d1*f0*f1^3+696*b0*b1*d0^2*d1*f1^4+288*b0*b1*d0*d1^2*f0^3*f1+1776*b0*b1*d0*d1^2*f0^2*f1^2+3360*b0*b1*d0*d1^2*f0*f1^3+2352*b0*b1*d0*d1^2*f1^4+216*b0*b1*d1^3*f0^3*f1+1656*b0*b1*d1^3*f0^2*f1^2+3816*b0*b1*d1^3*f0*f1^3+2088*b0*b1*d1^3*f1^4+84*b1^2*d0^3*f0^2*f1^2+264*b1^2*d0^3*f0*f1^3+84*b1^2*d0^3*f1^4+108*b1^2*d0^2*d1*f0^3*f1+840*b1^2*d0^2*d1*f0^2*f1^2+1884*b1^2*d0^2*d1*f0*f1^3+1056*b1^2*d0^2*d1*f1^4+432*b1^2*d0*d1^2*f0^3*f1+2604*b1^2*d0*d1^2*f0^2*f1^2+5160*b1^2*d0*d1^2*f0*f1^3+3468*b1^2*d0*d1^2*f1^4+324*b1^2*d1^3*f0^3*f1+2520*b1^2*d1^3*f0^2*f1^2+5652*b1^2*d1^3*f0*f1^3+3168*b1^2*d1^3*f1^4, 3*b0^2*d0^3*f0^3*f1+3*b0^2*d0^3*f0*f1^3+6*b0^2*d0^3*f1^4+3*b0^2*d0^2*d1*f0^4+9*b0^2*d0^2*d1*f0^3*f1+18*b0^2*d0^2*d1*f0^2*f1^2+33*b0^2*d0^2*d1*f0*f1^3+45*b0^2*d0^2*d1*f1^4+3*b0^2*d0*d1^2*f0^4+27*b0^2*d0*d1^2*f0^3*f1+72*b0^2*d0*d1^2*f0^2*f1^2+87*b0^2*d0*d1^2*f0*f1^3+135*b0^2*d0*d1^2*f1^4+6*b0^2*d1^3*f0^4+33*b0^2*d1^3*f0^3*f1+54*b0^2*d1^3*f0^2*f1^2+93*b0^2*d1^3*f0*f1^3+138*b0^2*d1^3*f1^4+6*b0*b1*d0^3*f0^4+12*b0*b1*d0^3*f0^3*f1+12*b0*b1*d0^3*f0*f1^3+42*b0*b1*d0^3*f1^4+12*b0*b1*d0^2*d1*f0^4+72*b0*b1*d0^2*d1*f0^3*f1+108*b0*b1*d0^2*d1*f0^2*f1^2+168*b0*b1*d0^2*d1*f0*f1^3+288*b0*b1*d0^2*d1*f1^4+12*b0*b1*d0*d1^2*f0^4+144*b0*b1*d0*d1^2*f0^3*f1+432*b0*b1*d0*d1^2*f0^2*f1^2+600*b0*b1*d0*d1^2*f0*f1^3+756*b0*b1*d0*d1^2*f1^4+42*b0*b1*d1^3*f0^4+204*b0*b1*d1^3*f0^3*f1+324*b0*b1*d1^3*f0^2*f1^2+516*b0*b1*d1^3*f0*f1^3+858*b0*b1*d1^3*f1^4+6*b1^2*d0^3*f0^4+21*b1^2*d0^3*f0^3*f1+21*b1^2*d0^3*f0*f1^3+60*b1^2*d0^3*f1^4+21*b1^2*d0^2*d1*f0^4+99*b1^2*d0^2*d1*f0^3*f1+162*b1^2*d0^2*d1*f0^2*f1^2+267*b1^2*d0^2*d1*f0*f1^3+423*b1^2*d0^2*d1*f1^4+21*b1^2*d0*d1^2*f0^4+225*b1^2*d0*d1^2*f0^3*f1+648*b1^2*d0*d1^2*f0^2*f1^2+861*b1^2*d0*d1^2*f0*f1^3+1161*b1^2*d0*d1^2*f1^4+60*b1^2*d1^3*f0^4+303*b1^2*d1^3*f0^3*f1+486*b1^2*d1^3*f0^2*f1^2+795*b1^2*d1^3*f0*f1^3+1272*b1^2*d1^3*f1^4, 12*b0^2*d0^3*f0^2*f1^2+24*b0^2*d0^3*f0*f1^3+12*b0^2*d0^3*f1^4+12*b0^2*d0^2*d1*f0^3*f1+96*b0^2*d0^2*d1*f0^2*f1^2+204*b0^2*d0^2*d1*f0*f1^3+120*b0^2*d0^2*d1*f1^4+48*b0^2*d0*d1^2*f0^3*f1+276*b0^2*d0*d1^2*f0^2*f1^2+600*b0^2*d0*d1^2*f0*f1^3+372*b0^2*d0*d1^2*f1^4+36*b0^2*d1^3*f0^3*f1+288*b0^2*d1^3*f0^2*f1^2+612*b0^2*d1^3*f0*f1^3+360*b0^2*d1^3*f1^4+24*b0*b1*d0^3*f0^3*f1+72*b0*b1*d0^3*f0^2*f1^2+72*b0*b1*d0^3*f0*f1^3+120*b0*b1*d0^3*f1^4+96*b0*b1*d0^2*d1*f0^3*f1+576*b0*b1*d0^2*d1*f0^2*f1^2+1152*b0*b1*d0^2*d1*f0*f1^3+768*b0*b1*d0^2*d1*f1^4+168*b0*b1*d0*d1^2*f0^3*f1+1656*b0*b1*d0*d1^2*f0^2*f1^2+3960*b0*b1*d0*d1^2*f0*f1^3+1992*b0*b1*d0*d1^2*f1^4+288*b0*b1*d1^3*f0^3*f1+1728*b0*b1*d1^3*f0^2*f1^2+3456*b0*b1*d1^3*f0*f1^3+2304*b0*b1*d1^3*f1^4+24*b1^2*d0^3*f0^3*f1+108*b1^2*d0^3*f0^2*f1^2+144*b1^2*d0^3*f0*f1^3+156*b1^2*d0^3*f1^4+132*b1^2*d0^2*d1*f0^3*f1+864*b1^2*d0^2*d1*f0^2*f1^2+1764*b1^2*d0^2*d1*f0*f1^3+1128*b1^2*d0^2*d1*f1^4+312*b1^2*d0*d1^2*f0^3*f1+2484*b1^2*d0*d1^2*f0^2*f1^2+5760*b1^2*d0*d1^2*f0*f1^3+3108*b1^2*d0*d1^2*f1^4+396*b1^2*d1^3*f0^3*f1+2592*b1^2*d1^3*f0^2*f1^2+5292*b1^2*d1^3*f0*f1^3+3384*b1^2*d1^3*f1^4, 6*b0^2*d0^3*f0^2*f1^2+12*b0^2*d0^3*f0*f1^3+6*b0^2*d0^3*f1^4+24*b0^2*d0^2*d1*f0^3*f1+42*b0^2*d0^2*d1*f0^2*f1^2+60*b0^2*d0^2*d1*f0*f1^3+90*b0^2*d0^2*d1*f1^4+18*b0^2*d0*d1^2*f0^4+60*b0^2*d0*d1^2*f0^3*f1+114*b0^2*d0*d1^2*f0^2*f1^2+168*b0^2*d0*d1^2*f0*f1^3+288*b0^2*d0*d1^2*f1^4+6*b0^2*d1^3*f0^4+60*b0^2*d1^3*f0^3*f1+126*b0^2*d1^3*f0^2*f1^2+192*b0^2*d1^3*f0*f1^3+264*b0^2*d1^3*f1^4+12*b0*b1*d0^3*f0^3*f1+36*b0*b1*d0^3*f0^2*f1^2+36*b0*b1*d0^3*f0*f1^3+60*b0*b1*d0^3*f1^4+24*b0*b1*d0^2*d1*f0^4+108*b0*b1*d0^2*d1*f0^3*f1+252*b0*b1*d0^2*d1*f0^2*f1^2+372*b0*b1*d0^2*d1*f0*f1^3+540*b0*b1*d0^2*d1*f1^4+60*b0*b1*d0*d1^2*f0^4+396*b0*b1*d0*d1^2*f0^3*f1+684*b0*b1*d0*d1^2*f0^2*f1^2+1092*b0*b1*d0*d1^2*f0*f1^3+1656*b0*b1*d0*d1^2*f1^4+60*b0*b1*d1^3*f0^4+348*b0*b1*d1^3*f0^3*f1+756*b0*b1*d1^3*f0^2*f1^2+1092*b0*b1*d1^3*f0*f1^3+1632*b0*b1*d1^3*f1^4+12*b1^2*d0^3*f0^3*f1+54*b1^2*d0^3*f0^2*f1^2+72*b1^2*d0^3*f0*f1^3+78*b1^2*d0^3*f1^4+24*b1^2*d0^2*d1*f0^4+180*b1^2*d0^2*d1*f0^3*f1+378*b1^2*d0^2*d1*f0^2*f1^2+552*b1^2*d0^2*d1*f0*f1^3+810*b1^2*d0^2*d1*f1^4+114*b1^2*d0*d1^2*f0^4+576*b1^2*d0*d1^2*f0^3*f1+1026*b1^2*d0*d1^2*f0^2*f1^2+1596*b1^2*d0*d1^2*f0*f1^3+2520*b1^2*d0*d1^2*f1^4+78*b1^2*d1^3*f0^4+528*b1^2*d1^3*f0^3*f1+1134*b1^2*d1^3*f0^2*f1^2+1668*b1^2*d1^3*f0*f1^3+2424*b1^2*d1^3*f1^4, 24*b0^2*d0^3*f0*f1^3+60*b0^2*d0^2*d1*f0^2*f1^2+96*b0^2*d0^2*d1*f0*f1^3+60*b0^2*d0^2*d1*f1^4+36*b0^2*d0*d1^2*f0^3*f1+132*b0^2*d0*d1^2*f0^2*f1^2+276*b0^2*d0*d1^2*f0*f1^3+204*b0^2*d0*d1^2*f1^4+12*b0^2*d1^3*f0^3*f1+144*b0^2*d1^3*f0^2*f1^2+324*b0^2*d1^3*f0*f1^3+168*b0^2*d1^3*f1^4+36*b0*b1*d0^3*f0^2*f1^2+72*b0*b1*d0^3*f0*f1^3+36*b0*b1*d0^3*f1^4+48*b0*b1*d0^2*d1*f0^3*f1+252*b0*b1*d0^2*d1*f0^2*f1^2+648*b0*b1*d0^2*d1*f0*f1^3+348*b0*b1*d0^2*d1*f1^4+120*b0*b1*d0*d1^2*f0^3*f1+900*b0*b1*d0*d1^2*f0^2*f1^2+1728*b0*b1*d0*d1^2*f0*f1^3+1140*b0*b1*d0*d1^2*f1^4+120*b0*b1*d1^3*f0^3*f1+828*b0*b1*d1^3*f0^2*f1^2+1872*b0*b1*d1^3*f0*f1^3+1068*b0*b1*d1^3*f1^4+36*b1^2*d0^3*f0^2*f1^2+144*b1^2*d0^3*f0*f1^3+36*b1^2*d0^3*f1^4+48*b1^2*d0^2*d1*f0^3*f1+432*b1^2*d0^2*d1*f0^2*f1^2+936*b1^2*d0^2*d1*f0*f1^3+528*b1^2*d0^2*d1*f1^4+228*b1^2*d0*d1^2*f0^3*f1+1296*b1^2*d0*d1^2*f0^2*f1^2+2556*b1^2*d0*d1^2*f0*f1^3+1752*b1^2*d0*d1^2*f1^4+156*b1^2*d1^3*f0^3*f1+1260*b1^2*d1^3*f0^2*f1^2+2844*b1^2*d1^3*f0*f1^3+1572*b1^2*d1^3*f1^4]: # Substitutions based on the model P := P0: P := subs(b0 = 1-3*b1, P): P := subs(d0 = 1-3*d1, P): P := subs(f0 = 1-3*f1, P): # Check that the polynomial parametrization lies in the probability simplex suma := 0: for i from 1 to nops(P) do suma := suma + P[i]: od: normal(expand(suma)); # Ideal of Invariants in Fourier coordinates Invariants := Matrix([ q7*q8-q6*q9, q6*q8-q5*q9, q4*q8-q3*q9, q6^2-q5*q7, q4*q6-q3*q7, q4*q5-q3*q6, q2*q5-q1*q7, q2*q3*q8-q1*q4*q9, q4*q6*q7-q2*q9^2, q4*q6^2-q2*q8*q9, q4*q5*q6-q1*q9^2, q4*q5*q6-q2*q8^2, q4*q5^2-q1*q8*q9, q3*q5^2-q1*q8^2, q2*q3^2-q1*q4^2]): # Ideal of Invariants in probability coordinates Fourier := MatrixMatrixMultiply(F,PParam): PInvariants := Invariants: for i from 1 to nops(QParam) do PInvariants := subs(QParam[i] = Fourier[i, 1], PInvariants): od: # Evaluation of Invariants at the polynomial/rational parametrization num := op(PInvariants[1,1..-1])[1]: for j from 1 to num do coordpoly := PInvariants[1, j]: for i from 1 to op(PParam[1..-1,1])[1] do coordpoly := subs(PParam[i, 1] = P0[i], coordpoly): od: coordpoly :=expand(coordpoly): lprint(j,coordpoly); od: