# CASA Function: mgbasisx

Compute the normed reduced Groebner basis along with the transformation matrix.

### Calling Sequence:

- GB := mgbasisx(F, G, GX, X)
- GB := mgbasisx(F, G, GX, X, torder1)
- GB := mgbasisx(F, G, GX, X, torder1, torder2)

### Parameters:

- F : list(list(polynom(rational)))
- A list of polynomial tuples.

- G : list(list(polynom(rational)))
- The normed reduced Groebner basis (output).

- GX : list(list(polynom(rational)))
- The transformation matrix (output), i.e. GX * F = G.

- 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:

- GB : list(list(polynom(rational)))
- The normed reduced Groebner basis of F.

### Description:

- The command mgbasisx(F, G, GX, X, torder1, torder2) computes the normed reduced Groebner basis of F with respect to the indeterminates X and the given orderings. The result is also returned in the variable G. In GX the transformation matrix is stored. The algorithm used in mgbasisx is basically the same as the one used in mgbasis, except that the reduction steps are stored to get the transformation matrix GX.
- The polynomial tuples in F are represented as lists of polynomials.
- 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*y-1,x+2],[y^2+x+1,y-1]]:**

`> ` **mgbasisx(F,'G','GX',[x,y]):**

`> ` **G;**

`> ` **GX;**

`> ` **mgbasisx(F,'G','GX',[y,x],term,plex):**

`> ` **G;**

`> ` **GX;**

### See Also:

[CASA]
[mgbasis]
[mgbasisx]
[mnormalf]
[msolveGB]
[msolveSP]