Authors: ℏal Snyder, William A. Stein
Description: Jupyter notebook support/2015-06-04-141749-bokeh.ipynb
%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=0 i=0 i=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);

_=xy-y2+xz-yz-z2+x3 _=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