Skip to content

Commit f33cb2c

Browse files
committed
Polishing under way, sections 1.1 and 1.3 ok, section 1.2 needs a bit more work
1 parent 1d0fcdf commit f33cb2c

1 file changed

Lines changed: 133 additions & 53 deletions

File tree

source/ch-invarianttheory.ptx

Lines changed: 133 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,34 @@
33
<title>Invariant Theory</title>
44
<introduction>
55
<p>
6-
This chapter is co-authored by Francesca Gandini, Sumner Strom, Al Ashir Intisar
6+
This chapter is co-authored by Francesca Gandini, Sumner Strom, Al Ashir Intisar.
7+
In this chapter we will present an overview of the theory behind the algorithms implemented in the <url href="https://www.macaulay2.com/doc/Macaulay2/share/doc/Macaulay2/InvariantRing/html/index.html">InvariantRing</url> software package
8+
in the open-source Computer Algebra System <url href="http://www2.macaulay2.com">Macaulay2 (M2)</url>.
9+
</p>
10+
11+
<p>
12+
You can access an online version of this chapter with live code cell at <url href="https://fragandi.github.io/CURITutorialDevelopment2025/"></url>.
13+
There you can also learn how to set up a virtual machine on Github with Codespaces so that you write and run M2 code from anywhere.
14+
A turn-key repository for creating a Codespace
15+
<!-- (<xref ref="sec-codespaces"/>) -->
16+
for Macaulay2 is available at
17+
<url href="https://github.com/fragandi/M2-codespace">fragandi/M2-codespace</url>.
18+
</p>
19+
<p>
20+
We also include some background on orbit sums necessary to implement an algorithm to compute invariants for permutations actions.
21+
We have worked with a group of collaborators on the first version of the code for this algorithm at the Macaulay2 Workshop at Tulane University in April 2025
22+
and plan to further test it and release it with Macaulay2 in Fall 2025.
23+
</p>
24+
<p>
25+
We finish the chapter with a selection of examples that illustrate the current capabilities of the InvariantRing package.
26+
You can run the provided code in your local installation of M2 or go to the online version and execute the code cells on your browser.
27+
Works well even on mobile devices!
728
</p>
829
</introduction>
930

10-
<section xml:id="sec-invariantrings-theory">
11-
<title>Invariant Theory</title>
12-
<subsection xml:id="subsec-introduction">
31+
<section xml:id="sec-invariantrings">
32+
<title>A concrete introduction to invariant rings</title>
33+
<!-- <subsection xml:id="subsec-introduction">
1334
<title>Introduction to invariant theory</title>
1435
<p>
1536
With our research we also had a large focus on making the theory behind invariant rings accessible
@@ -18,52 +39,80 @@ This chapter is co-authored by Francesca Gandini, Sumner Strom, Al Ashir Intisar
1839
within invariant rings.
1940
2041
</p>
21-
</subsection>
42+
</subsection> -->
2243
<subsection xml:id="subsec-finite-matrix-groups">
2344
<title>Finite Matrix Groups</title>
24-
<p>Example:
45+
<p>
46+
We can think of a (linear) action of a group on a vector space
47+
concretely by interpreting each group element as a matrix and describing the action as matrix multiplication on vectors.
48+
We can then evaluate any polynomial on a vector and its image after the action.
49+
</p>
50+
<example>
51+
<p>
2552
Consider <me>M = \begin{pmatrix}
2653
1 \amp 0 \\
2754
0 \amp -1 \\
2855
\end{pmatrix} </me> and the vector <m>\bar x = \begin{pmatrix} x\\ y\\ \end{pmatrix}</m>
29-
This gives <m>M \bar x = \begin{bmatrix}
56+
This gives <m>M \bar x = \begin{pmatrix}
3057
x \\
3158
-y \\
32-
\end{bmatrix}</m>. Thus for the polynomial <me> f(\bar x) = f(\begin{bmatrix}
59+
\end{pmatrix}</m>. Thus for the polynomial <me> f(\bar x) = f(\begin{pmatrix}
3360
x \\
3461
y \\
35-
\end{bmatrix}) = x+y</me> and we have, <me>f(M\bar x) = f(\begin{bmatrix}
62+
\end{pmatrix}) = x+y</me> and we have, <me>f(M\bar x) = f(\begin{pmatrix}
3663
x \\
3764
-y \\
38-
\end{bmatrix})= x-y</me>.
65+
\end{pmatrix})= x-y</me>.
3966

