# CASA Function: msolveGB

Compute a basis for the module of syzygies.

### Calling Sequence:

• S := msolveGB(F, b, X)
• S := msolveGB(F, b, X, torder1)
• S := msolveGB(F, b, X, torder1, torder2)

### Parameters:

F : list(list(polynom(rational)))
• A list of polynomial tuples.
b : list(polynom(rational))
• A polynomial tuple. (The right-hand-side of the linear system.)
X : list(name)
• A list of indeterminates.
torder1 : name
• A power-product-tuple ordering. Either term (for term first) or index (for index first - default).
torder2 : name
• A power-product ordering. Either plex (for pure lexicographic) or tdeg (for total degree - default).

### Result:

S : [list(polynom(rational)), list(list(polynom(rational)))]
• A particular solution and a basis for the module of syzygies of the linear system F * x = b.

### Description:

• The command msolveGB(F, b, X, torder1, torder2) computes a basis for the module of syzygies using the extended Groebner-basis-algorithm as described in [2] (Alg.9 + Alg.13). The procedure returns a list with two elements: the first element is a particular solution, the second one is a basis for the module of syzygies (represented as a list).
• The polynomial tuples in F are represented as lists of polynomials.
• The variable F is interpreted as a matrix, e.g. F := [[f11,f21],[f12,f22],[f13,f23]] is a matrix with two rows and three columns.
• If X has the form [x1, x2, ..., xn], then using the pure lexicographic ordering this is interpreted as x1 > x2 > ... > xn. Within the total degree ordering, ties are broken by inverse lexicographic order.

### Examples:

> F := [[x^3-y,-x+y],[x*y-1,x^3-1],[-x+y^2,y-1]]:

> S:=msolveGB(F,[0,0],[x,y]):

> nops(S[2]);

> mgbasis(S[2],[x,y]);

> msolveGB(F,[x*y^2-y^2,-x^5+x^2-x+y^2],[x,y],term,tdeg);