# Singular

##### 7.7.13.0. facShift
Procedure from library `ncfactor.lib` (see ncfactor_lib).

Usage:
facShift(h); h a polynomial in the n'th shift algebra

Return:
list

Purpose:
compute all factorizations of a polynomial in the nth shift algebra

Theory:
h is mapped to the \$n\$th Weyl algebra and then factorized there. The factorizations are mapped back (S_n in subalgebra of Weyl algebra).

Assume:
basering is the nth shift algebra

Note:
Every entry of the output list is a list with factors for one possible factorization.

Example:
 ```LIB "ncfactor.lib"; ring R = 0,(x1,x2,s1,s2),dp; matrix C[4][4] = 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1; matrix D[4][4] = 0,0,s1,0, 0,0,0,s2, -s1,0,0,0, 0,-s2,0,0; def r = nc_algebra(C,D); setring(r); poly h = x1*(x1+1)*s1^2-2*x1*(x1+100)*s1+(x1+99)*(x1+100); facShift(h); ==> [1]: ==> [1]: ==> 1 ==> [2]: ==> x1*s1-x1+s1-100 ==> [3]: ==> x1*s1-x1-s1-99 ==> [2]: ==> [1]: ==> 1 ==> [2]: ==> x1*s1-x1-100 ==> [3]: ==> x1*s1-x1-99 ==> [3]: ==> [1]: ==> 1 ==> [2]: ==> x1*s1-x1-99 ==> [3]: ==> x1*s1-x1-100 ```