File: matint.xml

package info (click to toggle)
gap 4r7p5-2
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 29,272 kB
  • ctags: 7,129
  • sloc: ansic: 107,802; xml: 46,868; sh: 3,548; perl: 2,329; makefile: 740; python: 94; asm: 62; awk: 6
file content (116 lines) | stat: -rw-r--r-- 3,924 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<!-- %% -->
<!-- %A  matint.msk                  GAP documentation            Alexander Hulpke -->
<!-- %A                                                           Thomas Breuer -->
<!-- %A                                                           Rob Wainwright -->
<!-- %% -->
<!-- %A  @(#)<M>Id: matint.msk,v 1.19 2004/01/19 09:52:53 gap Exp </M> -->
<!-- %% -->
<!-- %Y  (C) 1998 School Math and Comp. Sci., University of St Andrews, Scotland -->
<!-- %Y  Copyright (C) 2002 The GAP Group -->
<!-- %% -->
<Chapter Label="Integral matrices and lattices">
<Heading>Integral matrices and lattices</Heading>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Linear equations over the integers and Integral Matrices">
<Heading>Linear equations over the integers and Integral Matrices</Heading>

<#Include Label="NullspaceIntMat">
<#Include Label="SolutionIntMat">
<#Include Label="SolutionNullspaceIntMat">
<#Include Label="BaseIntMat">
<#Include Label="BaseIntersectionIntMats">
<#Include Label="ComplementIntMat">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Normal Forms over the Integers">
<Heading>Normal Forms over the Integers</Heading>

This section describes the computation of the Hermite and Smith normal form
of integer matrices.
<P/>
The Hermite Normal Form (HNF) <M>H</M> of an integer matrix <M>A</M> is
a row equivalent upper triangular form such that all off-diagonal entries
are reduced modulo the diagonal entry of the column they are in.
There exists a unique unimodular matrix <M>Q</M> such that <M>Q A = H</M>. 
<P/>
The Smith Normal Form <M>S</M> of an integer matrix <M>A</M> is
the unique equivalent diagonal form with <M>S_i</M> dividing <M>S_j</M> for
<M>i &lt; j</M>.
There exist unimodular integer matrices <M>P, Q</M> such that <M>P A Q = S</M>.
<P/>
All routines described in this section build on the <Q>workhorse</Q> routine
<Ref Func="NormalFormIntMat"/>.

<#Include Label="TriangulizedIntegerMat">
<#Include Label="TriangulizedIntegerMatTransform">
<#Include Label="TriangulizeIntegerMat">
<#Include Label="HermiteNormalFormIntegerMat">
<#Include Label="HermiteNormalFormIntegerMatTransform">
<#Include Label="SmithNormalFormIntegerMat">
<#Include Label="SmithNormalFormIntegerMatTransforms">
<#Include Label="DiagonalizeIntMat">
<#Include Label="NormalFormIntMat">
<#Include Label="AbelianInvariantsOfList">

<!-- %\ Declaration{DiagonalizeIntMatNormDriven} -->
<!-- %\ Declaration{SNFNormDriven} -->
<!-- %\ Declaration{SNFofREF} -->
<!-- %\ Declaration{HNFNormDriven} -->
 
</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Determinant of an integer matrix">
<Heading>Determinant of an integer matrix</Heading>

<#Include Label="DeterminantIntMat">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Decompositions">
<Heading>Decompositions</Heading>

<#Include Label="[1]{zlattice}">
<#Include Label="Decomposition">
<#Include Label="LinearIndependentColumns">
<#Include Label="PadicCoefficients">
<#Include Label="IntegralizedMat">
<#Include Label="DecompositionInt">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Lattice Reduction">
<Heading>Lattice Reduction</Heading>

<#Include Label="LLLReducedBasis">
<#Include Label="LLLReducedGramMat">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Orthogonal Embeddings">
<Heading>Orthogonal Embeddings</Heading>

<#Include Label="OrthogonalEmbeddings">
<#Include Label="ShortestVectors">

</Section>
</Chapter>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<!-- %% -->
<!-- %E -->