#### D.7.2.7 furtherInvar

Procedure from library `ainvar.lib` (see ainvar_lib).

Usage:
  furtherInvar(m,id,karl,q); m matrix, id,karl ideals, q poly, n int

Assume:
  karl,id,q are invariant under the vector field m,
  moreover, q must be a variable

Return:
  list of two ideals, the first ideal contains further invariants of the vector field

               m = sum m[i,1]*d/dx(i) with respect to id,p,q,

  i.e. we compute elements in the (invariant) subring generated by id which are divisible by q and divide them by q as often as possible. The second ideal contains all invariants given before. If n=1, a different algorithm is chosen which is sometimes faster (default: n=0)

Example:

    LIB "ainvar.lib";
    ring r=0,(x,y,z,u),dp;
    matrix m[4][1];
    m[2,1]=x;
    m[3,1]=y;
    m[4,1]=z;
    ideal id=localInvar(m,z,y,x),localInvar(m,u,y,x);
    ideal karl=id,x;
    list in=furtherInvar(m,id,karl,x);
    in;
    ==> [1]:
    ==>    _[1]=y2z2-8/3xz3-2y3u+6xyzu-3x2u2
    ==> [2]:
    ==>    _[1]=-1/2y2+xz
    ==>    _[2]=1/3y3-xyz+x2u
    ==>    _[3]=x

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