# Singular          ##### 7.5.12.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:
Currently, we do not have a specialized algorithm for the shift algebra in this library that takes advantage of the graded structure, hence this function is mapping to the general factorization algorithm for G-Algebras

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 = 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1; matrix D = 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 ==> : ==> x1*s1-x1+s1-100 ==> : ==> x1*s1-x1-s1-99 ==> : ==> : ==> 1 ==> : ==> x1*s1-x1-100 ==> : ==> x1*s1-x1-99 ==> : ==> : ==> 1 ==> : ==> x1*s1-x1-99 ==> : ==> x1*s1-x1-100 ``` 