linalg(deprecated)/hermite - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.
Our website is currently undergoing maintenance, which may result in occasional errors while browsing. We apologize for any inconvenience this may cause and are working swiftly to restore full functionality. Thank you for your patience.

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : linalg(deprecated)/hermite

linalg(deprecated)

  

hermite

  

Hermite Normal Form (reduced row echelon form)

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

hermite(A, x)

hermite(A, x, U)

Parameters

A

-

rectangular matrix of polynomials in x

x

-

name

U

-

name

Description

• 

Important: The linalg package has been deprecated. Use the superseding command LinearAlgebra[HermiteForm], instead.

  

- For information on migrating linalg code to the new packages, see examples/LinearAlgebraMigration.

• 

The function hermite computes the Hermite Normal Form (reduced row echelon form) of an m by n rectangular matrix of univariate polynomials in x over the field of rational numbers Q, or rational expressions over Q.

• 

In principle this should work for polynomials in x over any field F, i.e. the Euclidean domain F[x], but in practice the code is only as powerful as Maple's normal function.

• 

The Hermite normal form is obtained by doing elementary row operations on A.  This includes interchanging rows, multiplying through a row by a unit, and subtracting a multiple of one row from another.

• 

One can use transposes to obtain the column form of the Hermite Normal Form of a matrix.

• 

In the case of three arguments, the third argument U will be assigned the transformation matrix on output, such that the following holds: hermite(A) = U &* A.

• 

The command with(linalg,hermite) allows the use of the abbreviated form of this command.

Examples

Important: The linalg package has been deprecated. Use the superseding command LinearAlgebra[HermiteForm], instead.

withlinalg:

Hinversehilbert2,x

H3+x22+x3+x2+x4+x3+x2+x4+x3+x24+x

(1)

hermiteH,x

x25x+600x27x+12

(2)

Hmatrix3,3,1,x,x2,x3+2x1,0,1,1,x1,x2+1

H1xx2x3+2x1011x1x2+1

(3)

hermiteH,x

10x2+x01−100x5+x4+2x3+x2x1

(4)

To obtain the column form of HNF for H do

transposehermitetransposeH,x

100010x4x32x2x+2x+1x5+x4+2x3+x2x1

(5)

Amatrix2,3,x+1,x2+1,2x1,x+2,x2+x,x2:

BhermiteA,x,U

B1012x212x2x1+x22+122+x01x2+12x1+x2122+x

(6)

evalU

12x212xx22+12x2+1x212

(7)

mapnormal,evalmU&*AB

000000

(8)

See Also

Hermite

linalg(deprecated)[ihermite]

linalg(deprecated)[smith]

LinearAlgebra

LinearAlgebra[HermiteForm]

Smith