4067
</p>
41-
<p>
42-
<definition><p> <m>G \leq GL_m(\mathbb{K}), |G| &lt; \infty</m>, then <m>G</m> is a finite matrix group.
68+
</example>
69+
<p>
70+
More formally, for <m> G </m> a finite group we will consider a linear representation of <m> G </m>
71+
via its action on a finite dimensional vector space <m>V </m> over a field <m>K </m> of characteristics zero.
72+
In general, most of the results in this chapter hold in the non-modular case
73+
i.e., when the characteristics of the field does not divide the order of the group.
74+
However finite fields are not fully supported by the current version of the InvariantRing package
75+
and the development of such functionalities is an active area of development.
76+
</p>
77+
78+
<p>
79+
If <m> V </m> is faithful representation of <m> G </m> of dimension <m> m</m>, the image of the representation is isomorphic to <m> G </m>
80+
and so we consider <m> G </m> as a finite <term>matrix group</term>.
81+
</p>
82+
83+
<definition><p> Suppose <m>|G| &lt; \infty</m> and <m>G \leq GL_m(\mathbb{K})</m>, then <m>G</m> is a finite matrix group.
4384

4485
</p></definition>
45-
</p>
46-
<p>
47-
NOTE: An action of a finite group <m>G \curvearrowright \mathbb{K}^n</m> given a realization of <m>G</m> as a finite matrix group. </p><p>
48-
Example: <me>\left\langle \begin{bmatrix}
86+
<example>
87+
<p>
88+
Let us consider a two-dimesional representation of <m>C_2</m>, the cyclic group of order 2. <me>\left\langle \begin{pmatrix}
4989
1 \amp 0 \\
5090
0 \amp -1 \\
51-
\end{bmatrix} \right\rangle = \{ \begin{bmatrix}
91+
\end{pmatrix} \right\rangle = \left\{ \begin{pmatrix}
5292
1 \amp 0 \\
5393
0 \amp -1 \\
54-
\end{bmatrix},\begin{bmatrix}
94+
\end{pmatrix},\begin{pmatrix}
5595
1 \amp 0 \\
5696
0 \amp 1 \\
57-
\end{bmatrix}\} \cong C_2</me>
97+
\end{pmatrix} \right \} \cong C_2</me>
5898
</p>
99+
</example>
59100
</subsection>
101+
102+
60103
<subsection xml:id="subsec-invariant-rings">
61104
<title>Invariant Rings</title>
62-
<p>
63-
Notation <m>\bar x = (x_1, x_2,..., x_n)</m>, with <m>R = \mathbb{K}[x_1,x_2,...,x_n]</m>
64-
<definition> <p> <m>G</m> is a finite matrix group within <m>GL_m(\mathbb{K})</m> when
65-
<m>f\in \mathbb{K}[x_1,x_2,...,x_n]</m> is invariant under the action of <m>G</m> if and only if
66-
<m>f(A\bar x) = f(\bar x)</m>, <m>\forall A \in G</m>.
105+
<p> We will work with a polynomial ring in <m>n</m> variables over the field <m>\mathbb{K}</m>.
106+
We use the
107+
notation <m>\bar x = (x_1, x_2,..., x_n)</m> and abuse it by saying <m>\mathbb{K}[x_1,x_2,...,x_n]=\mathbb{K}[\bar x]</m> and
108+
<m>f(x_1,x_2,...,x_n)=f(\bar x)</m> for <m>f \in R = \mathbb{K}[\bar x]</m>.
109+
110+
<definition> <p> Let <m>G</m> be a finite matrix group within <m>GL_n(\mathbb{K})</m>. We say that
111+
<m>f\in \mathbb{K}[\bar x]</m> is invariant under the action of <m>G</m> if and only if
112+
<me>
113+
f(A\bar x) = f(\bar x),
114+
</me>
115+
for all <m>A \in G</m>.
67116
</p></definition>
68117
</p><p>
69118
Ex. <m>f(\bar x)=x</m> and <m>f(\bar x) = x +y^2</m> in <m>\mathbb{K}[x_1,x_2,...,x_n]</m> is invariant under <me>C_2 = \left\langle\begin{bmatrix}
@@ -94,6 +143,10 @@ However <m>f(\bar x)=x+y</m> is not.
94143

