|
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
|
|