Home Online Manual
Top
Back: ncfactor_lib
Forward: facWeyl
FastBack:
FastForward:
Up: ncfactor_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document
7.7.14.0. ncfactor
Procedure from library ncfactor.lib (see ncfactor_lib).

Usage:
ncfactor(h); h is a polynomial in a non-commutative polynomial algebra over a field k.

Return:
list(list)

Purpose:
Compute all factorizations of h.

Theory:
Implements an ansatz-driven factorization method as outlined by Bell, Heinle and Levandovskyy in "On Noncommutative Finite Factorization Domains".

Assume:
- k is a ring, such that factorize can factor any univariate and multivariate commutative polynomial over k.
- There exists at least one variable in the ring.

Note:
- Every entry of the output list is a list with factors for one possible factorization. The first factor is always a constant (1, if no nontrivial constant could be excluded).

Example:
 
LIB "ncfactor.lib";
def R = makeUsl2();
setring(R);
poly p = e^3*f+e^2*f^2-e^3+e^2*f+2*e*f^2-3*e^2*h-2*e*f*h-8*e^2
+e*f+f^2-4*e*h-2*f*h-7*e+f-h;
ncfactor(p);
==> [1]:
==>    [1]:
==> 1
==>    [2]:
==>       e+1
==>    [3]:
==>       ef-e+f-2h-3
==>    [4]:
==>       e+f
==> [2]:
==>    [1]:
==> 1
==>    [2]:
==>       e2f+ef2-e2+f2-2eh-3e-f-2h
==>    [3]:
==>       e+1
See also: facSubWeyl; facWeyl; testNCfac.