// This is a Singular file that shows that there is no such solutions of the // Ernst-Maxwell equations that // \varphi=O(|z-z0|) with non-zero gradient at z0 and E=O(|z-z0|^4) timer=1; option(prot); int tt = timer; int k=5; int n=2; ring R = 0,(a(6..9),b(6..9),c(2..9),d(2..9),rho0,w,z),dp; poly E; E=0; poly F; F=0; // Taylor expansion of \varphi poly Phi; Phi=z+c(2)*w+c(3)*z^2+c(4)*w^2+c(5)*z*w+c(6)*z^3+c(7)*z^2*w+c(8)*z*w^2+c(9)*w^3; poly Alpha; Alpha=w+d(2)*z+d(3)*w^2+d(4)*z^2+d(5)*w*z+d(6)*w^3+d(7)*w^2*z+d(8)*w*z^2+d(9)*z^3; // Ernst-Maxwell equations // (only the second equation is nontrivial in this order) poly EM1 = (E+F+2*Alpha*Phi)*(2*(2*rho0+z+w)*diff(diff(E,w),z)+diff(E,z)+diff(E,w))-4*(2*rho0+z+w)*(diff(E,z)*diff(E,w)+Alpha*(diff(E,z)*diff(Phi,w)+diff(E,w)*diff(Phi,z))); poly EM1c = (E+F+2*Alpha*Phi)*(2*(2*rho0+z+w)*diff(diff(F,z),w)+diff(F,w)+diff(F,z))-4*(2*rho0+z+w)*(diff(F,w)*diff(F,z)+Phi*(diff(F,w)*diff(Alpha,z)+diff(F,z)*diff(Alpha,w))); poly EM2 = Phi*(2*(2*rho0+z+w)*diff(diff(Phi,w),z)+diff(Phi,z)+diff(Phi,w))-2*(2*rho0+z+w)*(2*diff(Phi,z)*diff(Phi,w)); poly EM2c = Alpha*(2*(2*rho0+z+w)*diff(diff(Alpha,z),w)+diff(Alpha,w)+diff(Alpha,z))-2*(2*rho0+z+w)*(2*diff(Alpha,w)*diff(Alpha,z)); poly f=-(E+F+2*Alpha*Phi)/2; intvec v=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1; EM1=jet(EM1,n,v); EM1c=jet(EM1c,n,v); EM2=jet(EM2,n,v); EM2c=jet(EM2c,n,v); EM1; matrix C1 = coef(EM1,zw); matrix C1c = coef(EM1c,zw); matrix C2 = coef(EM2,zw); matrix C2c = coef(EM2c,zw); ideal C; ideal Co = C1[2,1..1]; C= ideal(Co); Co = C2[2,1..6]; C=C + ideal(Co); Co = C1c[2,1..1]; C=C + ideal(Co); Co = C2c[2,1..6]; C=C + ideal(Co); ring R2 = 0,(a(6..9),b(6..9),c(2..9),d(2..9),rho0),dp; ideal C = imap(R,C); "-----------------C-----------------------"; C; // ideal gC = groebner(C); // "dimension:",dim(gC); //size(gC); //gC; LIB "primdec.lib"; list mpr = minAssGTZ(C); ""; "used time:",timer-tt, "sec"; "used memory:", memory(2) / (1024*1024), "MB"; ""; // 0=1, hence there are no solutions! mpr; "test C:"; int l; int i; for (i=1; i<=size(mpr); i++) { l= l+size(reduce(C,std(mpr[i]))); } l;