#Author := Ayoola Jinadu # If you find a bug in the code please email me at ajinadu@sfu.ca # The polynomial system is from Duane Storti, University of Washington Sys:= [ -1 + x1^2 + 4*y1^2, -r^2 + (x1-x0)^2 + (y1-y0)^2, x1*y0-4*x0*y1 + 3*x1*y1, -1+x2^2+4*y2^2, -r^2 + (x2-x0)^2 + (y2-y0)^2, x2*y0 - 4*x0*y2 + 3*x2*y2, - 1 + k*((x2-x1)^2 + (y2-y1)^2) ]: Variables := [x1,y1,x2,y2,k,r]; Parameters := [x0,y0]; read dixon; read minor; read det; read newdeg; read nextprime; read Bmbot; read dixres; with(LinearAlgebra): #Eliminate := [x1,y1,x2,y2,k,r]; elim := [x1,y1,x2,y2,k,r]; M := dixonmatrix( Sys, elim ): rank,rows,cols := minor(M); printf(" rank = %d\n", rank ): B := M[rows,cols]: # extract minor L := StronglyConnectedBlocks(B): BlockStructure = map(RowDimension,L); X := [x0,y0]; # Here x0 is the main variable R := convert(L[1],listlist): rt := [R,X,RowDimension(R)]: n := rt[3]; deg_M := [seq( max(seq(seq(degree(rt[1][i][j],var),i=1..n),j=1..n)), var in X )]; GlobalCArray := Array(0..n-1,0..n-1,order=C_order,datatype=integer[8]): E := DixonRes(BB,X); nops( expand (E) );