|
7.7.13.0. facSubWeyl
Procedure from library ncfactor.lib (see ncfactor_lib).
- Usage:
- facSubWeyl(h,[x_1,...,x_n,d_1,...,d_n]); h is a polynomial,
x_i, d_i are variables in the basering for i in {1,...,n}
- Return:
- list(list)
- Assume:
- x_i, d_i are variables of a basering with d_i*x_i = x_i*d_i+1
for i in {1,...,n}.
That is, they generate the copy of the first Weyl algebra in a basering.
Moreover, h is a polynomial in the x_i,d_i only.
If the list of variables is ommitted, this function will try to
figure out itself if h is in a subalgebra that resembles the Weyl
algebra.
This function produces an error if the conditions on the variables
do not line up or if the variables contained in h do not belong to
a subalgebra of the basering that resembles the Weyl algebra.
- Purpose:
- compute factorizations of the polynomial, depending on x_i
and d_i.
Example:
| LIB "ncfactor.lib";
ring r = 0,(x,y,z),dp;
matrix D[3][3]; D[1,3]=-1;
def R = nc_algebra(1,D); // x,z generate Weyl subalgebra
setring R;
poly h = (x^2*z^2+x)*x;
list fact1 = facSubWeyl(h,x,z);
// compare with facFirstWeyl:
ring s = 0,(z,x),dp;
def S = nc_algebra(1,1); setring S;
poly h = (x^2*z^2+x)*x;
list fact2 = facFirstWeyl(h);
map F = R,x,0,z;
list fact1 = F(fact1); // it is identical to list fact2
testNCfac(fact1); // check the correctness again
==> 1
| See also:
facFirstShift;
facFirstWeyl;
testNCfac.
|