linalg(deprecated)/hermite - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Mozilla Firefox.

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.

> 

with⁡linalg:

> 

H≔inverse⁡hilbert⁡2,x

H≔−−3+x2⁢−2+x−3+x⁢−2+x⁢−4+x−3+x⁢−2+x⁢−4+x−−3+x2⁢−4+x

(1)
> 

hermite⁡H,x

x2−5⁢x+600x2−7⁢x+12

(2)
> 

H≔matrix⁡3,3,1,x,x2,x3+2⁢x−1,0,1,1,x−1,x2+1

H≔1xx2x3+2⁢x−1011x−1x2+1

(3)
> 

hermite⁡H,x

10x2+x01−100x5+x4+2⁢x3+x2−x−1

(4)

To obtain the column form of HNF for H do

> 

transpose⁡hermite⁡transpose⁡H,x

100010−x4−x3−2⁢x2−x+2x+1x5+x4+2⁢x3+x2−x−1

(5)
> 

A≔matrix⁡2,3,x+1,x2+1,2⁢x−1,x+2,x2+x,x−2:

> 

B≔hermite⁡A,x,U

B≔10−12⁢x2−12⁢x⁢2⁢x−1+x22+12⁢−2+x01x2+1⁢2⁢x−1+−x2−12⁢−2+x

(6)
> 

eval⁡U

−12⁢x2−12⁢xx22+12x2+1−x2−12

(7)
> 

map⁡normal,evalm⁡U&*A−B

000000

(8)

See Also

Hermite

linalg(deprecated)[ihermite]

linalg(deprecated)[smith]

LinearAlgebra

LinearAlgebra[HermiteForm]

Smith