### 5.1.120 print

`Syntax:`
  `print (` expression `)`
  `print (` expression`, "betti" )`
  `print (` expression`,` format_string `)`
`Type:`
  string
`Purpose:`
  The first form prints the expression.
  The second form prints the graded Betti numbers from a matrix. The Betti numbers are printed in a matrix-like format where the entry in row and column is the minimal number of generators in degree of the -th syzygy module of (the 0th and 1st syzygy module of is and , resp.).
  The last form returns the printed output as a string depending on the format string iwhich determines the format to use to generate the string.

  The following format strings are supported:

  `"%s"`
    returns `string(` expression `)`,
  `"%2s"`
    similar to `"%s"`, except that newlines are inserted after every comma and at the end,
  `"%l"`
    similar to `"%s"`, except that each object is embraced by its type such that it can be directly used for "cutting and pasting",
  `"%2l"`
    similar to `"%l"`, except that newlines are inserted after every comma and at the end,
  `"%;"`
    returns the string equivalent to typing `expression;`
  `"%t"`
    returns the string equivalent to typing `type expression;`
  `"%p"`
    returns the string equivalent to typing `print(expression);`
  `"%b"`
    returns the string equivalent to typing `print(expression, "betti");`
  `"betti"`
    is not a format string.
`Example:`

        ring r=0,(x,y,z),dp;
        module m=[1,y],[0,x+z];
        m;
      ==> m[1]=y*gen(2)+gen(1)
      ==> m[2]=x*gen(2)+z*gen(2)
        print(m);  // the columns generate m
      ==> 1,0,
      ==> y,x+z
        string s=print(m,"%s"); s;
      ==> y*gen(2)+gen(1),x*gen(2)+z*gen(2)
        s=print(m,"%2s"); s;
      ==> y*gen(2)+gen(1),
      ==> x*gen(2)+z*gen(2)
      ==>
        s=print(m,"%l"); s;
      ==> module(y*gen(2)+gen(1),x*gen(2)+z*gen(2))
        s=print(m,"%;"); s;
      ==> m[1]=y*gen(2)+gen(1)
      ==> m[2]=x*gen(2)+z*gen(2)
      ==>
        s=print(m,"%t"); s;
      ==> // m module , rk 2
      ==> m[1]=y*gen(2)+gen(1)
      ==> m[2]=x*gen(2)+z*gen(2)
        s=print(m,"%p"); s;
      ==> 1,0,
      ==> y,x+z
        intmat M=betti(mres(m,0));
        print(M,"betti");
      ==>            0     1
      ==> ------------------
      ==>     0:     1     1
      ==> ------------------
      ==> total:     1     1
      ==>
        list l=r,M;
        s=print(l,"%s"); s;
      ==> (QQ),(x,y,z),(dp(3),C),1,1
        s=print(l,"%2s"); s;
      ==> (QQ),(x,y,z),(dp(3),C),
      ==> 1,1
      ==>
        s=print(l,"%l"); s;
      ==> list("(QQ),(x,y,z),(dp(3),C)",intmat(intvec(1,1 ),1,2))

See Type conversion and casting; betti; dbprint; fprintf; printf; short; sprintf; string type cast; type.

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