#### D.9.1.3 mplot

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

Usage:
  mplot(fname, I [,I1,I2,..,s] ); fname=string; I,I1,I2,..=ideals, s=string representing the plot region.
  Use the ideals I1,I2,.. in order to produce multiple plots (they need to have the same number of entries as I!).

Return:
  string, text with Mathematica commands to display a plot

Note:
  The plotregion is defaulted to -1,1 around zero.
  For implicit given curves enter first the string returned by procedure mathinit into Mathematica in order to load ImplicitPlot. The following conventions for I are used:

        - ideal with 2 entries in one variable means a parametrised plane curve,
        - ideal with 3 entries in one variable means a parametrised space curve,
        - ideal with 3 entries in two variables means a parametrised surface,
        - ideal with 2 entries in two variables means an implicit curve
          given as I[1]==I[2],
        - ideal with 1 entry (or one polynomial) in two variables means
          an implicit curve given as  f == 0,

Example:

    LIB "graphics.lib";
    // ---------  plane curves ------------
    ring rr0 = 0,x,dp; export rr0;
    ==> // ** `rr0` is already global
    ideal I = x3 + x, x2;
    ideal J = x2, -x+x3;
    mplot("",I,J,"-2,2");
    ==>
    ==> ParametricPlot[{{s^3+s,s^2},{s^2,s^3-s}},{s,-2,2},
    ==>  AspectRatio->Automatic];
    ==>
    // Paste the output into a Mathematica notebook
    // active evalutation of the cell with SHIFT RETURN
    // --------- space curves --------------
    I = x3,-1/10x3+x2,x2;
    mplot("",I);
    ==>
    ==> ParametricPlot3D[{{s^3,-1/10*s^3+s^2,s^2}},{s,-1,1},
    ==>  ViewPoint->{1.3,-2.4,2}];
    ==>
    // Paste the output into a Mathematica notebook
    // active evalutation of the cell with SHIFT RETURN
    // ----------- surfaces -------------------
    ring rr1 = 0,(x,y),dp; export rr1;
    ==> // ** `rr1` is already global
    ideal J = xy,y,x2;
    mplot("",J,"-2,1","1,2");
    ==>
    ==> ParametricPlot3D[{{s*t,t,s^2}},{s,-2,1},{t,1,2},
    ==>  Boxed->True, Axes->True, ViewPoint->{1.3,-2.4,2}];
    ==>
    // Paste the output into a Mathematica notebook
    // active evalutation of the cell with SHIFT RETURN
    kill rr0,rr1;

User manual for Singular version 4-0-3, 2016, generated by texi2html.