#### D.7.2.6 localInvar

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

Usage:
  localInvar(m,p,q,h); m matrix, p,q,h polynomials

Assume:
  m(q) and h are invariant under the vector field m, i.e. m(m(q))=m(h)=0 h must be a ring variable

Return:
  a polynomial, the invariant polynomial of the vector field

               m = m[1,1]*d/dx(1) +...+ m[n,1]*d/dx(n)

  with respect to p,q,h. It is defined as follows: set inv = p if p is invariant, and else set
  inv = m(q)^N * sum_i=1..N-1{ (-1)^i*(1/i!)*m^i(p)*(q/m(q))^i } where m^N(p) = 0, m^(N-1)(p) != 0; the result is inv divided by h as often as possible

Example:

    LIB "ainvar.lib";
    ring q=0,(x,y,z),dp;
    matrix m[3][1];
    m[2,1]=x;
    m[3,1]=y;
    poly in=localInvar(m,z,y,x);
    in;
    ==> -1/2y2+xz

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