##### 7.5.12.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.

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