ZigZag - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Mozilla Firefox.

Online Help

All Products    Maple    MapleSim


LinearAlgebra[Modular]

  

ZigZag

  

in place conversion of mod m Matrix to ZigZag form

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

ZigZag(m, A)

Parameters

m

-

modulus

A

-

square mod m Matrix

Description

• 

The ZigZag function applies a sequence of similarity transformations to the n⁢x⁢n mod m Matrix A to obtain the ZigZag form of A.

  

A ZigZag form is an almost block diagonal structure having fewer than 2⁢n nonzero entries.

• 

A ZigZag form can be used to obtain the Smith normal form and the Frobenius form of a Matrix. The Frobenius form of a Matrix is the same as the Frobenius form of its ZigZag form.

• 

This command is part of the LinearAlgebra[Modular] package, so it can be used in the form ZigZag(..) only after executing the command with(LinearAlgebra[Modular]).  However, it can always be used in the form LinearAlgebra[Modular][ZigZag](..).

Examples

> 

with⁡LinearAlgebraModular:

> 

p≔97

p≔97

(1)
> 

A≔Mod⁡p,Matrix⁡5,5,i,j↦ifi≤jthenrand⁡else0endif,integer

A≔7796108658036802244003960390004312000055

(2)
> 

A2≔Copy⁡p,A:

> 

ZigZag⁡p,A2:

> 

A2

77100000100000100000104483676

(3)
> 

Frobenius⁡A2modp,Frobenius⁡Amodp

0000710001001004900104000156,0000710001001004900104000156

(4)

See Also

Frobenius

LinearAlgebra/Details

LinearAlgebra[Modular]

LinearAlgebra[Modular][Copy]

LinearAlgebra[Modular][Mod]