#### D.8.3.8 linearpart

Procedure from library `presolve.lib` (see presolve_lib).

Usage:
  linearpart(id); id=ideal/module

Return:
  list of size 2,
  _[1]: generators of id of total degree <= 1
  _[2]: remaining generators of id

Note:
  all variables have degree 1 (independent of ordering of basering)

Example:

    LIB "presolve.lib";
    ring r=0,(x,y,z),dp;
    ideal i=1+x+x2+x3,3,x+3y+5z;
    linearpart(i);
    ==> [1]:
    ==>    _[1]=3
    ==>    _[2]=x+3y+5z
    ==> [2]:
    ==>    _[1]=x3+x2+x+1
    module m=[x,y,z],x*[x3,y2,z],[1,x2,z3,0,1];
    show(linearpart(m));
    ==> // list, 2 element(s):
    ==> [1]:
    ==>    // module, 1 generator(s)
    ==> [x,y,z]
    ==> [2]:
    ==>    // module, 2 generator(s)
    ==> [x4,xy2,xz]
    ==> [1,x2,z3,0,1]

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