LinearAlgebra[Modular]
ZigZag
in place conversion of mod m Matrix to ZigZag form
Calling Sequence
Parameters
Description
Examples
ZigZag(m, A)
m
-
modulus
A
square mod m Matrix
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](..).
with⁡LinearAlgebraModular:
p≔97
A≔Mod⁡p,Matrix⁡5,5,i,j↦ifi≤jthenrand⁡else0endif,integer
A≔7796108658036802244003960390004312000055
A2≔Copy⁡p,A:
ZigZag⁡p,A2:
A2
77100000100000100000104483676
Frobenius⁡A2modp,Frobenius⁡Amodp
0000710001001004900104000156,0000710001001004900104000156
See Also
Frobenius
LinearAlgebra/Details
LinearAlgebra[Modular][Copy]
LinearAlgebra[Modular][Mod]
Download Help Document