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

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Linear Algebra : Matrix Polynomial Algebra : MatrixPolynomialAlgebra/HermiteForm

MatrixPolynomialAlgebra[HermiteForm] - compute the Hermite normal form of a Matrix (in row or column form)

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:

A:=3+x,4,x21|1,x,4|4,2,1

A:=3+x144x2x2141

(1)

H:=HermiteFormA,x

H:=10776x2+29304x5315201319x2+3176x373800x3+14x2154x432

(2)

H,U:=HermiteFormrowA,x,output='H','U'

H,U:=10776x2+29304x5315201319x2+3176x373800x3+14x2154x432,7304x29304x+3197304x+373047304x376376x2776x+319376x576376x+41914x3+14x+414x2x13414x2+34x1

(3)

mapexpand,HU.A

000000000

(4)

mulHi,i,i=1..3

x3+14x2154x432

(5)

LinearAlgebra[Determinant]A

4x3+x215x86

(6)

lcoeff

x3+14x2154x432

(7)

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

1y0000

(8)

H,U:=HermiteFormcolumnA,x,output='H','U'

H,U:=100010221x2142x221421x2121x2942x3+14x2154x432,221421x+1212122112x112142x421121x+54214x2+34x1

(9)

mapexpand,HA.U

000000000

(10)

mulHi,i,i=1..3

x3+14x2154x432

(11)

LinearAlgebra[Determinant]A

4x3+x215x86

(12)

lcoeff

x3+14x2154x432

(13)

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

001012x0

(14)

See Also

expand, indets, LinearAlgebra[Determinant], LinearAlgebra[RowOperation], map, Matrix, MatrixPolynomialAlgebra, mul


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam