| Hosted by CoCalc | Download
%auto %default_mode singular_kernel
ring r=0,(x,y,z),ds; ideal i=x^4-y*z^2,x*y-z^3,y^2-x^3*z; // the space curve singularity qhweight(i);
1,2,1
ring r1 = 32003,(x,y,z),ds; int a,b,c,t=11,5,3,0; poly f = x^a+y^b+z^(3*c)+x^(c+2)*y^(c-1)+x^(c-1)*y^(c-1)*z3+ x^(c-2)*y^c*(y^2+t*x)^2; option(noprot); timer=1; ring r2 = 32003,(x,y,z),dp; poly f=imap(r1,f); ideal j=jacob(f); vdim(std(j));
//used time: 0.96 sec 536
ring s = 0, (x1,x2,x3,x4,x5), wp(42,54,58,78,231); ideal i = imap(r,i); i;
i[1]=0 i[2]=0 i[3]=0
ring r=0,(x,y,z),ds; ideal j=(x-z,x^3-y^2); ideal i=(x-y,x^3-z^2); ideal k=intersect(i,j);
minbase(k);
_[1]=xy-y2+xz-yz-z2+x3 _[2]=x2-xy-xz+yz

Note that Sage itself also has a built in singular interface, which is extremely good.

There's both a pexpect interface, which %singular uses as does %singular.eval. and a C++ library interface, which singular(...) uses.

%sage singular
Singular
%sage %singular ring r=0,(x,y,z),ds; ideal i=x^4-y*z^2,x*y-z^3,y^2-x^3*z; // the space curve singularity qhweight(i);
1,2,1
%sage R.<x,y> = QQ[] singular((x+1)*(x-y))
x^2-x*y+x-y