HermiteForm - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

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,H`.`U,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,H`.`A,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