
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

IMPLEMENTATION:
The algorithm is based on the paper: "Theory and Algorithms for 2-D Polynomial Matrix Factorizations" by Ligeng Fan, Dong Lu, Dingkang Wang, and Xiaopeng Zheng.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

PROCEDURES:
1. The "qs" file contains a Maple package called QuillenSuslin which is used to compute free bases of free submodules. Beside it contains a Maple package called Involutive which is used to deal with module operations including the computation of the syzygy module.  Refer to https://who.rocq.inria.fr/Alban.Quadrat/QuillenSuslin/index.html for more details. 

2. The "2D poly matrix factorization.mw" file contains the new algorithm for computing 2 variables polynomial matrix factorization and syzygy module over polynomial ring of two variables. 
For the purpose of comparison, we also implement the algorithm of computing syzygy module proposed by Chen et al. (2005, Journal of Symbolic Computation).
A comparison of three methods computing syzygy module over 2 variables polynomial ring (our new method, the method of Chen et al's,  QuillenSuslin method) based on randomly generated examples  is also presented.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

MAIN FUNCTION:  
newsyzalg(M, svar, tvar)  --- compute the syzygy module in polynomial ring of two variables generated by the column of the matrix M; 


CALLING SEQUENCE:
newsyzalg(M, svar, tvar) 


PARAMETERS:
M ---an n×m matrix whose entries are polynomials of two variables svar and tvar;
svar, tvar ---variables appear in the entries of the matrix M;


OUTPUT: 
the syzygy module generated by the column of the matrix M, we present it in the form of a m×(n-m) matrix F such that the module generated by the columns of F is a basis of the syzygy module.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

--The file "test.txt" contains examples of tests used in the paper (TABLE 1) to demonstrate the computational performance of our new syzygy module algorithm compared with the algorithm proposed by Chen et al. and the program BasisOfKernelModule in package QuillenSuslin which compute the syzygy module using Quillen-Suslin theorem.

