|
D.7.3.10 MinimalDecomposition
Procedure from library rinvar.lib (see rinvar_lib).
- Usage:
- MinimalDecomposition(f,a,b); poly f; int a, b.
- Purpose:
- decompose f as a sum M[1,1]*M[2,1] + ... + M[1,r]*M[2,r] where M[1,i]
contains only s(1..a), M[2,i] contains only t(1...b) s.t. r is minimal
- Assume:
- f polynomial in K[s(1..a),t(1..b)], K = Q or K = Q(a) and minpoly != 0
- Return:
- 2 x r matrix M s.t. f = M[1,1]*M[2,1] + ... + M[1,r]*M[2,r]
Example:
| LIB "rinvar.lib";
ring R = 0, (s(1..2), t(1..2)), dp;
poly h = s(1)*(t(1) + t(1)^2) + (t(2) + t(2)^2)*(s(1)^2 + s(2));
matrix M = MinimalDecomposition(h, 2, 2);
M;
==> M[1,1]=s(1)^2+s(2)
==> M[1,2]=s(1)
==> M[2,1]=t(2)^2+t(2)
==> M[2,2]=t(1)^2+t(1)
M[1,1]*M[2,1] + M[1,2]*M[2,2] - h;
==> 0
|
|