95144
</p>
96145
</subsection>
146+
</section>
147+
148+
<section xml:id="sec-degree-bounds-algorithms">
149+
<title>Degree bounds and algorithms</title>
97150
<subsection xml:id="subsec-noether-degree-bound">
98151
<title>Nöether Degree Bound(NDB)</title>
99152
<p>
@@ -316,26 +369,54 @@ representations on.
316369

317370

318371
</subsection>
372+
</section>
319373

320-
<subsection xml:id="subsec-references">
321-
<title>References</title>
322-
<p>
323-
Mara D. Neusel, Texas Tech University, Lubbock, TX. Publication: The Student Mathematical Library. Publication Year 2007: Volume 36
324-
. ISBNs: 978-0-8218-4132-7 (print); 978-1-4704-2147-2 (online)
325-
. DOI: http://dx.doi.org/10.1090/stml/036
326374

375+
<section xml:id="sec-invariantrings-packages">
376+
<title>InvariantRings package </title>
377+
<p>
378+
379+
We conclude with references to the algorithms implemented in the InvariantRing package and examples of its implementation.
380+
Version 2.0 of this package was accepted for publication in volume 14 of Journal of Software for Algebra and Geometry on 2023-09-14, in the article The InvariantRing package for Macaulay2
381+
(DOI: 10.2140/jsag.2024.14.5). That version can be obtained from the journal or from the Macaulay2 source code repository.
382+
</p>
383+
384+
385+
<subsection xml:id="subsec-references">
386+
<title>References for the implemented algorithms</title>
387+
388+
<ul>
389+
<li>
390+
<p> An elimination theory algorithm that computes the Hilbert ideal for any linearly reductive group: Derksen, H. and Kemper, G. (2015). Computational Invariant Theory. Heidelberg: Springer. Algorithm 4.1.9, pp 159-164
391+
</p>
392+
</li>
393+
<li>
394+
<p>A simple and efficient algorithm for invariants of tori based on: Derksen, H. and Kemper, G. (2015). Computational Invariant Theory. Heidelberg: Springer. Algorithm 4.3.1 pp 174-177
395+
</p>
396+
</li>
397+
<li>
398+
<p>An adaptation of the tori algorithm for invariants of finite abelian groups based on: Gandini, F. Ideals of Subspace Arrangements. Thesis (Ph.D.)-University of Michigan. 2019. ISBN: 978-1392-76291-2. pp 29-34.
327399
</p>
328-
<p> An elimination theory algorithm that computes the Hilbert ideal for any linearly reductive group: Derksen, H. and Kemper, G. (2015). Computational Invariant Theory. Heidelberg: Springer. Algorithm 4.1.9, pp 159-164
329-
</p><p>A simple and efficient algorithm for invariants of tori based on: Derksen, H. and Kemper, G. (2015). Computational Invariant Theory. Heidelberg: Springer. Algorithm 4.3.1 pp 174-177
330-
</p><p>An adaptation of the tori algorithm for invariants of finite abelian groups based on: Gandini, F. Ideals of Subspace Arrangements. Thesis (Ph.D.)-University of Michigan. 2019. ISBN: 978-1392-76291-2. pp 29-34.
331-
</p><p>King's algorithm and the linear algebra method for invariants of finite groups: Derksen, H. and Kemper, G. (2015). Computational Invariant Theory. Heidelberg: Springer. Algorithm 3.8.2, pp 107-109; pp 72-74
332-
</p><p>The algorithms for primary and secondary invariants, and Molien series of finite groups implemented in version 1.1.0 of this package by: Hawes, T. Computing the invariant ring of a finite group. JSAG, Vol. 5 (2013). pp 15-19. DOI: 10.2140/jsag.2013.5.15
400+
</li>
401+
<li>
402+
<p>King's algorithm and the linear algebra method for invariants of finite groups: Derksen, H. and Kemper, G. (2015). Computational Invariant Theory. Heidelberg: Springer. Algorithm 3.8.2, pp 107-109; pp 72-74
333403
</p>
404+
</li>
405+
<li>
406+
<p>The algorithms for primary and secondary invariants, and Molien series of finite groups implemented in version 1.1.0 of this package by: Hawes, T. Computing the invariant ring of a finite group. JSAG, Vol. 5 (2013). pp 15-19. DOI: 10.2140/jsag.2013.5.15
407+
</p>
408+
</li>
409+
<li>
410+
<p>
411+
The orbit sum approach is under development following Mara D. Neusel, Texas Tech University, Lubbock, TX. Publication: The Student Mathematical Library. Publication Year 2007: Volume 36,
412+
DOI: <url href="http://dx.doi.org/10.1090/stml/036"/>
413+
</p>
414+
</li>
415+
</ul>
416+
334417
</subsection>
335-
</section>
336-
<section xml:id="sec-invariantrings-packages">
337-
<title>InvariantRings package </title>
338-
<section xml:id="sec-invariantring-demoss">
418+
419+
<subsection xml:id="sec-invariantring-demos">
339420
<title>InvariantRing Library Demos</title>
340421

