restart; with(LinearAlgebra): # Define indeterminates QParam := [q1,q2,q3,q4,q5,q6,q7]: PParam := Matrix([[p1],[p2],[p3],[p4],[p5],[p6],[p7],[p8],[p9]]): # Special Fourier parameterization and inverse F := Matrix([[1,1,1,1,1,1,1,1,1], [1,-1,1,1,-1,1,1,-1,1], [1,1/5,-3/5,-1/5,-1/5,-1/5,-3/5,1/5,1], [1,-1,1,-1,1,-1,1,-1,1], [1,1/2,0,1/2,0,-1/2,0,-1/2,-1], [1,-1,1,0,0,0,-1,1,-1], [1,0,-1,-1,0,1,1,0,-1]]): FI := Matrix([ [1/16,1/16,5/16,1/16,1/4,1/8,1/8], [1/8,-1/8,1/8,-1/8,1/4,-1/4,0], [1/16,1/16,-3/16,1/16,0,1/8,-1/8], [1/8,1/8,-1/8,-1/8,1/4,0,-1/4], [1/4,-1/4,-1/4,1/4,0,0,0], [1/8,1/8,-1/8,-1/8,-1/4,0,1/4], [1/16,1/16,-3/16,1/16,0,-1/8,1/8], [1/8,-1/8,1/8,-1/8,-1/4,1/4,0], [1/16,1/16,5/16,1/16,-1/4,-1/8,-1/8] ]): # List of polynomial parametrizations P0 := [ b0^2*e0^4*g0^5+b0^2*e0^4*g1^5+3*b0^2*e0^3*e1*g0^4*g1+b0^2*e0^3*e1*g0^3*g1^2+b0^2*e0^3*e1*g0^2*g1^3+3*b0^2*e0^3*e1*g0*g1^4+6*b0^2*e0^2*e1^2*g0^3*g1^2+6*b0^2*e0^2*e1^2*g0^2*g1^3+3*b0^2*e0*e1^3*g0^4*g1+b0^2*e0*e1^3*g0^3*g1^2+b0^2*e0*e1^3*g0^2*g1^3+3*b0^2*e0*e1^3*g0*g1^4+b0^2*e1^4*g0^5+b0^2*e1^4*g1^5+2*b0*b1*e0^4*g0^4*g1+2*b0*b1*e0^4*g0*g1^4+2*b0*b1*e0^3*e1*g0^5+6*b0*b1*e0^3*e1*g0^3*g1^2+6*b0*b1*e0^3*e1*g0^2*g1^3+2*b0*b1*e0^3*e1*g1^5+8*b0*b1*e0^2*e1^2*g0^4*g1+4*b0*b1*e0^2*e1^2*g0^3*g1^2+4*b0*b1*e0^2*e1^2*g0^2*g1^3+8*b0*b1*e0^2*e1^2*g0*g1^4+2*b0*b1*e0*e1^3*g0^5+6*b0*b1*e0*e1^3*g0^3*g1^2+6*b0*b1*e0*e1^3*g0^2*g1^3+2*b0*b1*e0*e1^3*g1^5+2*b0*b1*e1^4*g0^4*g1+2*b0*b1*e1^4*g0*g1^4+b1^2*e0^4*g0^5+b1^2*e0^4*g1^5+3*b1^2*e0^3*e1*g0^4*g1+b1^2*e0^3*e1*g0^3*g1^2+b1^2*e0^3*e1*g0^2*g1^3+3*b1^2*e0^3*e1*g0*g1^4+6*b1^2*e0^2*e1^2*g0^3*g1^2+6*b1^2*e0^2*e1^2*g0^2*g1^3+3*b1^2*e0*e1^3*g0^4*g1+b1^2*e0*e1^3*g0^3*g1^2+b1^2*e0*e1^3*g0^2*g1^3+3*b1^2*e0*e1^3*g0*g1^4+b1^2*e1^4*g0^5+b1^2*e1^4*g1^5, 2*b0^2*e0^4*g0^4*g1+2*b0^2*e0^4*g0*g1^4+2*b0^2*e0^3*e1*g0^4*g1+6*b0^2*e0^3*e1*g0^3*g1^2+6*b0^2*e0^3*e1*g0^2*g1^3+2*b0^2*e0^3*e1*g0*g1^4+12*b0^2*e0^2*e1^2*g0^3*g1^2+12*b0^2*e0^2*e1^2*g0^2*g1^3+2*b0^2*e0*e1^3*g0^4*g1+6*b0^2*e0*e1^3*g0^3*g1^2+6*b0^2*e0*e1^3*g0^2*g1^3+2*b0^2*e0*e1^3*g0*g1^4+2*b0^2*e1^4*g0^4*g1+2*b0^2*e1^4*g0*g1^4+4*b0*b1*e0^4*g0^3*g1^2+4*b0*b1*e0^4*g0^2*g1^3+4*b0*b1*e0^3*e1*g0^4*g1+12*b0*b1*e0^3*e1*g0^3*g1^2+12*b0*b1*e0^3*e1*g0^2*g1^3+4*b0*b1*e0^3*e1*g0*g1^4+8*b0*b1*e0^2*e1^2*g0^4*g1+16*b0*b1*e0^2*e1^2*g0^3*g1^2+16*b0*b1*e0^2*e1^2*g0^2*g1^3+8*b0*b1*e0^2*e1^2*g0*g1^4+4*b0*b1*e0*e1^3*g0^4*g1+12*b0*b1*e0*e1^3*g0^3*g1^2+12*b0*b1*e0*e1^3*g0^2*g1^3+4*b0*b1*e0*e1^3*g0*g1^4+4*b0*b1*e1^4*g0^3*g1^2+4*b0*b1*e1^4*g0^2*g1^3+2*b1^2*e0^4*g0^4*g1+2*b1^2*e0^4*g0*g1^4+2*b1^2*e0^3*e1*g0^4*g1+6*b1^2*e0^3*e1*g0^3*g1^2+6*b1^2*e0^3*e1*g0^2*g1^3+2*b1^2*e0^3*e1*g0*g1^4+12*b1^2*e0^2*e1^2*g0^3*g1^2+12*b1^2*e0^2*e1^2*g0^2*g1^3+2*b1^2*e0*e1^3*g0^4*g1+6*b1^2*e0*e1^3*g0^3*g1^2+6*b1^2*e0*e1^3*g0^2*g1^3+2*b1^2*e0*e1^3*g0*g1^4+2*b1^2*e1^4*g0^4*g1+2*b1^2*e1^4*g0*g1^4, b0^2*e0^4*g0^3*g1^2+b0^2*e0^4*g0^2*g1^3+b0^2*e0^3*e1*g0^5+3*b0^2*e0^3*e1*g0^3*g1^2+3*b0^2*e0^3*e1*g0^2*g1^3+b0^2*e0^3*e1*g1^5+6*b0^2*e0^2*e1^2*g0^4*g1+6*b0^2*e0^2*e1^2*g0*g1^4+b0^2*e0*e1^3*g0^5+3*b0^2*e0*e1^3*g0^3*g1^2+3*b0^2*e0*e1^3*g0^2*g1^3+b0^2*e0*e1^3*g1^5+b0^2*e1^4*g0^3*g1^2+b0^2*e1^4*g0^2*g1^3+2*b0*b1*e0^4*g0^3*g1^2+2*b0*b1*e0^4*g0^2*g1^3+6*b0*b1*e0^3*e1*g0^4*g1+2*b0*b1*e0^3*e1*g0^3*g1^2+2*b0*b1*e0^3*e1*g0^2*g1^3+6*b0*b1*e0^3*e1*g0*g1^4+4*b0*b1*e0^2*e1^2*g0^5+8*b0*b1*e0^2*e1^2*g0^3*g1^2+8*b0*b1*e0^2*e1^2*g0^2*g1^3+4*b0*b1*e0^2*e1^2*g1^5+6*b0*b1*e0*e1^3*g0^4*g1+2*b0*b1*e0*e1^3*g0^3*g1^2+2*b0*b1*e0*e1^3*g0^2*g1^3+6*b0*b1*e0*e1^3*g0*g1^4+2*b0*b1*e1^4*g0^3*g1^2+2*b0*b1*e1^4*g0^2*g1^3+b1^2*e0^4*g0^3*g1^2+b1^2*e0^4*g0^2*g1^3+b1^2*e0^3*e1*g0^5+3*b1^2*e0^3*e1*g0^3*g1^2+3*b1^2*e0^3*e1*g0^2*g1^3+b1^2*e0^3*e1*g1^5+6*b1^2*e0^2*e1^2*g0^4*g1+6*b1^2*e0^2*e1^2*g0*g1^4+b1^2*e0*e1^3*g0^5+3*b1^2*e0*e1^3*g0^3*g1^2+3*b1^2*e0*e1^3*g0^2*g1^3+b1^2*e0*e1^3*g1^5+b1^2*e1^4*g0^3*g1^2+b1^2*e1^4*g0^2*g1^3, 2*b0^2*e0^4*g0^4*g1+2*b0^2*e0^4*g0*g1^4+2*b0^2*e0^3*e1*g0^5+6*b0^2*e0^3*e1*g0^3*g1^2+6*b0^2*e0^3*e1*g0^2*g1^3+2*b0^2*e0^3*e1*g1^5+8*b0^2*e0^2*e1^2*g0^4*g1+4*b0^2*e0^2*e1^2*g0^3*g1^2+4*b0^2*e0^2*e1^2*g0^2*g1^3+8*b0^2*e0^2*e1^2*g0*g1^4+2*b0^2*e0*e1^3*g0^5+6*b0^2*e0*e1^3*g0^3*g1^2+6*b0^2*e0*e1^3*g0^2*g1^3+2*b0^2*e0*e1^3*g1^5+2*b0^2*e1^4*g0^4*g1+2*b0^2*e1^4*g0*g1^4+4*b0*b1*e0^4*g0^3*g1^2+4*b0*b1*e0^4*g0^2*g1^3+12*b0*b1*e0^3*e1*g0^4*g1+4*b0*b1*e0^3*e1*g0^3*g1^2+4*b0*b1*e0^3*e1*g0^2*g1^3+12*b0*b1*e0^3*e1*g0*g1^4+8*b0*b1*e0^2*e1^2*g0^5+16*b0*b1*e0^2*e1^2*g0^3*g1^2+16*b0*b1*e0^2*e1^2*g0^2*g1^3+8*b0*b1*e0^2*e1^2*g1^5+12*b0*b1*e0*e1^3*g0^4*g1+4*b0*b1*e0*e1^3*g0^3*g1^2+4*b0*b1*e0*e1^3*g0^2*g1^3+12*b0*b1*e0*e1^3*g0*g1^4+4*b0*b1*e1^4*g0^3*g1^2+4*b0*b1*e1^4*g0^2*g1^3+2*b1^2*e0^4*g0^4*g1+2*b1^2*e0^4*g0*g1^4+2*b1^2*e0^3*e1*g0^5+6*b1^2*e0^3*e1*g0^3*g1^2+6*b1^2*e0^3*e1*g0^2*g1^3+2*b1^2*e0^3*e1*g1^5+8*b1^2*e0^2*e1^2*g0^4*g1+4*b1^2*e0^2*e1^2*g0^3*g1^2+4*b1^2*e0^2*e1^2*g0^2*g1^3+8*b1^2*e0^2*e1^2*g0*g1^4+2*b1^2*e0*e1^3*g0^5+6*b1^2*e0*e1^3*g0^3*g1^2+6*b1^2*e0*e1^3*g0^2*g1^3+2*b1^2*e0*e1^3*g1^5+2*b1^2*e1^4*g0^4*g1+2*b1^2*e1^4*g0*g1^4, 4*b0^2*e0^4*g0^3*g1^2+4*b0^2*e0^4*g0^2*g1^3+4*b0^2*e0^3*e1*g0^4*g1+12*b0^2*e0^3*e1*g0^3*g1^2+12*b0^2*e0^3*e1*g0^2*g1^3+4*b0^2*e0^3*e1*g0*g1^4+8*b0^2*e0^2*e1^2*g0^4*g1+16*b0^2*e0^2*e1^2*g0^3*g1^2+16*b0^2*e0^2*e1^2*g0^2*g1^3+8*b0^2*e0^2*e1^2*g0*g1^4+4*b0^2*e0*e1^3*g0^4*g1+12*b0^2*e0*e1^3*g0^3*g1^2+12*b0^2*e0*e1^3*g0^2*g1^3+4*b0^2*e0*e1^3*g0*g1^4+4*b0^2*e1^4*g0^3*g1^2+4*b0^2*e1^4*g0^2*g1^3+8*b0*b1*e0^4*g0^3*g1^2+8*b0*b1*e0^4*g0^2*g1^3+8*b0*b1*e0^3*e1*g0^4*g1+24*b0*b1*e0^3*e1*g0^3*g1^2+24*b0*b1*e0^3*e1*g0^2*g1^3+8*b0*b1*e0^3*e1*g0*g1^4+16*b0*b1*e0^2*e1^2*g0^4*g1+32*b0*b1*e0^2*e1^2*g0^3*g1^2+32*b0*b1*e0^2*e1^2*g0^2*g1^3+16*b0*b1*e0^2*e1^2*g0*g1^4+8*b0*b1*e0*e1^3*g0^4*g1+24*b0*b1*e0*e1^3*g0^3*g1^2+24*b0*b1*e0*e1^3*g0^2*g1^3+8*b0*b1*e0*e1^3*g0*g1^4+8*b0*b1*e1^4*g0^3*g1^2+8*b0*b1*e1^4*g0^2*g1^3+4*b1^2*e0^4*g0^3*g1^2+4*b1^2*e0^4*g0^2*g1^3+4*b1^2*e0^3*e1*g0^4*g1+12*b1^2*e0^3*e1*g0^3*g1^2+12*b1^2*e0^3*e1*g0^2*g1^3+4*b1^2*e0^3*e1*g0*g1^4+8*b1^2*e0^2*e1^2*g0^4*g1+16*b1^2*e0^2*e1^2*g0^3*g1^2+16*b1^2*e0^2*e1^2*g0^2*g1^3+8*b1^2*e0^2*e1^2*g0*g1^4+4*b1^2*e0*e1^3*g0^4*g1+12*b1^2*e0*e1^3*g0^3*g1^2+12*b1^2*e0*e1^3*g0^2*g1^3+4*b1^2*e0*e1^3*g0*g1^4+4*b1^2*e1^4*g0^3*g1^2+4*b1^2*e1^4*g0^2*g1^3, 2*b0^2*e0^4*g0^3*g1^2+2*b0^2*e0^4*g0^2*g1^3+6*b0^2*e0^3*e1*g0^4*g1+2*b0^2*e0^3*e1*g0^3*g1^2+2*b0^2*e0^3*e1*g0^2*g1^3+6*b0^2*e0^3*e1*g0*g1^4+4*b0^2*e0^2*e1^2*g0^5+8*b0^2*e0^2*e1^2*g0^3*g1^2+8*b0^2*e0^2*e1^2*g0^2*g1^3+4*b0^2*e0^2*e1^2*g1^5+6*b0^2*e0*e1^3*g0^4*g1+2*b0^2*e0*e1^3*g0^3*g1^2+2*b0^2*e0*e1^3*g0^2*g1^3+6*b0^2*e0*e1^3*g0*g1^4+2*b0^2*e1^4*g0^3*g1^2+2*b0^2*e1^4*g0^2*g1^3+4*b0*b1*e0^4*g0^4*g1+4*b0*b1*e0^4*g0*g1^4+4*b0*b1*e0^3*e1*g0^5+12*b0*b1*e0^3*e1*g0^3*g1^2+12*b0*b1*e0^3*e1*g0^2*g1^3+4*b0*b1*e0^3*e1*g1^5+16*b0*b1*e0^2*e1^2*g0^4*g1+8*b0*b1*e0^2*e1^2*g0^3*g1^2+8*b0*b1*e0^2*e1^2*g0^2*g1^3+16*b0*b1*e0^2*e1^2*g0*g1^4+4*b0*b1*e0*e1^3*g0^5+12*b0*b1*e0*e1^3*g0^3*g1^2+12*b0*b1*e0*e1^3*g0^2*g1^3+4*b0*b1*e0*e1^3*g1^5+4*b0*b1*e1^4*g0^4*g1+4*b0*b1*e1^4*g0*g1^4+2*b1^2*e0^4*g0^3*g1^2+2*b1^2*e0^4*g0^2*g1^3+6*b1^2*e0^3*e1*g0^4*g1+2*b1^2*e0^3*e1*g0^3*g1^2+2*b1^2*e0^3*e1*g0^2*g1^3+6*b1^2*e0^3*e1*g0*g1^4+4*b1^2*e0^2*e1^2*g0^5+8*b1^2*e0^2*e1^2*g0^3*g1^2+8*b1^2*e0^2*e1^2*g0^2*g1^3+4*b1^2*e0^2*e1^2*g1^5+6*b1^2*e0*e1^3*g0^4*g1+2*b1^2*e0*e1^3*g0^3*g1^2+2*b1^2*e0*e1^3*g0^2*g1^3+6*b1^2*e0*e1^3*g0*g1^4+2*b1^2*e1^4*g0^3*g1^2+2*b1^2*e1^4*g0^2*g1^3, b0^2*e0^4*g0^3*g1^2+b0^2*e0^4*g0^2*g1^3+3*b0^2*e0^3*e1*g0^4*g1+b0^2*e0^3*e1*g0^3*g1^2+b0^2*e0^3*e1*g0^2*g1^3+3*b0^2*e0^3*e1*g0*g1^4+2*b0^2*e0^2*e1^2*g0^5+4*b0^2*e0^2*e1^2*g0^3*g1^2+4*b0^2*e0^2*e1^2*g0^2*g1^3+2*b0^2*e0^2*e1^2*g1^5+3*b0^2*e0*e1^3*g0^4*g1+b0^2*e0*e1^3*g0^3*g1^2+b0^2*e0*e1^3*g0^2*g1^3+3*b0^2*e0*e1^3*g0*g1^4+b0^2*e1^4*g0^3*g1^2+b0^2*e1^4*g0^2*g1^3+2*b0*b1*e0^4*g0^3*g1^2+2*b0*b1*e0^4*g0^2*g1^3+2*b0*b1*e0^3*e1*g0^5+6*b0*b1*e0^3*e1*g0^3*g1^2+6*b0*b1*e0^3*e1*g0^2*g1^3+2*b0*b1*e0^3*e1*g1^5+12*b0*b1*e0^2*e1^2*g0^4*g1+12*b0*b1*e0^2*e1^2*g0*g1^4+2*b0*b1*e0*e1^3*g0^5+6*b0*b1*e0*e1^3*g0^3*g1^2+6*b0*b1*e0*e1^3*g0^2*g1^3+2*b0*b1*e0*e1^3*g1^5+2*b0*b1*e1^4*g0^3*g1^2+2*b0*b1*e1^4*g0^2*g1^3+b1^2*e0^4*g0^3*g1^2+b1^2*e0^4*g0^2*g1^3+3*b1^2*e0^3*e1*g0^4*g1+b1^2*e0^3*e1*g0^3*g1^2+b1^2*e0^3*e1*g0^2*g1^3+3*b1^2*e0^3*e1*g0*g1^4+2*b1^2*e0^2*e1^2*g0^5+4*b1^2*e0^2*e1^2*g0^3*g1^2+4*b1^2*e0^2*e1^2*g0^2*g1^3+2*b1^2*e0^2*e1^2*g1^5+3*b1^2*e0*e1^3*g0^4*g1+b1^2*e0*e1^3*g0^3*g1^2+b1^2*e0*e1^3*g0^2*g1^3+3*b1^2*e0*e1^3*g0*g1^4+b1^2*e1^4*g0^3*g1^2+b1^2*e1^4*g0^2*g1^3, 2*b0^2*e0^4*g0^3*g1^2+2*b0^2*e0^4*g0^2*g1^3+2*b0^2*e0^3*e1*g0^4*g1+6*b0^2*e0^3*e1*g0^3*g1^2+6*b0^2*e0^3*e1*g0^2*g1^3+2*b0^2*e0^3*e1*g0*g1^4+4*b0^2*e0^2*e1^2*g0^4*g1+8*b0^2*e0^2*e1^2*g0^3*g1^2+8*b0^2*e0^2*e1^2*g0^2*g1^3+4*b0^2*e0^2*e1^2*g0*g1^4+2*b0^2*e0*e1^3*g0^4*g1+6*b0^2*e0*e1^3*g0^3*g1^2+6*b0^2*e0*e1^3*g0^2*g1^3+2*b0^2*e0*e1^3*g0*g1^4+2*b0^2*e1^4*g0^3*g1^2+2*b0^2*e1^4*g0^2*g1^3+4*b0*b1*e0^4*g0^4*g1+4*b0*b1*e0^4*g0*g1^4+4*b0*b1*e0^3*e1*g0^4*g1+12*b0*b1*e0^3*e1*g0^3*g1^2+12*b0*b1*e0^3*e1*g0^2*g1^3+4*b0*b1*e0^3*e1*g0*g1^4+24*b0*b1*e0^2*e1^2*g0^3*g1^2+24*b0*b1*e0^2*e1^2*g0^2*g1^3+4*b0*b1*e0*e1^3*g0^4*g1+12*b0*b1*e0*e1^3*g0^3*g1^2+12*b0*b1*e0*e1^3*g0^2*g1^3+4*b0*b1*e0*e1^3*g0*g1^4+4*b0*b1*e1^4*g0^4*g1+4*b0*b1*e1^4*g0*g1^4+2*b1^2*e0^4*g0^3*g1^2+2*b1^2*e0^4*g0^2*g1^3+2*b1^2*e0^3*e1*g0^4*g1+6*b1^2*e0^3*e1*g0^3*g1^2+6*b1^2*e0^3*e1*g0^2*g1^3+2*b1^2*e0^3*e1*g0*g1^4+4*b1^2*e0^2*e1^2*g0^4*g1+8*b1^2*e0^2*e1^2*g0^3*g1^2+8*b1^2*e0^2*e1^2*g0^2*g1^3+4*b1^2*e0^2*e1^2*g0*g1^4+2*b1^2*e0*e1^3*g0^4*g1+6*b1^2*e0*e1^3*g0^3*g1^2+6*b1^2*e0*e1^3*g0^2*g1^3+2*b1^2*e0*e1^3*g0*g1^4+2*b1^2*e1^4*g0^3*g1^2+2*b1^2*e1^4*g0^2*g1^3, b0^2*e0^4*g0^4*g1+b0^2*e0^4*g0*g1^4+b0^2*e0^3*e1*g0^5+3*b0^2*e0^3*e1*g0^3*g1^2+3*b0^2*e0^3*e1*g0^2*g1^3+b0^2*e0^3*e1*g1^5+4*b0^2*e0^2*e1^2*g0^4*g1+2*b0^2*e0^2*e1^2*g0^3*g1^2+2*b0^2*e0^2*e1^2*g0^2*g1^3+4*b0^2*e0^2*e1^2*g0*g1^4+b0^2*e0*e1^3*g0^5+3*b0^2*e0*e1^3*g0^3*g1^2+3*b0^2*e0*e1^3*g0^2*g1^3+b0^2*e0*e1^3*g1^5+b0^2*e1^4*g0^4*g1+b0^2*e1^4*g0*g1^4+2*b0*b1*e0^4*g0^5+2*b0*b1*e0^4*g1^5+6*b0*b1*e0^3*e1*g0^4*g1+2*b0*b1*e0^3*e1*g0^3*g1^2+2*b0*b1*e0^3*e1*g0^2*g1^3+6*b0*b1*e0^3*e1*g0*g1^4+12*b0*b1*e0^2*e1^2*g0^3*g1^2+12*b0*b1*e0^2*e1^2*g0^2*g1^3+6*b0*b1*e0*e1^3*g0^4*g1+2*b0*b1*e0*e1^3*g0^3*g1^2+2*b0*b1*e0*e1^3*g0^2*g1^3+6*b0*b1*e0*e1^3*g0*g1^4+2*b0*b1*e1^4*g0^5+2*b0*b1*e1^4*g1^5+b1^2*e0^4*g0^4*g1+b1^2*e0^4*g0*g1^4+b1^2*e0^3*e1*g0^5+3*b1^2*e0^3*e1*g0^3*g1^2+3*b1^2*e0^3*e1*g0^2*g1^3+b1^2*e0^3*e1*g1^5+4*b1^2*e0^2*e1^2*g0^4*g1+2*b1^2*e0^2*e1^2*g0^3*g1^2+2*b1^2*e0^2*e1^2*g0^2*g1^3+4*b1^2*e0^2*e1^2*g0*g1^4+b1^2*e0*e1^3*g0^5+3*b1^2*e0*e1^3*g0^3*g1^2+3*b1^2*e0*e1^3*g0^2*g1^3+b1^2*e0*e1^3*g1^5+b1^2*e1^4*g0^4*g1+b1^2*e1^4*g0*g1^4]: # Substitutions based on the model P := P0: P := subs(b0 = 1-b1, P): P := subs(e0 = 1-e1, P): P := subs(g0 = 1-g1, 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([ q3*q6-q2*q7, q4*q5-q2*q7, q3*q5-q1*q7, q2*q5-q1*q6, q2*q3-q1*q4]): # 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: