# Singular

#### D.9.1.1 staircase

Procedure from library `graphics.lib` (see graphics_lib).

Usage:
staircase(s,I); s a string, I ideal in two variables

Return:
string with Mathematica input for displaying staircase diagrams of an ideal I, i.e. exponent vectors of the initial ideal of I

Note:
ideal I should be given by a standard basis. Let s="" and copy and paste the result into a Mathematica notebook.

Example:
 ```LIB "graphics.lib"; ring r0 = 0,(x,y),ls; ideal I = -1x2y6-1x4y2, 7x6y5+1/2x7y4+6x4y6; staircase("",std(I)); ==> ==> Show[Graphics[{ ==> {GrayLevel[0.5],Map[Rectangle[#,{9,9}] &, {{2,6},{6,2}}]}, ==> {PointSize[0.03], Map[Point,{{2,6},{6,2}}]}, ==> Table[Circle[{i,j},0.1],{i,0,9},{j,0,9}]}, ==> Axes->True,AspectRatio->Automatic]] ==> ring r1 = 0,(x,y),dp; ideal I = fetch(r0,I); staircase("",std(I)); ==> ==> Show[Graphics[{ ==> {GrayLevel[0.5],Map[Rectangle[#,{12,9}] &, {{2,6},{7,4},{9,2}}]}, ==> {PointSize[0.03], Map[Point,{{2,6},{7,4},{9,2}}]}, ==> Table[Circle[{i,j},0.1],{i,0,12},{j,0,9}]}, ==> Axes->True,AspectRatio->Automatic]] ==> ring r2 = 0,(x,y),wp(2,3); ideal I = fetch(r0,I); staircase("",std(I)); ==> ==> Show[Graphics[{ ==> {GrayLevel[0.5],Map[Rectangle[#,{13,9}] &, {{2,6},{8,3},{10,2},{6,5}}]}, ==> {PointSize[0.03], Map[Point,{{2,6},{8,3},{10,2},{6,5}}]}, ==> Table[Circle[{i,j},0.1],{i,0,13},{j,0,9}]}, ==> Axes->True,AspectRatio->Automatic]] ==> // Paste the output into a Mathematica notebook // active evalutation of the cell with SHIFT RETURN ```