341422
<p>
@@ -349,7 +430,7 @@ representations on.
349430
</input>
350431
</sage>
351432

352-
<section>
433+
<subsubsection>
353434
<title>SL₂ Actions on C² and Variants</title>
354435

355436
<p>
@@ -369,9 +450,9 @@ representations on.
369450
elapsedTime hilbertIdeal V
370451
</input>
371452
</sage>
372-
</section>
453+
</subsubsection>
373454

374-
<section>
455+
<subsubsection>
375456
<title>Diagonal Actions of Abelian Groups</title>
376457

377458
<p>
@@ -395,9 +476,9 @@ representations on.
395476
equivariantHilbertSeries T
396477
</input>
397478
</sage>
398-
</section>
479+
</subsubsection>
399480

400-
<section>
481+
<subsubsection>
401482
<title>Linearly Reductive Actions: Permutations and Binary Forms</title>
402483

403484
<p>
@@ -457,9 +538,9 @@ representations on.
457538
1728*(g2^3)/(g2^3 - 27*g3^2)
458539
</input>
459540
</sage>
460-
</section>
541+
</subsubsection>
461542

462-
<section>
543+
<subsubsection>
463544
<title>Matrix Invariants and Conjugation Actions</title>
464545

465546
<p>
@@ -509,9 +590,9 @@ representations on.
509590
elapsedTime invariants(L,3)
510591
</input>
511592
</sage>
512-
</section>
593+
</subsubsection>
513594

514-
<section>
595+
<subsubsection>
515596
<title>Finite Group Actions: S₄ Example</title>
516597

517598
<p>
@@ -532,9 +613,8 @@ representations on.
532613
elapsedTime hironakaDecomposition(S4)
533614
</input>
534615
</sage>
535-
</section>
536-
537-
</section>
538-
539-
</section>
616+
</subsubsection>
617+
</subsection>
618+
</section>
619+
540620
</chapter>

0 commit comments

Comments
 (0)