# Singular

##### 7.5.12.0. homogfacNthQWeyl
Procedure from library `ncfactor.lib` (see ncfactor_lib).

Usage:
homogfacNthQWeyl(h); h is a homogeneous polynomial in the n'th q-Weyl algebra with respect to the weight vector
@ [-1,...,-1,1,...,1].
@ \__ __/ \__ __/ @ \/ \/ @ n/2 n/2

Return:
list

Purpose:
Computes a factorization of a homogeneous polynomial h in the n'th q-Weyl algebra

Theory:
`homogfacNthQWeyl` returns a list with a factorization of the given, [-1,1]-homogeneous polynomial. For every i in 1..n: If the degree of the polynomial in [d_i,x_i] is k with k positive, the last entries in the output list are the second variable. If k is positive, the last k entries will be x_i. The other entries will be irreducible polynomials of degree zero or 1 resp. -1. resp. other variables

General assumptions:
- The basering is the nth Weyl algebra and has the form, that the first n variables represent x1, ..., xn, and the second n variables do represent the d1, ..., dn.
- We have n parameters q_1,..., q_n given.

Example:
 ```LIB "ncfactor.lib"; ring R = (0,q1,q2,q3),(x1,x2,x3,d1,d2,d3),dp; matrix C[6][6] = 1,1,1,q1,1,1, 1,1,1,1,q2,1, 1,1,1,1,1,q3, 1,1,1,1,1,1, 1,1,1,1,1,1, 1,1,1,1,1,1; matrix D[6][6] = 0,0,0,1,0,0, 0,0,0,0,1,0, 0,0,0,0,0,1, -1,0,0,0,0,0, 0,-1,0,0,0,0, 0,0,-1,0,0,0; def r = nc_algebra(C,D); setring(r); poly h =x1*x2^2*x3^3*d1*d2^2+x2*x3^3*d2; homogfacNthQWeyl(h); ==> [1]: ==> 1/(q2) ==> [2]: ==> x1*x2*d1*d2-x1*d1+(q2) ==> [3]: ==> x2 ==> [4]: ==> d2 ==> [5]: ==> x3 ==> [6]: ==> x3 ==> [7]: ==> x3 ```