HermiteForm - Maple Help

Online Help

All Products    Maple    MapleSim


MatrixPolynomialAlgebra

  

HermiteForm

  

compute the Hermite normal form of a Matrix (in row or column form)

 

Calling Sequence

Parameters

Description

Option

Examples

Calling Sequence

HermiteForm(A, x, out)

HermiteForm[row](A, x, out)

HermiteForm[column](A, x, out)

Parameters

A

-

Matrix

x

-

name; variable name of the polynomial domain

out

-

(optional) equation of the form output = obj where obj is one of 'H' or 'U', or a list containing one or more of these names; select result objects to compute

Description

• 

The HermiteForm(A, x) and HermiteForm[row](A, x) commands compute the Hermite normal form (row-reduced echelon form) of an m x n rectangular Matrix of univariate polynomials in x over the field of rational numbers Q, or rational expressions over Q, that is, univariate polynomials in x with coefficients in Q(a1,...,an).

• 

The HermiteForm[column](A, x) command computes the Hermite normal form (column-reduced echelon form) of A.

  

The row (column) Hermite normal form is obtained by performing elementary row (column) operations on A. This includes interchanging rows (columns), multiplying a row (column) by a unit, and subtracting a polynomial multiple of one row (column) from another.

  

The number of nonzero rows (columns) of the Hermite Form, H, is the rank of A. If n = m, then i=1nHi,i=normalDeterminantA where normal means unit normal, that is, monic.

Option

• 

The output option (out) determines the content of the returned expression sequence.

  

As determined by the out option, an expression sequence containing one or more of the factors H (the Hermite normal form) or U (the transformation Matrix) is returned. If obj is a list, the objects are returned in the order specified in the list.

  

The returned Matrix objects have the property that H=U·A for row Hermite normal form, and H=A·U for column Hermite normal form.

Examples

withMatrixPolynomialAlgebra:

A3+x,4,x21|1,x,4|4,2,1

A3+x1−44x2x214−1

(1)

HHermiteFormA,x

H10776x2+29304x5315201319x2+3176x373800x3+14x2154x432

(2)

H,UHermiteFormrowA,x,output=H,U

H,U10776x2+29304x5315201319x2+3176x373800x3+14x2154x432,7304x29304x+3197x304+373047x304376376x2776x+3193x765763x76+41914x3+14x+414x2x13414x2+34x1

(3)

mapexpand,HU·A

000000000

(4)

mulHi,i,i=1..3

x3+14x2154x432

(5)

LinearAlgebraDeterminantA

4x3+x215x86

(6)

lcoeff

x3+14x2154x432

(7)

HermiteFormrow0,2,x|0,2y,xy,x

1y0000

(8)

H,UHermiteFormcolumnA,x,output=H,U

H,U100010221x2142x221421x2121x2942x3+14x2154x432,221421x+12121221x2112x42421x21+54214x2+34x1

(9)

mapexpand,HA·U

000000000

(10)

mulHi,i,i=1..3

x3+14x2154x432

(11)

LinearAlgebraDeterminantA

4x3+x215x86

(12)

lcoeff

x3+14x2154x432

(13)

HermiteFormcolumn0,2,x|0,2y,xy,x

0010x20

(14)

See Also

expand

indets

LinearAlgebra[Determinant]

LinearAlgebra[RowOperation]

map

Matrix

MatrixPolynomialAlgebra

mul