@@ -6,18 +6,34 @@ import Mathlib.LinearAlgebra.Charpoly.Basic
6
6
import MIL.Common
7
7
8
8
9
- /- TEXT :
9
+ /- OMIT :
10
10
11
11
Endomorphisms
12
12
--------------
13
13
14
+ OMIT. -/
15
+ /- TEXT:
16
+ 自己準同型
17
+ --------------
18
+
19
+ TEXT. -/
20
+ /- OMIT:
14
21
An important special case of linear maps are endomorphisms: linear maps from a vector space to itself.
15
22
They are interesting because they form a ``K``-algebra. In particular we can evaluate polynomials
16
23
with coefficients in ``K`` on them, and they can have eigenvalues and eigenvectors.
17
24
25
+ OMIT. -/
26
+ /- TEXT:
27
+ 線形写像の重要な特殊ケースは自己準同型です:これはあるベクトル空間からそれ自体への線形写像です.これらは ``K`` 代数を形成するため興味深いものです.特に, ``K`` に係数を持つ多項式を評価することができ,固有値と固有ベクトルを持つことができます.
28
+
29
+ TEXT. -/
30
+ /- OMIT:
18
31
Mathlib uses the abbreviation ``Module.End K V := V →ₗ[K] V`` which is convenient when
19
32
using a lot of these (especially after opening the ``Module`` namespace).
20
33
34
+ OMIT. -/
35
+ /- TEXT:
36
+ Mathlibでは ``Module.End K V := V →ₗ[K] V`` という略語を使いますが,これは(特に ``Module`` 名前空間を開いた後に)自己準同型をたくさん使う場合に便利です.
21
37
EXAMPLES: -/
22
38
23
39
-- QUOTE:
@@ -32,22 +48,33 @@ open Polynomial Module LinearMap
32
48
example (φ ψ : End K V) : φ * ψ = φ ∘ₗ ψ :=
33
49
LinearMap.mul_eq_comp φ ψ -- `rfl` would also work
34
50
35
- -- evaluating `P` on `φ`
51
+ -- OMIT: evaluating `P` on `φ`
52
+ -- `φ` にて `P` を評価する
36
53
example (P : K[X]) (φ : End K V) : V →ₗ[K] V :=
37
54
aeval φ P
38
55
39
- -- evaluating `X` on `φ` gives back `φ`
56
+ -- OMIT: evaluating `X` on `φ` gives back `φ`
57
+ -- `φ` にて `X` を評価すると `φ` が戻ってくる
40
58
example (φ : End K V) : aeval φ (X : K[X]) = φ :=
41
59
aeval_X φ
42
60
43
61
44
62
-- QUOTE.
45
- /- TEXT :
63
+ /- OMIT :
46
64
As an exercise manipulating endomorphisms, subspaces and polynomials, let us prove the
47
65
(binary) kernels lemma: for any endomorphism :math:`φ` and any two relatively
48
66
prime polynomials :math:`P` and :math:`Q`, we have :math:`\ker P(φ) ⊕ \ker Q(φ) = \ker \big(PQ(φ)\big)`.
49
67
68
+ OMIT. -/
69
+ /- TEXT:
70
+ 自己準同型と部分空間,多項式を操作する練習として,(二項)核の補題を証明しましょう:任意の自己準同型 :math:`φ` と2つの互いに素な多項式 :math:`P` と :math:`Q` に対して, :math:`\ker P(φ) ⊕ \ker Q(φ) = \ker \big(PQ(φ)\big)` が成り立ちます.
71
+
72
+ TEXT. -/
73
+ /- OMIT:
50
74
Note that ``IsCoprime x y`` is defined as ``∃ a b, a * x + b * y = 1``.
75
+ OMIT. -/
76
+ /- TEXT:
77
+ ``IsCoprime x y`` は ``∃ a b, a * x + b * y = 1`` と定義されていることに注意してください.
51
78
EXAMPLES: -/
52
79
-- QUOTE:
53
80
@@ -97,23 +124,29 @@ SOLUTIONS: -/
97
124
map_zero]
98
125
99
126
-- QUOTE.
100
- /- TEXT :
127
+ /- OMIT :
101
128
We now move to the discussions of eigenspaces and eigenvalues. By the definition, the eigenspace
102
129
associated to an endomorphism :math:`φ` and a scalar :math:`a` is the kernel of :math:`φ - aId`.
103
130
The first thing to understand is how to spell :math:`aId`. We could use
104
131
``a • LinearMap.id``, but Mathlib uses `algebraMap K (End K V) a` which directly plays nicely
105
132
with the ``K``-algebra structure.
106
133
134
+ OMIT. -/
135
+ /- TEXT:
136
+ ここで固有空間と固有値の議論に移ります.定義によれば,自己準同型 :math:`φ` とスカラー :math:`a` の固有空間は :math:`φ - aId` の核です.まず理解しなければならないのは, :math:`aId` の書き方です. ``a • LinearMap.id`` を使うこともできますが,Mathlibでは `algebraMap K (End K V) a` を使っており,これは ``K`` 代数構造と直接うまく動きます.
107
137
EXAMPLES: -/
108
138
-- QUOTE:
109
139
example (a : K) : algebraMap K (End K V) a = a • LinearMap.id := rfl
110
140
111
141
-- QUOTE.
112
- /- TEXT :
142
+ /- OMIT :
113
143
Then the next thing to note is that eigenspaces are defined for all values of ``a``, although
114
144
they are interesting only when they are non-zero.
115
145
However an eigenvector is, by definition, a non-zero element of an eigenspace. The corresponding
116
146
predicate is ``End.HasEigenvector``.
147
+ OMIT. -/
148
+ /- TEXT:
149
+ 次に注意しなければならないのは,固有空間はすべての ``a`` の値に対して定義されますが,それが0ではない場合にのみ興味があるということです.しかし,固有ベクトルは定義上,固有空間の非0要素です.対応する述語は ``End.HasEigenvector`` です.
117
150
EXAMPLES: -/
118
151
-- QUOTE:
119
152
example (φ : End K V) (a : K) :
@@ -122,8 +155,11 @@ example (φ : End K V) (a : K) :
122
155
123
156
124
157
-- QUOTE.
125
- /- TEXT :
158
+ /- OMIT :
126
159
Then there is a predicate ``End.HasEigenvalue`` and the corresponding subtype ``End.Eigenvalues``.
160
+ OMIT. -/
161
+ /- TEXT:
162
+ そして述語 ``End.HasEigenvalue`` とこれに対応する部分型 ``End.Eigenvalues`` が存在します.
127
163
EXAMPLES: -/
128
164
-- QUOTE:
129
165
@@ -136,16 +172,19 @@ example (φ : End K V) (a : K) : φ.HasEigenvalue a ↔ ∃ v, φ.HasEigenvector
136
172
example (φ : End K V) : φ.Eigenvalues = {a // φ.HasEigenvalue a} :=
137
173
rfl
138
174
139
- -- Eigenvalue are roots of the minimal polynomial
175
+ -- OMIT: Eigenvalue are roots of the minimal polynomial
176
+ -- 固有値は最小多項式の平方根
140
177
example (φ : End K V) (a : K) : φ.HasEigenvalue a → (minpoly K φ).IsRoot a :=
141
178
φ.isRoot_of_hasEigenvalue
142
179
143
- -- In finite dimension, the converse is also true (we will discuss dimension below)
180
+ -- OMIT: In finite dimension, the converse is also true (we will discuss dimension below)
181
+ -- 有限次元では,その逆もまた真である(次元については以下で議論します)
144
182
example [FiniteDimensional K V] (φ : End K V) (a : K) :
145
183
φ.HasEigenvalue a ↔ (minpoly K φ).IsRoot a :=
146
184
φ.hasEigenvalue_iff_isRoot
147
185
148
- -- Cayley-Hamilton
186
+ -- OMIT: Cayley-Hamilton
187
+ -- ケーリーハミルトン
149
188
example [FiniteDimensional K V] (φ : End K V) : aeval φ φ.charpoly = 0 :=
150
189
φ.aeval_self_charpoly
151
190
0 commit comments