#### 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 evaluation of the cell with SHIFT RETURN

User manual for Singular version 4.4.1, 2025, generated by texi2html.