2020年10月18日日曜日

Python3(1)

%310:Python3(1)
/*背景色は(茶: 編集・確認中; 灰色: 確認済; 緑: 非慣用記法; 白色: 初期化済)*/
/*「」は定義行のみ(他ではシアン).「」の語句があるパラグラフは「IDも茶」*/
【[%311](3)】を追加

%311:参考資料
`▼
--------------------------------------------------------------------------------

(0)「python.org」の入門用ドキュメントの紹介
 ①「Formal_Python」は長いので「Python3」と略記.
 ②このブログではスクリプトを「Courier」で表示
  ・等幅フォントだから見落とし難く背景色の設定も容易
 ②http://www.tohoho-web.com/python/
(1)「python.org」のドキュメント

 https://docs.python.org/ja/3/tutorial/

 ③https://docs.python.org/ja/3/tutorial/introduction.html#

 ④https://docs.python.org/ja/3/tutorial/controlflow.html

 ⑤https://docs.python.org/ja/3/tutorial/datastructures.html

 ⑥https://docs.python.org/ja/3/tutorial/modules.html

 ⑦https://docs.python.org/ja/3/tutorial/inputoutput.html

 ⑧https://docs.python.org/ja/3/tutorial/errors.html

 ⑨https://docs.python.org/ja/3/tutorial/classes.html

 ⑩https://docs.python.org/ja/3/tutorial/stdlib.html

 ⑪https://docs.python.org/ja/3/tutorial/stdlib2.html

 ⑫https://docs.python.org/ja/3/tutorial/venv.html

 ⑬https://docs.python.org/ja/3/tutorial/whatnow.html

 ⑭https://docs.python.org/ja/3/tutorial/interactive.html

 ⑮https://docs.python.org/ja/3/tutorial/floatingpoint.html

 ⑯https://docs.python.org/ja/3/tutorial/appendix.html


 ⑰https://docs.python.org/ja/3/reference/index.html

 ⑱https://docs.python.org/ja/3/library/functions.html

 ⑲https://ja.wikipedia.org/wiki/Python#歴史

(2)Python環境構築ガイド > Anaconda のインストール
 ①https://www.python.jp/install/anaconda/conda.html
Anaconda には conda コマンドがインストールされており、
パッケージのインストールや、実行環境の作成・切り替えなどを行います。
Anacondaの実行環境は Anaconda-Navigator でも操作できますが、
ここでは conda コマンドの使い方を紹介します。
 ②https://310ch.net/work/analytics/python-miniconda
 ③https://qiita.com/dddmm/items/f91adea7901052efdf6a

(3)使用不能文字に関するメモ
 ①[%26](6).[Trial_2]
  ・これらの文字(「$」,「?」,「`」)が文字列リテラルやコメントの外にある場合、
   無条件にエラーとなります:
 ②[%292](3).[Trial_2]/*「TinyPython」*/
  ・tinypyは64kのコードでのPythonの最小限の実装です
 ③[%291](6).[Trial_2]/*「OctalPython」*/
 ・「BabyPython」や「NanoPython」も既存だから「OctalPython」で回避.
 ④「https://ja.wikipedia.org/wiki/Python
  #1:プログラマーのグローバルコミュニティは、無料のオープンソース
   リファレンス実装であるCPythonを開発および保守している 。
  #2:非営利団体であるPythonソフトウェア財団は、
   Python【とCPython?】の開発のためのリソースを管理・指導している。
 ⑤「OctalPython」も「④#2」を断念し「④#1」として「TinyPython」に準拠する。
--------------------------------------------------------------------------------
`▲①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳

%312:字句解析`▼

--------------------------------------------------------------------------------
(1)形式ばらない Python の紹介/*[%61131]=[%611]①(3.1)*/

を入力すると、その結果が表示されます。
演算子は他のほとんどの言語と同じように動作します
丸括弧をグループ化に使うこともできます。
浮動小数点を完全にサポートしています。
文字列を記述する方法は複数あり、単引用符 で囲むか、二重引用符で囲みます。
 結果はどちらも同じ文字列になります。
・引用符は、\ でエスケープできます。
・\ に続く文字を特殊文字として解釈されたくない場合は raw strings が使えます
--------------------------------------------------------------------------------
`▲

%313:構文解析`▼
--------------------------------------------------------------------------------
(1)単文
(2)if 文/*【[%61141]:[%611](4.1)】*/
(3)for文/*【[%61141]:[%611](4.2)】*/
(4)break文,continue文とelse節/*【[%61144]:[%611](4.4)】*/
(5)pass文/*【[%61145]:[%611](4.5)】*/
(6)関数定義/*【[%61147]】*/
(7)デフォルトの引数値/*【[%611471]】*/
(8)キーワード引数/*【[%611472]】*/
(9)特殊なパラメータ/*【[%611473]】*/
(A)データ構造/*【[%6115]】*/
(B)リスト型/*【[%61151]】*/
 ・リストをスタックとして使う
 ・リストをキューとして使う
 ・リストの内包表記
 ・ネストしたリストの内包表記
(C)del文/*【[%61152]】*/
(D)タプルとシーケンス/*【[%61153]】*/
(E)集合型/*【[%61154]】*/
(F)辞書型/*【[%61155]】*/
(G)ループのテクニック/*【[%61156]】*/
(H)条件への補足/*【[%61157]】*/
(I)シーケンスとその他の型の比較/*【[%61158]】*/
(J)クラス/*【[%6119]】*/
(K)名前とオブジェクト/*【[%61191]】*/
(L)スコープと名前空間/*【[%61192]】*/
(M)クラス初見/*【[%61193]】*/
(O)注意点/*【[%61194]】*/
(P)継承/*【[%61195]】*/
(Q)イテレータ/*【[%61198]】*/
(R)ジェネレータ/*【[%61199]】*/
--------------------------------------------------------------------------------
`▲

%314:解釈実行`▼
--------------------------------------------------------------------------------
(1)モジュール/*【[%6116]】*/
(2)モジュールをスクリプトとして実行する/*【[%611611]】*/
(3)モジュール検索パス
(4)コンパイルされた Python ファイル
(5)標準モジュール
(6)dir() 関数/*【[%61163]】*/
(7)入力と出力/*【[%6117]】*/
(8)出力のフォーマット/*【[%61171]】*/
 ・フォーマット済み文字列リテラル
 ・文字列の format() メソッド
 ・文字列の手作業でのフォーマット
(9)ファイルの読み書き/*【[%61172]】*/
 ・ファイルオブジェクトのメソッド
(A)エラーと例外
(B)構文エラー/*【[%61181]】*/
(C)例外/*【[%61182]】*/
 ・例外を処理する/*【[%61183]】*/
 ・例外を送出する/*【[%61184]】*/
 ・例外の連鎖/*【[%61185]】*/
 ・ユーザー定義例外/*【[%61186]】*/
--------------------------------------------------------------------------------
`▲
%315:補遺`▼
--------------------------------------------------------------------------------
(1)Python インタプリタを使う/*【[%61131]】*/
・どのディレクトリに Python インタプリタをインストールするかは
 インストール時に選択できる
(2)関数定義への補足
 ・任意引数リスト/*【[%611474]】*/
 ・任意引数リストのアンパック/*【[%611475]】*/
 ・ラムダ式/*【[%611476]】*/
(3)コーディングスタイル/*【[%61148]】*/
(4)パッケージ/*【[%61164]】*/
 ・パッケージから * を import する/*【[%611641]】*/
 ・パッケージ内参照/*【[%611642]】*/
 ・複数ディレクトリ中のパッケージ/*【[%611643]】*/
(5)標準ライブラリ/*【[%611A]】*/
 ・OS へのインターフェイス/*【[%611A1]】*/
 ・ファイルのワイルドカード表記/*【[%611A]】*/
 ・コマンドライン引数/*【[%611A3]】*/
 ・数学/*【[%611A6]】*/
 ・インターネットへのアクセス/*【[%611A7]】*/
 ・日付と時刻/*【[%611A8]】*/
(6)標準ライブラリ(2)/*【[%611B]】*/
 ・リスト操作のためのツール/*【[%611B7]】*/
 ・10進浮動小数点演算/*【[%611B8]】*/
(7)浮動小数点演算,その問題と制限/*【[%611F]】*/
(8)付録/*【[%611G]】*/
--------------------------------------------------------------------------------
`▲

%316:「試用録(□)へのリンク」`▼
--------------------------------------------------------------------------------
 (1)https://www.blogger.com/blog/post/edit/6859150935899261916/7184207965405872964
 (2)https://www.blogger.com/blog/post/edit/6859150935899261916/5264098732205754371
 (3)https://www.blogger.com/blog/post/edit/6859150935899261916/411641851818640792
 (4)https://www.blogger.com/blog/post/edit/6859150935899261916/7092187426506751597
 (5)https://www.blogger.com/blog/post/edit/6859150935899261916/7119368520705050736
 (6)https://www.blogger.com/blog/post/edit/6859150935899261916/370039304647117735
 (7)https://www.blogger.com/blog/post/edit/6859150935899261916/5267093833185413880
 (8)https://www.blogger.com/blog/post/edit/6859150935899261916/1852221391872171709
 (9)
(10)https://www.blogger.com/blog/post/edit/6859150935899261916/1852221391872171709
(11)https://www.blogger.com/blog/post/edit/6859150935899261916/3779679508729485873
(12)https://www.blogger.com/blog/post/edit/6859150935899261916/8454306409348905521
(13)https://www.blogger.com/blog/post/edit/6859150935899261916/8240083249656951464
(14)https://www.blogger.com/blog/post/edit/6859150935899261916/4867640993038865114
(15)https://www.blogger.com/blog/post/edit/6859150935899261916/3099915323042753384
(16)
(17)
(18)https://www.blogger.com/blog/post/edit/6859150935899261916/3264675642890135832
--------------------------------------------------------------------------------
`▲

%317★:「ASCII_Python」用のメモ`▼

--------------------------------------------------------------------------------
(0)趣旨:「with all the ASCII characters, including"$","?" and "`"」
(1)参考資料
 ①[%61]@https://oshino3.blogspot.com/2020/05/python6.html
(2)非慣用トークンには先頭に「`」を付加して末尾に1個以上の半角スペースを付ける.
 ・「Courier」は等幅フォントだから見落としにくい.
  /*【[%61](2)①】のようにオプションで左端のスペースをシアンにする」*/
(3)
(4)
--------------------------------------------------------------------------------
`▲

%318★:「Octal_Python」用のメモ
`▼
--------------------------------------------------------------------------------
(0)趣旨:「IDLE」準拠に拘らない。/*「(4)②」*/
(1)参考資料
 ①[Tutr_2.2.1]@https://docs.python.org/ja/3/tutorial/interpreter.html#source-code-encoding
 https://docs.python.org/ja/3/tutorial/
 ②「ピークの定理(17)」@https://oshino3.blogspot.com/2020/05/17.html
(2)「(1)①」からの引用
 ・デフォルトでは、Python のソースコードは UTF-8 でエンコードされているものとして扱われます。
  UTF-8 では、世界中のほとんどの言語の文字を、同時に文字列リテラル、識別子、コメントなどに書けます。
 ・ただし、標準ライブラリは識別子に ASCII 文字のみを利用していて、
  その他のポータブルなコードもその慣習に従うべきです。
 ・それらの文字を正しく表示するためには、エディターはそのファイルが UTF-8 である事を識別して、そのファイルに含まれている文字を全てサポートしたフォントを使わなければなりません。
(3)「(1)②」の【%2(3)】からの引用
 ①{擬似コードによる表現}@https://blog.goo.ne.jp/bonsai19/e/bb51b0440ad573d19b28a4fd73041416
 /*「TeXに準じた記法の背景色は Cyan」as「x^{3} - 1 = 0」,「A^{(i, j)}」*/
 ②[_数学記号の表]@https://ja.wikipedia.org/wiki/数学記号の表
 ③「+」「-」「*」「/」は「C言語」の算術演算子と同じ./*「%」は使わない */
 ④比較演算子には「<」,「≦」,「=」,「≧」,「>」,「≠」を使う.
 /*背景色は「Cyan」*/
 ④非慣用記法は本文中に「□ :=」で定義する./*「□」の背景色は「Green」*/
(4)「(1)②」の数式の例/*「'∠'はJISの数学記号」*/
 ①「W`(K' / M) = cos`( ∠`(K' / M)) + i_ * sin( ∠(K' / M) )」
 ②「IDLE★」is an「idle」importer of Library functions だから気にしない.
  ★https://ja.wikipedia.org/wiki/IDLE_(Python)
  /*〔マルチウィンドウ型のテキストエディタである。〕*/
  /*〔「JDK★」と類似の「PDK」の方がよい?〕*/
  ★http://e-words.jp/w/JDK.html
 ③「C言語」の標準関数を用いて「IDLE」を実装するのが常道?
 ④「MicroPython★」 is not idle !
  ★https://ja.wikipedia.org/wiki/MicroPython
--------------------------------------------------------------------------------
`▲

%319:「Kanji_Python」用のメモ
`▼
--------------------------------------------------------------------------------
【[%I11]①】より【[%I11]③】に準拠した「IDE」を各国が自作すればよい.
 ①国際識別記号  https://ja.wikipedia.org/wiki/%E5%9B%BD%E9%9A%9B%E8%AD%98%E5%88%A5%E8%A8%98%E5%8F%B7
 ②国名コード/*「e-mail」*/   https://ja.wikipedia.org/wiki/%E5%9B%BD%E5%90%8D%E3%82%B3%E3%83%BC%E3%83%89
 ③IOCコード一覧/*「一番分かりやすい」*/   https://ja.wikipedia.org/wiki/IOC%E3%82%B3%E3%83%BC%E3%83%89%E4%B8%80%E8%A6%A7
---------------------------------------------------------------------------------
`▲

%31A:EOF(@L1G)

2020年9月9日水曜日

Python9暫定仕様(1)

%P910:Python9暫定仕様(1)
  https://bonsai-juku.blogspot.com/2020/08/python9.html
`▼
--------------------------------------------------------------------------------
(0)「KanjiPython」は長いので「Python9」に統一.
  /*実体は既存資料への加筆*/
(1)参考資料
 ①【[Trial-1]】@「Python」試用録(1)」@
  https://oshino3.blogspot.com/2020/05/python.html
 ②【[Trial-5]】「if文による条件分岐 (2/2)」@
  https://oshino3.blogspot.com/2020/05/python5_48.html
 ③【[Trial-6]】「for文による繰り返し処理 (1/3)」@
  https://oshino3.blogspot.com/2020/05/python6.html
 ④【[Trial-14]】「Python」試用録(14)」@
  https://oshino3.blogspot.com/2020/06/python14.html
  ・%E11:資料の参照
  ・%E2:[Trial_□]のパラグラフに関するメモ
  ・%E3:行番号の付加
  ・%E4:使用不能文字対策
 ⑤【[Trial-18]】「Python」試用録(18)」@
  https://oshino3.blogspot.com/2020/07/python18.html
(2)【[%E2](1)③.[Trial_14]】
 ・これらの文字が文字列リテラルやコメントの外にある場合、無条件にエラーとなる
  /*〔これらの文字「$」,「?」,「`」の対策が不可欠〕*/
(3)【[%E3](2)③.[Trial_14]】
 ・行頭ではなく次のようにしたい/*「'#'を行頭から48文字目に」*/
  ①「OctalPython」の行番号は奇数桁の8進数
  ②末尾の1桁の8進数は行末でのレベル
  ③ファイルの全角スペースはすべて半角スペース2個と置換
  ④「OctalPython」のコンソール画面(2枚)は8×16文字
   一方で表示し,他方をバックグラウンドで編集.
(4)【[%11].[Trial_1]】/*「WilD.pdf」*/の記号の表現
 ①「 1 ?」は「0」,「1」のいずれかの数.
 ②「Py8.num8(177)」は8進数「177」を超えない非負の整数(自然数)のいずれか
  ・【[%61](2)[Trial_6]】の非決定性構文で使用./*〔(1)②〕*/
 ③「$」に「self」を使う
 ④「read,.」,「write,.」に「input()」,「print()」を使う.
(5)「(2)③」の「 1 ?」を「Py8.num8(1)」と表記
 ①「 1 ?」は「0」,「1」のいずれかの数.
 ②「Py8.num8(177)」は8進数「177」を超えない非負の整数(自然数)のいずれか
  ・【[%61](2)[Trial_6]】の非決定性構文で使用./*〔(1)②〕*/
(6)【[%21](0).[Trial_2]】の「"abcdefg"」を「Py8.str8('abcdefg')」と表記
(7)「Py8.str8('abc\n')」を「Py8.line8('abc')」と略記.
 ①「Py8.block8(\9002\9line8('abc'))」は
  ブロック内の2行目が「str8('abc\n')」であることを明示.
 ②行頭のインデント量と「\9002\9」から【[%E3](2)】のコンソール画面を作成.
 ③「Py8.str8('\9002\9abc\n\9003\9def\n')」を
  「Py8.line8('\9002\abc')」「Py8.line8('\9003\def')」と略記.
 ④ブロック内の行数を「511以下」に限定/*「末尾に空白行」*/
(8)「Py8.str9('ab\9embeded\9c\ndef\n')」の「\9embeded\9」はコメント
 ①インタプリタは「(7)②」の行末の6文字とコメントを削除したファイルを解釈実行
  /*「原稿の'\t'を'#\t'で置換」*/
--------------------------------------------------------------------------------
`▲
%911:Documents by Python.org
`▼
--------------------------------------------------------------------------------
 ①https://docs.python.org/ja/3/tutorial/
 ②https://docs.python.org/ja/3/library/functions.html
 ③https://docs.python.org/ja/3/glossary.html#glossary
--------------------------------------------------------------------------------
`▲【[%I1].[Trial-18]】からの引用

%912:字句解析
`▼
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
`▲

%913:構文解析
`▼
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
`▲

%914:解釈実行
`▼
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
`▲

%915:補遺
`▼
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
`▲

%919:EOF

2020年9月7日月曜日

%P710:Python7暫定仕様(1)

%P710:Python7暫定仕様(1)
★「Octal_Python」作成のための断片的備忘録です./*〔on line 編集 試行中〕*/
☆「Courier_Python」作成のための断片的備忘録です.
/*背景色は(茶: 編集・確認中; 灰色: 確認済; 緑: 非慣用記法; 白色: 初期化済)*/
/*「」は定義行のみ(他ではシアン).「」の語句があるパラグラフは「IDも茶」*/
・「Courier_Python」は長いので「Python7」と略記
・スクリプトは「Courier」で表示/*「フォントテスト★」*/ ★https://www.blogger.com/blog/post/edit/6859150935899261916/7173240099006907548

%711:Python7(1)/*〔原案〕*/
`▼
--------------------------------------------------------------------------------
(0)使えない文字も使ったスクリプトを「Formal_Python★」で実行するための試案 ★https://www.blogger.com/blog/post/edit/6943714883075862421/5845028739903561746
 ①「ASCII_Python」を「Courier_Python」と改称する
 ②使用不能文字がない「Tiny_Python」での実装を考える./*「(1)⑦#1」*/
  ・「Tiny_Python」では等幅フォントを使っていない
  ・文字列の背景色(オプション)の設定は断念する./*〔原稿を手動で着色〕*/
  ・文字列「□1」を「`$1_」で表示する./*「(2)」*/
  ・「Python7」の名前空間を「$SP7」で表示する
(1)参考資料
 ①tutorial「Python3 チュートリアル」
 ②reference「Python3 言語リファレンス」
 ③library「組み込み関数」
 ④[Trial-14]「Python」試用録(14)」@
  ・%E11:資料の参照
  ・%E2:[Trial_□]のパラグラフに関するメモ
  ・%E3:行番号の付加
  ・%E4:使用不能文字対策
 ⑤[Trial-18]「Python」試用録(18)」@
 ⑥制御文字
 ⑦Pythonの実装
  ・Pythonのインタプリタは多くのOSに対応している。
  #1.プログラマーのグローバルコミュニティは、無料のオープンソースリファレンス
   の実装であるCPythonを開発および保守している 。
  #2.非営利団体であるPythonソフトウェア財団は、
   PythonとCPythonの開発のためのリソースを管理・指導している。
(2)
原稿では「(1)④[%E4]」の使用不能文字「'$'」,「'?'」,「'`'」も使う
 ①「Python3」のトークン「□」の先頭に「'`'」を置き末尾に複数個の
  「' '」を付加して字句解析の簡略化する左端の「' '」を「'_'」で置換.
  /*〔一般形は「`_」.例:「if:」⇒「`if:_   」〕*/
 ②「Python3」の文字列「'□'」,「"□"」は単に''_」,「""_」と略記.
  /*〔「''_」,「""_」は空列; 1文字「"」,「'」は「'"'_」,「"'"_」〕*/
 ③このブログではスクリプトを「Courier」で表示
  ・等幅フォントだから見落とし難く背景色の設定も容易
  /*〔「Blogger」の「デフォルトのフォントは「MSP明朝」〕*/
 ④校正を容易にするために「(1)①」の「'`'」,「'_'」をシアンに着色してもよい
 ⑤原稿は「Terapad★」で作成し解釈実行前に「Python3」のトークンに戻す.
 ⑥制御文字は「\b」(08)「\t」(09)「\n」(0A)「\r」(0D)のみ
 ⑦行番号は考えない./*〔「(1)④」のようにコメント化してもよい〕*/
 ⑧全角スペースを積極的に使い「⑤」のときに2個の半角スペースに置換する.
--------------------------------------------------------------------------------
`▲①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳〔〕【】

%712:字句解析/*〔[%612](1)のコピーに加筆〕*/
`▼
--------------------------------------------------------------------------------
(1)形式ばらない Python の紹介/*[%71131]:[%711](3.1)*/
・式を入力すると、その結果が表示されます。
・演算子は他のほとんどの言語と同じように動作します
・丸括弧をグループ化に使うこともできます。
・浮動小数点を完全にサポートしています。
・文字列を記述する方法は複数あり、単引用符 で囲むか、二重引用符で囲みます。
 結果はどちらも同じ文字列になります。
引用符は、\ でエスケープできます。
・\ に続く文字を特殊文字として解釈されたくない場合は raw strings が使えます:
(2)変数と定数
・とほほのPython入門 - 変数・定数
(3)演算子
・とほほのPython入門 - 演算子
(4)関数
・とほほのPython入門 - 関数
(5)デリミタ
・Pythonで文字列を分割(区切り文字、改行、正規表現、文字数)
(6)リスト・タプル・辞書
・とほほのPython入門 - リスト・タプル・辞書
(7★)原案への付則(簡略化記法)を[%716]に追加
--------------------------------------------------------------------------------
`▲

%713:構文解析/*〔【[%613]】の部分コピーに加筆〕*/
`▼
--------------------------------------------------------------------------------
(0)参考資料
①if 文/*[%71141]:[%711](4.1)*/
②for文/*[%71141]:[%711](4.2)*/
③break文,continue文とelse節/*[%71144]:[%711](4.4)*/
④関数定義/*[%71147]*/
⑤デフォルトの引数値/*[%711471]*/
⑥キーワード引数/*[%711472]*/
⑦リスト型/*[%71151]*/
⑧タプルとシーケンス/*[%71153]*/
⑪集合型/*[%71154]*/
⑫辞書型/*[%71155]*/
(1)「if 文」
・「if num > 10:」+「print "BIG"」+「elif num == 10:」+「print "NORMAL"」+
 「else:」+「print "SMALL"」
(2)「for 文」
・Python の for 文は、任意のシーケンス型 (リストまたは文字列) 
 にわたって反復を行います。
 反復の順番はシーケンス中に要素が現れる順番です。
・break文,continue文とelse節
--------------------------------------------------------------------------------
`▲①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳

%714:解釈実行
`▼
--------------------------------------------------------------------------------
(0)エラー処理
参考資料
 ・プログラムが終了したら正常な場合でも、死んだ場合でも、通知して欲しい。
(2★)「exit()」関数の用法
 ⑩「printf("finished.")」,「return 0」
 ⑪「printf("undefined.")」,「return 1」
 ⑫「printf("invalid token.")」,「return 2」
 ⑬「printf("invalid syntax.")」,「return 3」
 ⑭「printf("waiting.")」,「return 4」
 ⑮「printf("interrupted.")」,「return 5」
(3)
--------------------------------------------------------------------------------
`▲

%715:試行例
`▼
--------------------------------------------------------------------------------
(0)各項目での表示内容:
 ・タイトル/*〔「⑩」で表示して「⑪-⑲」に補足〕*/
  --------------------------------------------
 ①「Python7」の原稿
  --------------------------------------------
 ②「Python3」のスクリプト
  --------------------------------------------
 ③実行結果
  --------------------------------------------
(1)参考資料. /*〔「Ex.1」不在〕*/
 ②@「tutorial【★】」/*「★https://docs.python.org/ja/3/tutorial/」*/
 ③@「tohoho【★】」/*「★http://www.tohoho-web.com/python/」*/
 ⑤@「Anaconda IDE★」の使い方 
「★https://www.blogger.com/blog/post/edit/6859150935899261916/7321409071314954091
  ・ファイルの直リンクはご遠慮ください。
(2)Ex.2:「Python.org【3.1.1. 数】」
 ⑩数式「5 * 3 + 2」の計算
 ⑪他のほとんどの言語と同じように動作します
 ⑫「(0)①」では原稿「□」を文字列として呈示/*〔【[%711](2)】に準拠〕*/
 ⑬「(2)②」の「5 * 3 + 2」はコンソール入力「>>> 5 * 3 + 2」から抽出
 ⑭「対話モード★」では、最後に表示された結果は変数 _ に代入されます。
  --------------------------------------------
 ①「"5 * 3 + 2"_」
  --------------------------------------------
 ②「5 * 3 + 2」
  --------------------------------------------
 ③「17」
  --------------------------------------------
(3)Ex.3:「tohoho【代数演算子(+, -, *, /, %, **, //)】」
 ⑩切り捨て除算「7 // 4」 「(-7) // 4」の計算
  --------------------------------------------
 ①「Python7」の原稿
  --------------------------------------------
 ②「Python3」のスクリプト
  --------------------------------------------
 ③実行結果
  --------------------------------------------
(4)Ex.4:「@IT【数値と算術演算 (2/2)】」
 ⑩演算子の優先順位
 ⑪ここまでに出てきた演算子(とその他の演算子や関数)の
  優先順位を高い順に以下の表にまとめておく。
 ⑫ここまでに説明した各演算は、整数と浮動小数点数を意識することなく行える。
 ⑬整数値と浮動小数点数値が被演算子に含まれている場合、
  整数値が浮動小数点数値として見なされるようになる。
  --------------------------------------------
 ①「Python7」の原稿
  --------------------------------------------
 ②「Python3」のスクリプト
  --------------------------------------------
 ③実行結果
  --------------------------------------------
(5)Ex.5:「Python試用録(14)★」
  ⑩原稿のコピー&ペースト
  ⑪「'#'を行頭から48文字目に」/*★[%E3](0)②*/
  ⑫ブロックの最終行を「\n」にする
  ⑬「①」の原稿を「tmp.txt」にコピーして
   「 」(全角),「`」,「_」を半角スペースで置換して「②」を作る
   ・「 」(全角)の方が「  」(半角)より幅が狭い./*〔「」内はCourier〕*/
  ⑭「行末の6文字」は「Python8」で手動で修正する.
  --------------------------------------------
 ①「Python7」の原稿
  --------------------------------------------
  number = 30                                 #001.1
                                              #002.1
  if number % 3 == 0:                         #003.1
   print('Fizz')                             #004.2
  elif number % 5 == 0:                       #005.1
   print('Buzz')                             #006.2
  elif number % 15 == 0:                      #007.1
   print('FizzBuzz')                         #008.2
  else:                                       #009.1
   print(number)                             #010.2
  \n                                          #011.1
 ※行番号(spreadsheetで作成)を10進表示に修正
  --------------------------------------------
 ②「Python3」のスクリプト
  --------------------------------------------
  number = 30 \t                              
                                              
  if number % 3 == 0: \t                      
    print('Fizz')                             
  elif number % 5 == 0: \t                    
    print('Buzz')                             
  elif number % 15 == 0: \t                   
    print('FizzBuzz') \t                      
  else: \t                                    
    print(number) \t                          
  \n                                          
  --------------------------------------------
 ③実行結果/*〔「>>>30」⇒「number = int(30) 」〕*/
  --------------------------------------------
  30                                          FizzBuzz
  --------------------------------------------
(6)Ex.6:

--------------------------------------------------------------------------------
`▲


%716:補遺
`▼
--------------------------------------------------------------------------------
(0)付則(簡略化記法)/*〔□は原稿の文字列〕*/
 ①「□」で改行
 ②「_□」は字下げ
 ③「`(□)`}」は長語/*〔□は10文字以上で80文字以下の文字列〕*/
 ④「`{□`}」は長文/*〔□は10行以上で80行以下の文〕*/
 ⑤「長語」「長文」は「+」の連鎖に分解してもよい/*〔「+」で改行〕*/
 「複合文」の連鎖を「ブロック」と略記する./*〔非「block」(1)①〕*/
 「ブロック」内で「goto 文」を使ってもよい
(2)「if 文」/*[%713](1)*/
 ①「if A:」+「_P」+「elif B:」+「_Q」+「else:」+「_R」
(3)「for 文★」/*[%713](2)*/
 ①「for x in L:」+「_P」./*〔e.g.「L:」=「 ['a', 'b', 'c']」〕*/
 ②「for x in range(N)」+「_P」
 ③「for x in L:」+「_P」+「_continue」
  /*〔「_P」=「_if A:」+「_Q」+「else:」+「_R」〕*/
 ④「for x in L:」+「_if A:」+「_P」+「__break」
  「_if B:」+「_Q」+「_continue」
(4)「while文★」
(5)行番号
(6)組み込み関数
 ・数論および数表現の関数
  math.ceil(x):x の「天井」 (x 以上の最小の整数) 
  math.floor(x):x の「床」 (x 以下の最大の整数)
  math.comb(n, k)
(7)正規表現
 ・特殊文字を以下に示します:
 '.':改行以外の任意の文字にマッチ/*〔小数点に支障〕*/
 '^':文字列の先頭にマッチ/*〔べき乗に支障〕*/
 '$':文字列の末尾/*〔「名前空間★」に支障〕*/
(8)「(7)」への補足
 ・「Python7」uses the following expressions which are against「(7)」.
(1)〔小数点に支障〕:「S = 5 * 5 * 3.1416」
(2)〔べき乗に支障〕:「(x + 2) * (x + 3) = x^{2} + 5 * x + 6」
(3)〔「名前空間★」に支障〕:「class $Py8」「class $Py9」を使いたい.
--------------------------------------------------------------------------------
`▲/*chars in {'$', '?' , '`'} are invalid.*/

%717:Note in English
`▼
--------------------------------------------------------------------------------
(0)【%715:試行例】/*「(2)-(4)」*/are explained
--------------------------------------------------------------------------------
`▲①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳〔〕【】

%718:FAQ
`▼
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
`▲

%719:EOF(@L1H)

2020年8月8日土曜日

%P810:Python8暫定仕様(1)

%P810:Python8暫定仕様(1)
「OctalPython」作成のための断片的備忘録です.
/*背景色は(茶: 編集・確認中; 灰色: 確認済; 緑: 非慣用記法; 白色: 初期化済)*/
/*「」は定義行のみ(他ではシアン).「」の語句があるパラグラフは「IDも」*/

%811:Python8(1)/*〔原案〕*/
`▼
--------------------------------------------------------------------------------
(0)「Octal_Python」は長いので「Python8」と略称.
・「Python7」に準拠して拡張仕様を検討する
(1)参考資料/*〔「Python7」のコピーに加筆〕*/
 ①【[Trial-1]】@「Python」試用録(1)」@
  https://oshino3.blogspot.com/2020/05/python.html
 ②【[Trial-5]】「if文による条件分岐 (2/2)」@
  https://oshino3.blogspot.com/2020/05/python5_48.html
 ③【[Trial-6]】「for文による繰り返し処理 (1/3)」@
  https://oshino3.blogspot.com/2020/05/python6.html
 ④【[Trial-14]】「Python」試用録(14)」@
  https://oshino3.blogspot.com/2020/06/python14.html
  ・%E11:資料の参照
  ・%E2:[Trial_□]のパラグラフに関するメモ
  ・%E3:行番号の付加
  ・%E4:使用不能文字対策
 ⑤【[Trial-18]】「Python」試用録(18)」@
  https://oshino3.blogspot.com/2020/07/python18.html
 ⑥【_tutorial】「パッケージ」@
  https://docs.python.org/ja/3/tutorial/modules.html#packages
 ⑦「Python7暫定仕様(1)」@
(2)「(1)④.E4
 ・これらの文字が文字列リテラルやコメントの外にある場合、無条件にエラーとなる
  /*〔これらの文字「$」,「?」,「`」の対策が不可欠〕*/
(3)「(1)④.E3」
 ・行頭ではなく次のようにしたい/*「'#'を行頭から48文字目に」*/
  ①「OctalPython」の行番号は奇数桁の8進数
  ②末尾の1桁の8進数は行末でのレベル
  ③ファイルの全角スペースはすべて半角スペース2個と置換
  ④「OctalPython」のコンソール画面(2枚)は8×16文字
   一方で表示し,他方をバックグラウンドで編集.
(4)[%11].[Trial_1]/*「WILD.pdf」*/の記号の表現/*【[%11]①】*/
 ①「 1 ?」は「0」,「1」のいずれかの数.
 ②「177?」は8進数「177」を超えない非負の整数(自然数)のいずれか
  ・【[%61](2)[Trial_6]】の非決定性構文で使用./*「(1)②」*/
 ③「$」に「self」を使う
 ④「read,.」,「write,.」に「input()」,「print()」を使う.
 ⑤「"1234"」は10進数/*〔「Python7」と同じ〕*/
(5)以下では奇数桁の8進数の先頭に「&」を付加して記述
  /*〔Python8では奇数桁にして「&01234_」=「"&01234"」=`'&01234'_」〕*/
 ①「 &1_?」は「0」,「1」のいずれかの数./*〔「?」はWILDの後置演算子〕*/
 ②「&177_?」は8進数「&177_」を超えない非負の整数(自然数)のいずれか
 ③「8進数」表示は論理演算が容易./*〔プログラミング教育に重宝〕*/
(6)【[%21](0).[Trial_2]】の「"abcdefg"」は文字列/*〔"12345"は10進数〕*/
 ①「`'abcdefg'_」=「"abcdefg"」/*「⑦(1)」*/
  /*〔①トークン「□」の先頭に「'`'」を置き末尾に複数個の
   「' '」を付加して左端の「' '」を「'_'」で置換〕*/
(7)「str8('abc\n')」を「line8('abc')」と略記.
 ①「block8(\9002\9line8('abc'))」は
  ブロック内の2行目が「str8('abc\n')」であることを明示.
 ②行頭のインデント量と「\9002\9」から[%E3](2)のコンソール画面を作成.
 ③「str8('\9002\9abc\n\9003\9def\n')」は
  「line8('\9002\abc')+line8('\9003\def')」と同じ.
 ④ブロック内の行数を「&777以下」に限定./*「末尾に空白行」*/
(8)「str9('ab\9embeded\9c\ndef\n')」の「\9embeded\9」はコメント
 ①インタプリタは「(7)②」の行末の6文字とコメントを削除したファイルを解釈実行
  /*「原稿の'\t'を'#\t'で置換」*/
 ②「FontTest★」
(9)[%82]以降は「177?」を「&177?」と表記./*【%8162】=【[%816](2)】*/ ①「`'0D'_」=「char(13)」=「&15」.
   /*〔【[%8101721]】=【[%810](1)⑦(2)①】〕*/
--------------------------------------------------------------------------------
`▲「□」内は「Courier」/*〔原稿では「SJIS」〕*/

%812:字句解析
`▼
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
`▲

%813:構文解析
`▼
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
`▲

%814:解釈実行
`▼
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
`▲

%815:補遺
`▼
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
`▲

%816:【[_Trial-14]】/*「%E3:行番号の付加」*/からの部分コピー
`▼
--------------------------------------------------------------------------------
(1)以下の数字はすべて8進数/*〔「8」(="8")は10進数〕*/
----------------------------------------
number = int(number) \t                     #001.1
                                            #002.1
if number % 3 == 0: \t                      #003.1
print('Fizz')                               #004.2
elif number % 5 == 0: \t                    #005.1
print('Buzz')                               #006.2
elif number % 17 == 0: \t                   #007.1
print('FizzBuzz') \t                        #100.2
else: \t                                    #101.1
print(number) \t                            #102.2
----------------------------------------
・「Nexus7」では「Courier」で「77字/行」は無理なので「60文字」に変更
 /*〔末尾の「\n」を除いて「77字」以下〕*/
①「OctalPython」の行番号は奇数桁の8進数
②末尾の1桁の8進数は行末でのレベル
③ファイルの全角スペースはすべて半角スペース2個と置換
④「OctalPython」のコンソール画面(2枚)は10×20(="8*16")文字
 一方で表示し,他方をバックグラウンドで編集.
--------------------------------------------------------------------------------
(2)[%82]以降では適宜,8進数の先頭に「&」を付加して偶数桁にする
--------------------------------------------------------------------------------
`▲

%817:Note in English
`▼
--------------------------------------------------------------------------------
(0)[%□E]]corresponds to the paragraph[%□]
(1)%810:(1)③
  /*〔characters ∈ { '$', '?', '`'} are always invalid !〕*/
(2)%810:(1)②
 ・「ja」:docs in Japanese. /*〔There exists many docs by python.org.〕*/
(3)%810:(4)②/*「WILD.pdf★」*/の記号の表現
  ・「num8(177)」is expressed simply 「&177 ?」where 「?」is a WILD operater.
  ・「&177 ?」is a natural number which is not greater than「&177」. 
(4)%810:(5)③
  ・「8進数」表示は論理演算が容易./*〔プログラミング教育に重宝〕*/
   「Octal number is  convenient to teach bitwise logic operation.
  ・Decimal page number itself is not important.
(5)[%810](6)①
  ・Any token「」 is expressed as「`_ in general.
  ・「`'abcdefg'_」is abbreviated as「"abcdefg"
(6)copied from[%717]/*chars in {'.', '^', '$'} are unavailable.*/
------------------------------------------------------------
  (0)「Octal_Python」uses the following expressions 「」which are 
  ★quite different from「https://docs.python.org/ja/3/library/re.html
  ☆quite different from「https://docs.python.org/3/library/re.html
  (1)小数点'.'」に支障:「S = 5 * 5 * 3.1416
  (2)べき乗'^'」に支障:「(x + 2) * (x + 3) = x^{2} + 5 * x + 6
  (3)名前空間'$'」に支障:「class $Py8」,「class $Py9」を使いたい.
------------------------------------------------------------
--------------------------------------------------------------------------------
`▲「re」:regular expression; 「支障」:interference

%818:List of PDF-files
`▼
--------------------------------------------------------------------------------
Galois-1.pdf /*「整数で考える剰余類」*/
Galois-2.pdf /*「実数で考える巡回群」*/
Galois-3.pdf /*「複素数で考える商群」*/
--------------------------------------------------------------------------------
`▲

%819:EOF(@L18)


2020年7月31日金曜日

複素数で考える商群(2)

・〔各ファイルの[%□]の背景色は茶:「確認中」; 灰:「確認済」; シアン:「初期化済」〕
・〔各項目[(□)]の背景色も同様 : 茶:「編集中」; 灰:「確認中」;   白:「未初期化」〕
[%727]を追加

%72:複素数で考える商群(2)/*「目次」*/
`▼
--------------------------------------------------------------------------------
%721:〔定理6.4〕(p.467)の紹介
%722:〔定理6.5〕(p.473)の紹介
%723:〔定理6.A〕(p.486)の紹介
%724:〔定理6.B〕(p.488)の紹介
%725:〔問6.23〕(pp.491-494)の紹介
--------------------------------------------------------------------------------
`▲「灰色」は別ファイル

%721:〔定理6.4〕の紹介
`▼
--------------------------------------------------------------------------------
(0)「`K⊂Q(a^{1/n}, W`(1/n))」とすると「Gal(`K(a^{1/n})/`K)」は巡回群
(1)参考資料
 ①【[%714P5]】
(2)「(1)①」で既述./*【[%604](0)③】*/
(3)〔定理6.7〕の証明(p.478)の〔「x = a_{0} + a_{1}*θ + … + 
  a_{n-1}*θ^{n-1}」( a_{i} ∈ `K )」
  と書くことができます」と「σで生成される位数 n の巡回群」という
  前提条件との関係が不明瞭
(4)〔定理6.9〕の「g(x)」も同様./*〔「σを使う」⇒「Q(W`(1/n)」〕?*/
 ①「Q(W`(1/n)」なら「`K」に「W`(k'/n)」( k'∈ `N(n) )が含まれるので自明?
 ②代数学の基本定理に基づいた「W`(k'/n)」を使うのは邪道
 ③「Δ(x/n)」( x ∈ `R)の鋸歯状非線形性には直観的に分かりやすい
  「W`(k'/n)」の式表現で対処できる!
 ④〔定理6.9〕の証明の「一工夫必要です…単位元 e がありますから」(p.484)は
  「e=W`(n/n)」として「W`(k/n)」で考える?
 ⑤「Q(10^{1/2}, 3^(1/15), W`(1/180))」には「W`(k' * 10)/180)」,
  「W`(k' * 15)/180」が含まれる./*「ζ = W`(1/180)」*/
--------------------------------------------------------------------------------
`▲/*「字数削減のため半角スペースを省略」*/

%722:定理6.5〕(p.473)の紹介
`▼
--------------------------------------------------------------------------------                         (0)「`K」が「1」の原始n乗根「ζ」を含む体で「`L/`K」はガロア拡大であるとする.
  「Gal(`L/`K)」が巡回群であるとき,「`K」の元「a」があって「`L」は
  「x^{n} - a = 0」の最小分解体となる.
(1)参考資料
(2)「x^{2} - 3 = 0」の最小分解体は「`Q(3^{1/2}, - 3^{1/2})」/*〔問5.8〕*/
(3)「x^{4} - 2 = 0」の最小分解体は「`Q(2^{1/2}, i_)
(4)「`Q(2^{1/2}, i_)」の基底は
--------------------------------------------------------------------------------
`▲

%723:定理6.10〕(p.486)の紹介
`▼
--------------------------------------------------------------------------------
(0)〔「f(x) = 0」の一つの解がべき根で表される〕
  ⇒〔「f(x) = 0」のガロア群は可解群である〕
(1)参考資料
 ①【[%714D1](1)】/*「可解群」*/
--------------------------------------------------------------------------------
`▲

%724:定理6.11〕(p.488)の紹介
`▼
--------------------------------------------------------------------------------
(0)群「`G」の位数が素数「p」を約数にもつとき「(g^{p} = e) ∧ (g ≠ e)」となる
  元「g」が存在する
--------------------------------------------------------------------------------
`▲

%725:問6.23〕(pp.491-494)の紹介
`▼
--------------------------------------------------------------------------------
(0)「x^{5} - 6 * x + 3 = 0」の解はべき根で表せないことを示せ
(1)参考資料
 ①[_Eisensteinの既約判定法]@https://ja.wikipedia.org/wiki/Eisensteinの既約判定法
 ②[4_アイゼンシュタインの定理]@https://mathtrain.jp/eisenstein
 ③[71_数学メモ]@「五次方程式の非可解性★」
 ④[71_数学メモ]@「代数的な解の公式★」
 ⑤[_ラグランジュの定理 (群論)]@https://ja.wikipedia.org/wiki/ラグランジュの定理 
(2)〔問6.23〕の解答の概要
 ①「P(x) = 0」のガロア群「`G」は対称群「`S_{5}」と同型
 ②「`S_{5}」は可解群でない./*〔定理2.28〕*/
 ③「P(x)」は「`Z」上の既約多項式./*「(1)②」*/
 ④「y = P(x)」のグラフから「P(x) = 0」の解は「{α_{k}; k ∈ `N(5)}」
 ⑤「[Q(α_{1}):`G] = 5」/*「(1)⑤」*/
 ⑥「`G」は「τ^{2}`G = σ^{5}`G = `G」である巡回群
 ⑦「②」と〔定理6.10〕の対偶より「(0)」の解を「べき根で表せない」
 ⑧次の命題は〔定理6.10〕の対偶と等価/*「(3)⑱」*/
  〔「P(x) = 0」のガロア群が可解群でなければ根をべき根で表せない〕?!
 ⑨「`S_{5}」は可解群でないから「(0)」の方程式の解は
  【〔定理6.10〕の対偶より?】べき根で表せない
 ⑩「⑥」の「`G」は「1個の互換」と「長さ5の巡回置換」で生成される
  /*「〔解答末尾〕(p.494)」*/
(3)補遺
 ⑯対称群
 ・集合 In = {1, 2, …, n} に対し、In から In への全単射全体の集合は
  写像の合成を積として群(n-次の対称群)になる。
 ・記号は「S_{n}」「Sym(n)」等
 ・n-次対称群の位数は n の階乗 n! である。
 ⑰交代群
 ・有限集合の偶置換全体がなす群
 ・記号は「A_{n}」「Alt(n)」等
 ・対称群「S_{n}」の指数 2 の交換子群であり、n!/2 個の元を持つ
 ⑱「(1)⑤」の「[Q(α_{1}):`G]」は「Q(α_{1})」における「`G」の指数
  「Q(α_{1}) = Q(α_{1}, …, α_{5})」
 ⑲「(2)⑨}」のを削除?
  ・「代数学の基本定理」を認めれば「Q(α_{1}」の存在は自明.
 ⑳「(2)⑥」の「`G」は5次の交代群/*「非可解群」*/
--------------------------------------------------------------------------------
`▲複数のファイルがあるときの更新ミスで「(2)」が脱落

%728:あとがき
`▼
--------------------------------------------------------------------------------
(0「ガロア理論の頂を踏む★」(https://www.beret.co.jp/books/detail/487)
 に関するブログを一応終了し,来週から「Python8の暫定仕様」の検討を始めます.
(1)PDFファイルは適宜修正し「tweet★」に追記. ★https://www.blogger.com/blog/post/edit/6859150935899261916/2675090862923361852
(2)アクセス解析のデータに励まされ,最終頁に辿り着きました.皆様の閲覧に感謝.
(3)無断で参照させていただいた資料の著者の方々に御礼申し上げます.
(4)/*「Thanks to my wife for supporting daily life」*/
--------------------------------------------------------------------------------
`▲

%729:
EOF

複素数で考える商群(1)

・〔各ファイルの[%□]の背景色は茶:「確認中」; 灰:「確認済」; シアン:「初期化済」〕
・〔各項目[(□)]の背景色も同様.  茶:「編集中」; 灰:「確認中」;  白:「未初期化」〕
[%714P4]を更新
[%714P5]を追加

%70:複素数で考える商群(1)/*「目次」*/
`▼
--------------------------------------------------------------------------------
%71:複素数で考える商群(1)
%711D1:〔定義71.1〕/*「多項式環」*/
%712D1:〔定義71.2〕/*「正規部分群」*/
%713D1:〔定義71.3〕/*「商群」*/
%713M1:[%629M1]への補足
%713P1:巡回符号とM系列
%713P2:「x^{3} - 3 * x - 1」の最小分解体
%714D1:〔定義71.4〕/*「可解群」*/
%713M2:商群に関する無責任メモ`
%714P3:〔問71.3〕/*「1のべき乗根の商群」*/
%714P4:〔問71.4〕/*「正数のべき乗根の商群」*/
%714P5:〔問71.5〕/*「既約多項式の剰余類の商群」*/
%72:複素数で考える商群(2)
%721:〔定理6.5〕(p.467)
%722:〔定理6.7〕(p.478)
%723:〔定理6.8〕(p.480)
%724:〔定理6.9〕(p.481)
%725:〔定理6.A〕(p.486)
%726:〔定理6.B〕(p.488)
--------------------------------------------------------------------------------
`▲「灰色」は別ファイル

%701:「gooブログ」の記事
`▼
--------------------------------------------------------------------------------
 [75_]「〔第1章〕の復習(5)」@https://blog.goo.ne.jp/blogmura-yy/e/44f62cc03d4d7c0d33d6a4fe59e26331
 [76_]「〔第2章〕の復習(6)」@https://blog.goo.ne.jp/blogmura-yy/e/1494b69f0bbb8c6d7793afb467dcafa0
 [77_]「〔第2章〕の復習(7)」@https://blog.goo.ne.jp/blogmura-yy/e/db7541e83f506a504199fa715a513b12
 [78_]「〔第2章〕の復習(8)」@https://blog.goo.ne.jp/blogmura-yy/e/2cb7c35acfcc634cf14d095283143f6b
 [79_blogmura-yy]「ピークの定理関連資料」@https://blog.goo.ne.jp/blogmura-yy/e/e8b60af195f9178367fb30154bde7914
--------------------------------------------------------------------------------
`▲

%702:正誤表
`▼
--------------------------------------------------------------------------------
(1)『ガロア理論の頂を踏む』(初版~6刷)正誤表
--------------------------------------------------------------------------------
`▲

%711:多項式環

%711D1:記号の定義/*「多項式環」*/
`▼
--------------------------------------------------------------------------------
(0)実数体を複素数体に拡大する解説を調べて要点を示せ.
(1)参考資料
 [%615D1](0)⑤/*「∠(K'/M)」*/
 [%626D1](2)/*「W`(K'/M)」*/
 [%629M1](0)⑤/*「ω(M; K')」*/
 ④[_多項式環#体上の一変数多項式環_K[X]]@
 ⑥[4_]「8 体の拡大とn次代数方程式の解法へ」@
(2)「(1)⑤」からの引用
実例として、複素数体「 `C」は実数体「`R」に「 i_^{2} + 1 = 0」を満たす i_ を唯一つ付け加えて得られる。
それに応じ、多項式「X^{2} + 1」は「`R」上既約であって
C ? R [ X ] / ( X ^{2} + 1 ) /*「\textstyle \mathbb {C} \simeq \mathbb {R} [X]/(X^{2}+1)」*/
という同型が成立する。/*「 ? 」の記号は「画像フォルダ★」に保存*/
https://blogimg.goo.ne.jp/user_image/4d/91/6893a2d16b6b470123c299910be9c50c.png

(3)「(1)⑥」からの引用
ここで,拡大体の表記法を紹介しておきます.体「F」に新たに代数的な元
「θ」を添加して拡大体を作るとき,その拡大体を「F(θ)」のように書きます.
特に,元を一個だけ添加して得られる拡大体を「単純拡大体」と呼びます.
複素数体は,実数体の拡大体で,拡大次数は「2」であることを確認してみてください.
(4)「`Q(x)」上の「n次」の多項式「P(x)」を「(x - α)」で除算した
 を「Γ(P(x)/(x - α))」,剰余を「Δ(P(x)/(x - α))」と表記.
 ①一般には通用しない非慣用記法です
 ②「α =' W`(1/3」とすると「Δ((x^{3} - 1)/(x - α)) = 0」であり
  「x^{3} - 1 = (x - 1) * (x^{2} + x + 1)」/*「(α^{3} - 1) = 0」*/
--------------------------------------------------------------------------------
`▲「(4)」を追加

%712:正規部分群

%712D1:記号の定義/*「正規部分群」*/
`▼
--------------------------------------------------------------------------------
(0)「正規部分群」に関する解説を調べよ.
(1)参考資料
 ①[_正規部分群]@https://ja.wikipedia.org/wiki/正規部分群
 ②[7_正規部分群]@
  https://www.sist.ac.jp/~kanakubo/research/hosoku/seiki_bubun.html
 ③[3_正規部分群に関する幾つかの性質]
@http://hooktail.sub.jp/algebra/NormalSubgroup2/
 ④[3_同型定理]@http://hooktail.sub.jp/algebra/Isomorphism/
 ⑤[4_正規部分群]@http://www.f-denshi.com/000TokiwaJPN/01daisu/080gun.html
 ⑥[_同型定理]@https://ja.wikipedia.org/wiki/同型定理
(2)【[%423TF](1).[%1B]】の紹介(灰色)
 @https://blog.goo.ne.jp/blogmura-yy/e/45a9e6897d614ae2de6acbb1e9dd5736
------------------------------------------------------------
(0)「H」,「N」が「G」の部分群であるとき
 (ア)「H∩N」は「G」の部分群
 (イ)特に「N」が「G」の正規部分群であれば「HN」は「G」の部分群
(1)原著の「HN」〔p.145〕は分かり難いので,「(`H1)(`N2)」を
 「`H1(`N2) = {(h, n); (h ∈ `H1) ∧ (n ∈ `N2)}」と表示./*「非慣用記法」*/
(2)上のように定めた「f: G → (G / N)」を「自然準同型」と呼びます./*〔p.147〕*/
------------------------------------------------------------
(3)【[1_61D1](3)】で定義した「`G=Δ(K'/M)'」( K'∈ `N(M) )に対して次の記号を定義.
 ①「`G」の元「x'」,「y'」の和を「`R」の加法で計算することを「GR`(「+」; `G)」と表記.
 ②「`G」の元「x'」,「y'」の積を「`R」の乗法で計算することを「GR`(「*」; `G)」と表記.
 ③「(1)」の「(`H1)(`N2)」は【[%60]】では使っていません
--------------------------------------------------------------------------------
`▲

%713:商群

%713D1:記号の定義/*「商群」*/
`▼
--------------------------------------------------------------------------------
(0)「商群」に関する解説を調べよ./*〔原著の索引には不在〕*/
(1)参考資料 
 ①[_商群]@https://ja.wikipedia.org/wiki/商群
 ②[3_商群]@http://hooktail.sub.jp/algebra/QuotientGroup/
 ③[81_noppoman]「商群」@https://note.com/noppoman/n/nb4bd7142700b
(2)「`Δ(K'/ M)'={Δ(K/ M); K ∈ `N(M)}」/*【[1_61D1](3)】*/だから
  「(0)」の解は「`G = {`Δ(1/ 3)', `Δ(2/ 3)', `Δ(3/ 3)'}」
(3)「`Δ(K'/ 3)'」は「Δ(K'/ 3)」を「代表元」とする「M」を法とする剰余類の
  元(集合)であり,慣用記法の「`Z/ 3 `Z」に等しい
(4)このブログの記法では「`Z/ 3 `Z」は「`Δ(K'/ 3)」( K ∈ `Z )と同じ集合
(5)「(1)③」から削除された図は〔問2.3〕(p.123①)の「N = eV ∪ σV ∪ σ^{2}V」を
「N = eV ∪ σ^{2}V ∪ σ^{4}V」/*「交代群」*/で置換した集合だった?
 /*〔「blogmura-yy」でログインしなければ確認不能*/
--------------------------------------------------------------------------------
`▲

%713M1`:[%629M1]への補足/*「幾何学的解釈」*/
`▼
--------------------------------------------------------------------------------
(0)[%629M1].[%62]を表示したタブと切り替えて読むことを想定.
  /*〔「Nexus7」でもタブを3個まで表示できる.「スマホ」は?〕*/
(1)参考資料
 ①[%62]@https://bonsai-juku.blogspot.com/2020/07/blog-post_64.html
  /*〔【[%629M1](3)②】を【(3)②】のように略記.〕*/
 ②[_巡回符号]@https://ja.wikipedia.org/wiki/巡回符号
(2)【(3)②】で定義した下記の非慣用記法を使うと考え易い
(`H1, `N2)" := {(h1', n2'); (h1', n2') ∈ `H1 × `N2 }
(3★)【(7)②】のように
  「`G0  =' {Δ(k / 15); k ∈ `N(15)}」
  「`H1  =' {Δ((k * 5) / 15); k ∈ `N(3)}」
  「`N2  =' {Δ((k * 3) / 15); k ∈ `N(5)}」
  「 g0' =' Δ(k0' / 15)」,
  「 h1' =' Δ((k1' * 5) / 15)」,
  「 n2' =' Δ((k2' * 3) / 15)」.
 として「`G0」の元を「_xy平面」上に表示すると
 「Δ(k0' / 15)」( k0' ∈ `N(15) )は「W`(k0' / 15)」に対応する
  /*〔{k1',k2',k0'}は独立変数.{h1',n2',g0'}は従属変数〕*/
(3☆)【(7)②】のように
  「`G0  =' {Δ(k / 15); k ∈ `Z(15)}」
  「`H1  =' {Δ((k * 5) / 15); k ∈ `Z(3)}」
  「`N2  =' {Δ((k * 3) / 15); k ∈ `Z(5)}」
  「 g0' =' Δ(k0' / 15)」,
  「 h1' =' Δ((k1' * 5) / 15)」,
  「 n2' =' Δ((k2' * 3) / 15)」,
 として「`G0」の元を「_xy平面」上に表示すると
 「Δ(k0' / 15)」( k0' ∈ `Z(15) )は「Z`(k0'/15)」に対応する
  /*〔{k1',k2',k0'}は独立変数.{h1',n2',g0'}は従属変数〕*/
(4)分数を使わない人は「(k1',k2',k0') = (1, 1, 2)」のときの(7)③
 「δ(3; 1)・δ(5; 1)・δ(15; 2)」/*〔「・」=「+」〕*/と考えて
 「(n1)(h2)(g0)」と略記している/*[%606](3)*/
 ①「δ(M; k') := M *Δ(k' / M) = k'」
 ②「(h1) + (n2) + (g0)」と書きたくない気持ちは分かるが
  「・」を省くから慣れないと分かり難い.
 ③「Δ(3 / 15) + Δ(k0' / 15) ∈ `H1」となる
  「`G0」の元は「Δ((±2) / 15)」
  /*〔「|k0'| = 2|」のとき「|k0'|」が最小〕*/
 ④「(n2)(g0) = (h1)」「(g0)(g0)^{_1} = 0」/*[%606](3)*/
 ⑤「`N2」がアーベル群なら
  「(g0)^{_1}(n2)(g0) = (g0)^{_1}(g0)(n2) = (n2)」
 ⑥「(g0)^{_1}(( h1), (n2))((g0)) = ((g0)^{_1}(h1)(g0),(n2))
 ⑦この例では「`H1」もアーベル群だから「⑥」の右辺は「`H1 × `N2」の元
 ⑧[%629M1](7)の「`Δ(k' / M)"」を使って集合を拡大できる
(5)【(7)(3★)】で馬脚が露われました
 ①各ファイル冒頭に挿入.対象パラグラフを「の[%□`:]」で明示
 ②「`R」では「Δ(M / M) = 0」であることを活用して「`N(M)」を使っていたが
  「Δ((M - k') / M)」が「Δ((- k') / M)」の代替にならないことが判明.
 ③「Δ((- k') / M)」に「W`((- k') / M)」を対応させればよい(円周上を逆回転).
 ④応急処置は「`Z(M) := {k; (k∈ `Z) ∧ (k < M)}」と定義して
「`N(M)」を「`N(M + 1)」で置換.
 ⑤最小の体は「`Δ(1 / 2) = {Δ(1 / 2), Δ(2 / 2)}」( 2 ∈ `Z(2) )
 ⑥除算「5 / (- 2)」の商は「- 2」,剰余は「- 0.5
  /*〔まず「Δ(- 2.5) = - 0.5」.「無理数」でも同じ〕*/
 ⑦「k'」( k' ∈ `Z(M) )に対する定義を次式のように修正する.
  「σ(Δ(k' / M)) := Δ((k' + 1) / M)」
  「τ(Δ(k' / M)) := -Δ(k'/ M)」
(6)以下は自然な準同型に関する無責任推測
 ①「(3)」の「`M2」の原始根を「`H1」の原始根に変換するのが自然な準同型
 ②とりあえず「Δ(k' / M)」を「_xy平面」上の点「W`(k' / M)」に対応させる.
 ③W`(M / M)」は乗法の単位元/*「W`(M / M) = 1」*/
  /*〔正統派は「δ(M; 0)」を「e」と表記.[%604](2)〕*/
 ④加法の単位元は不在だが「W`(k' / M) + W`((- k') / M) = 0
 ⑤加法と乗法法の単位元が存在すれば体になる./*[%612D1](3)*/
 ⑥「`G0」の元「W`(k' / M)」( k' ∈ `Z(15) )は「_xy平面」上の点.
 ⑦「_xy平面」上の図から「`Δ(1 / 5) ⊂ `Δ(1 / 15)」は自明.
  /*〔「W`((k' * 3) / 15) = W`(k' / 5)」( k' ∈ `Z(5) )〕*/
 ⑧「⑦」の「f(k') =' (k' * 3)」は同型写像.
 ⑨「`Δ(1 / 5)」は「<σ, τ>」の固定体./*「〔定理5.23〕(p.364)」*/
 ⑩数平面上の円の半径が変わると準同型写像になる./*「〔問5.4〕(p.288)」*/
 ⑪とりあえず線形空間の基底は考えない./*「〔問5.6〕(p.312)」*/
 ⑫「`Δ(k1' / 3)」と「`Δ(k2' / 5)」の元を「⑦」のように数平面上の
  「W`((k1' * 5) / 15)」「W`((k2' * 3) / 15)」に対応させる.
 ⑬「⑫」は複素数のままで計算できる./*「基底無用!」*/
(7)Q(x) =' 2 * (x^{8} - 1)」「P(x)=' x^{2} + 1」として剰余多項式を計算
 ①「Q(x) = (x^{4} - 1)*(x^{2} + 1)*(x^{2} - 1) 」だから
  「Δ(Q(x) / P(x)) = 2 * (x^{4} - 1)*(x^{2} - 1)
 ②「Δ(Q(x) / P(x))」は長さ「7」のM系列を生成する原始多項式
 ③「Δ(Q(x) / (x^{2} - 1))」も既約多項式
 ④★〔問5.9〕の「x^{3} - 3 * x - 1」の最小分解体の原始根は「2 * W`(1 / 9)」
 ④☆「(9)」参照./*「〔問5.9〕は「F_p{3}」の「F_p{3^{2}}」への拡大」*/
(8)「(7)①」への補足/*「W`(m / m) = 1」*/
 ①「(x^{2} - 5) = α^{2} * (x - α) * (x - α^{2})」
  /*〔「α^{k'} = 5^{1 / 2}* W`(k' / 2)」( k' ∈ `N(2) )〕*/
 ②「(x^{3} - 5) = α^{3} * (x - α) * (x - α^{2}) * (x - α^{3})」
  /*〔「α^{k'} = 5^{1 / 3} * W`(k' / 3)」( k' ∈ `N(3) )〕*/
 ③「(x^{8} - 5) = α^{8} * (x - α) *, …, * (x - α^{8})」
  /*〔「α^{k'} = 5^{1 / 8}* W`(k' / 8)」( k' ∈ `N(8) )〕*/
 ④「Δ(Q(x) / P(x)) = x^{6} - x^{4} - x^{2} + 1」
 ⑤「Q(5^{1 / m})」を追加するときは「5^{1 / m} * W'(k'/m)」の円で考える.
 ⑥「Q(x) = x^{n} - m」の形でないときは「⑤」は無効.
 ⑦〔定理3.2〕(p.201)の紹介は省略./*〔「F_{p}」上の多項式は整域〕*/
 ⑧数平面上の点「W`((k' * 4) / 8)」( k' ∈ `N(4) )には
  「W`(k' / 2)」( k' ∈ `N(2) )に対応する「`Δ(1 / 2)」と同型な
  な「8 / 2」個の有限体が含まれる.
 ⑨[%713P1]で拡大体「F_p{2^{3}}」上の巡回符号とM系列について補足する
(9)「(7)④」への補足/*〔「i_」は虚数単位[%605](3)⑤〕*/
              
 ⑤数平面上の点「W`((k' * 3) / 9)」( k' ∈ `N(3) )には
  「W`(k' / 3)」( k' ∈ `N(3) )に対応する「`Δ(1 / 3)」と同型な
  な「9 / 3」個の有限体が含まれる.
 ⑥説明が長くなるので[%713P2]補足./*〔問71.2〕*/
--------------------------------------------------------------------------------
`▲作業中/*〔背景色・フォントはオプション(省略可)〕*/

%713M2:商群に関する無責任メモ`▼
--------------------------------------------------------------------------------
(0)「商群」に関する解説を調べて要約せよ.
(1)参考資料
(2)抽象的な説明が多いのでとりあえず「(4)」を作成
(3)「(1)①」の解説の紹介/*「過剰引用を自粛」*/
 ①商群 G/G は自明群(ただ1つの元を持つ群)に、G/{e} は G に、同型である。
 ②G/N の位数、すなわち元の個数は、|G : N| に等しい。
 ③G の各元 g を g が属する N の剰余類に送る「自然な」全射群準同型
  π: G → G/N すなわち π(g) = gN が存在する。
 ④N を含む G の部分群たちと G/N の部分群たちの間には全単射な対応がある
 ⑤この対応は G と G/N の正規部分群たちに対しても成り立ち、
  対応定理として定式化される。
 ⑥商群のいくつかの重要な性質は準同型定理とに含まれている。
 ⑦G がアーベル、冪零、可解、巡回、あるいは有限生成ならば、G/N もそうである。
(4)素人の無責任推測(`N は `G の正規部分群)/*[%604](0)③*/
 ①「ω(n; k') := W`(k'/n)」,「`ω(n) := {`ω(n; k); k ∈ `N}」と定義
 ②「Δ(k1'/n) + Δ(k2'/n) = Δ((k1' + k2')/n)」
 ③「Δ(k1'/n) * Δ(k2'/n) = Δ((k1' * k2')/(n * n))」
 ④「g = ω(n; k')」であれば「g^{_1} = ω(n; (- k'))」./*[%604](0)⑨*/
 ⑤「`N := {ω(n; n); n ∈ `N}」とすると
  「∀n ∈ `N,∀g ∈ `ω(n),(g * n * g^{_1}) ∈ `N」
 ⑥「`Δ(k'/n) := {Δ(k/n); k∈ `N(n)}」は実数体上の加法でアーベル群.
 ⑦「ω(n; k1')*ω(n; k2') = ω(n; (k1' + K2')
 ⑦「ω(n; k1')*ω(n; k2') = ω(n; (k1' + K2')」
 以下の「⑪-⑮」は「(3)」の「①-⑤」に対応
 ⑪「e」の定義は「巡回群の単位元」で検索しても不明/*〔問2.5〕(p.131)*/
 ⑫「g = Δ(2/5)」ならば「 g が属する `N の剰余類」は「`Δ(1/5)」
 ⑬「g = Δ(2/5)」ならば「g^{_1}= Δ(3/5)」
 ⑭このブログでは「n = Δ(5/5)」を「W`(5/5) = 1」に対応させている
 ⑮「⑭」の「W`(2/5)」は「1」の左回り,「W`((- 2)/5)」は「1」の右回りの回転
 ⑯「W`(1/n)」は「`ω(n)」の原始根(どの元も単位円上の点)
 ⑰「n」が素数であれば「`ω(n)」は有限体になるので四則演算はあまり考えない
--------------------------------------------------------------------------------
`▲作業中

%713P1:巡回符号とM系列./*〔問71.1〕*/
`▼
--------------------------------------------------------------------------------
(0)「Fp_{2}」上の原始多項式「x^{3} + x^{2} + 1」が生成する「M系列」を示せ
 ①「M」が素数であれば【[%713M1](4)①】で定義した「δ(M; k')」は
  「`R」上の四則演算で体になる
 ②拡大体「F_p{2^{3}}」では「W`(k'/16)」( k'∈ `N(16) )上の点を
  点対「(W`(k' * 2)/16), (W`(k' * 2 + 8)/16))」で考える
 ③「②」の式では考えにくいので「`W[k']」( k'∈ `N(8) )を次式で定義.
  「`W[k'] :={W`(k' * 2)/16),W`(k' * 2 + 8)/16)}」
 ④「`W[k']」は基礎体と同型な体であり巡回符号では「α =' W`(1/8)」とおいて
  符号語を「`W[k']」に対応させる.
(1)参考資料[%713M1](1)②-⑤
(2)このパラグラフはガロア拡大体「Fp_{2^{n}}」との関係が気になる人の参考.
  原著の復習には無用./*〔「(3)」に「(0)」の解を提示〕*/
(3)時刻「t」での内部状態が「(r1(t), r2(t), r3(t))」で状態遷移が
 「r1(t + 1) = r1(t) (+) r3(t)」「r2(t + 1) = r1(t)」「r3(t + 1) = r2(t)」である
 「LFSR」の初期値を「(r1(0), r2(0), r3(0))=(1, 0, 0)」とすると
 生成されるM系列は「(r1(0), …, r1(7)) = (1, 0, 1, 1, 1, 0, 0)」の繰り返し.
 /*〔∀t∈`N,「r1(t) = r1(t + 8)」〕*/
 ①「r2(t)」の値に着目すると「(r2(1), …, r2(7)) = (1, 0, 1, 1, 1, 0, 0) 」
 ②「r1(t + 1) = x(t)」,「r1(t) + r3(t) = v(t)」,
  「r2(t + 1) = v(t)」,「r3(t) = y(t)」であるLFSRの回路構成を「z変換」で表すと
  「V(z) = z^{-1} * X(z) + z^{-2} * Y(z)/*〔「+」は「F_P{2}」での加算〕*/
 ③伝達関数「Y(z)/X(z)」は「(z^{-3})/(1 - z^{-2} - z^{-3})
(4)「gooブログ」の記事の紹介/*「二重誤り訂正符号」*/
------------------------------------------------------------
[4]
[5]
[6]
------------------------------------------------------------
(5)〔問5.14〕(p.344)に関するメモ
 ①「Q(2^{1/2}, 3^{1/2})」の元は有理数「{a, b, c, d} ⊂ `Q」を用いて
  「a * (2^{1/6} + b * (2^{1/3} + c * (2^{1/2}) + d」と表現できる.
 ②数平面上の点「W`(k'/6)」の図を考えれば自明
  「W`((k' * 3)/6) = W`(k'/2)」,「W`((k' * 2)/6)=W`(k'/3)
(6)「(5)②」への補足
 ①〔問5.6〕(p.312):「Q(2^{1/2})」の基底は「{2^{1/2}, 1}」
 ②〔問5.7〕(p.314):「Q(α)」の基底は「{α, …, α^{n}}」
 ③〔問5.13〕(p.343):「Q(2^{1/2} + 2^{1/3}) = Q(2^{1/2}, 2^{1/3})」
 ④〔問5.14〕(p.344):「Q(2^{1/2}, 2^{1/3})」の元は
  「a * 6^{1/2} + b * 6^{1/2} + c * 6^{1/3} + d」( {a, b, c, d} ⊂  `Q
 ⑤「①」の「{2^{1/2}, 1}」を「{W`(1/2), W`(2/2)}」に対応させる.
 ⑥「③」の「Q(2^{1/2}, 2^{1/3})」には「W`(k1'/2), W`(k2 '/3)」が混在
 ⑦「W`(k1'/2) ≡' W`((k1' * 3)/6)」,「W`(k2'/3) ≡' W`((k2' * 2)/6)」
 ⑧加減法,乗法に関しては「(5)②」はほぼ自明.
 ⑨除法に関しては〔問5.14〕の説明から
  「W`(k'/n)」 k' ∈ `N(n) )の逆数を「1/W`((n - k')/n)」と考える
(7)基底に関するメモ
 ①「(6)①」の基底「{2^{1/2}, 1}」が分かり難い
 ②とりあえず「1」に「W`(n/n)」を対応させる
 ③「n」が素数であれば「`Δ(1 / n)」は有限体だから
  「Q(α)={α, α^{2}, α^{2}, …, α^{n}}」./*〔α =' m^{1/n}〕*/
 ④★「τ(3^{1/2}, 2^{1/2})」(p.367)の「τ」の定義式が不明./*「取り消し」*/
 ④☆〔問2.1〕(p.98)では
  「σ」:「正三角形」の「120°」回転(左回り)
  「τ」:「_xy平面」の「y軸」と対称な点への移動
 ⑤ブログでは「τ(W`(k'/n)) := - W`(k'/n)」と定義./*[%629M1](2)⑤*/
 ⑥原著の「対称軸で折り返し」(p.360)の図よりも
  「F_p{3^{2}}」や「F_p{2^{8}}」の元を考えやすい!
 ⑦「n」が奇数なら「τ(W`(k'/n)) = W`((n + (n - k') * 2)/(2 * n)」
  ・「W`(((n - k') * 2))/(2 * n)) = W`((n + (n - k') * 2)/(2 * n)」
  ・「τ(W`(n + 10)/(2 * n)))」は「W`(5/n)」の「原点と対称な点への移動
 ⑧「`Q(x)」は有理係数多項式の集合であるが整係数多項式の集合を考えるときは
  「⑥」の方がよいかも./*〔数学者の関心は「代数的整数★」に移行済み?〕*/
 ⑨[%713P1]の原始多項式「x^{3}+x^{2}+1」で生成される拡大体  
  「F_p{2^{3}}」では原点に関して対称な点対が部分群.
--------------------------------------------------------------------------------
`▲作業中./*〔「(3)②」の「(+)」は排他的論理和〕*/

%713P2:「x^{3} - 3 * x - 1」の最小分解体./*〔問71.2〕*/
`▼
--------------------------------------------------------------------------------
(0)「x^{3} - 3 * x - 1」の最小分解体を示せ./*〔問5.9〕(p.322)*/
 ・字数削減のため「□ / □」を「□/□」と略記.
(1)参考資料
 ①[_拡大体]@Wikipedia
 ②[3_拡大体]@hooktail
 ③〔定理5.2〕(p.287)/*「最小多項式」*/
 ④〔定義5.7〕(p.320)/*「最小分解体」*/
(2)まず「β =' 2 * cos(40°)」として「β^{3} - 3 * β + 1 = 0」を確認する.
 ①「β/2 = W`(1/9) + W`(8/9)」./*「cos(40°) + cos(320°)」*/
 ②「β^{3} 」を計算すると 
  「W`(3/9) + 3 * (W`(2/9)* W`(8/9) + W`(1/9) * W`(7/9)) + W`(6/9)
  /*「(x + y)^{3} = x^{3} + 3 * (x^{2} * y + x * y^{2}) + x^{3}」*/
 ③「β^{3} = W`(3/9) + 3 * (W`(10/9) + W`(8/9) ) + W`(6/9)
 ④「W`(1/3) = (-1 /2)+ 3^{1/2}*(i_)
 ⑤「W`(2/3) = (-1 /2)- 3^{1/2}*(i_)
 ⑥したがって「β^{3} - 3 * β + 1 = 0
 ⑦「β」は「x^{3} - 3 * x + 1」の一つの実数解だから実係数2次方程式
  「Δ((x^{3} - 3 * x + 1)/(x - β)) = 0」の解を「{γ, α}」とすると
  最小多項式は「(x - β) * (x - γ) * (x - α)
 ⑧「x^{9} - 1」には「`Δ(1 / 3)」と同型な部分群が3個存在する.
   /*[%713M1](9)*/
 ⑨〔問5.9〕(p.323)の「{α, β, γ}」は「F_p{3^{2}}」の元ではない
(3){α^{3}, α^{6}, α^{9}}」と合同な正三角形の頂点は「- 40°」回転した
  {α^{2}, α^{5}, α^{8}}」,「{α^{1},α^{4}, α^{7}}」.
(4)「gooブログ」の記事の紹介
 ①GF(3)の拡大 (1) 
 ①「α =' W`(1/3)」とおくと「W`((k' * 3)/9) = W`((k')/3)」k' ∈`Z(3)
 ②「W`((k')/3)」は「Δ((k')/3)」の数平面表示
 ③[%713M1](5)により「k'」の定義域を「`N(3)」から「`Z(3)」に移動
 ④「M」が素数であれば「`Δ(1/M) = {Δ(k/M); k ∈ `Z(M)}
  /*「W`(M/M) = 1」*/
 ⑤点「W`((k')/M)」は「`Δ(1/M)」の元「Δ((k')/M)」の数平面表示
 ⑥巡回シフト演算子「σ」は「σ(Δ(k'/M)) := Δ((k' + 1)/M) k' ∈ `Z(M)
 ⑦反転演算子「τ」は「τ(Δ(k'/M)) := Δ((- k')/M) k' ∈ `Z(M)
 ⑧演算子「σ」,「τ」は巡回群「`Δ(k'/M)」上の同型写像.
 ⑨「⑧」の「M」は素数でなくてもよい./*既約剰余類は「`Δ(k/M)'」*/
 ⑩「Δ(x') x' ∈ `R 「x'」の小数部で「Γ(x')」は
  「x' - Δ(x')」を超えない最大の整数./*[%611D1]*/
 ⑪「σ^{6}」,「τ^{2}」は「`Δ(1/6)」上での恒等写像
 ⑫「τ(Δ(k/6))」は単位円上の点の逆回転./*「W`(5)/6) + W`((- 5)/6) = 0」*/
(6)「τ」による同型写像./*「τ(`Δ(1/9)) ≡' `Δ(1/9))」*/
 ①「τ(Δ(k'/M)) = -(k'/M))=  -((M - k')/M))」./*「(5)⑦」*/
 ②「{α^{3}, α^{6}, α^{9}}」と合同な正三角形は
  「{W`(3/18), W`(6/18), W`(9/18)}」.
   /*「W`(6/18) = - α^{3}」,「W`(6/18) = - α^{6}」,「W`(9/18) = - α^{9}」*/
 ②「{α^{3}, α^{6}, α^{9}}」と合同な正三角形は
  「{W`(3/18), W`(6/18), W`(9/18)}」.
   /*「W`(6/18) = - α^{6}」*/
 ③「②」の二つの正三角形の頂点は原点に関して点対称
  /*「(x + y * (i_)) +((- x) + (- y) * (i_)) = 0 」*/
 ④〔問5.20〕(p.399)の「`Q(2^{1/2}, i_)」でも数平面上の正方形の頂点
  「W`(k'/4)」( k' ∈ `Z(4) )の移動を次式のように考える方が分かりやすい
  「σW`(k'/4) = W`((k' + 1)/4)」,「τW`(k'/4) = - W`(k'/4)
 ⑤問5.20〕の「x^{4} - 2」は「β =' 2^{1/4}を用いて直接因数分解できる
  「x^{4} - β^{4} = (x^{2} + β^{2}) * (x + β) * (x - β)
  「x^{2} + β^{2} = (x + β * i_) * (x - β * i_)
 ⑥「⑤」の「x^{4} - 2」の元は点「β*W`(k'/4) k'∈ `Z(4) に対応
(7)基底に関するメモ
 ①「(6)①」の基底「{2^{1/2}, 1}」が分かり難い
 ②とりあえず「1」に「W`(n/n)」を対応させる
 ③「n」が素数であれば「`Δ(1 / n)」は有限体だから
  「Q(α)={α, α^{2}, α^{2}, …, α^{n}}」./*〔α =' m^{1/n}〕*/
 ④★「τ(3^{1/2}, 2^{1/2})」(p.367)の「τ」の定義式が不明
 ④☆〔問2.1〕(p.98)では
  ・「σ」:「正三角形」の「120°」回転(左回り)
  ・「τ」:「_xy平面」の「y軸」と対称な点への移動
 ⑤ブログでは「τ(W`(k'/n)) := - W`(k'/n)」と定義./*【[%629M1](2)⑤】*/
 ⑥原著の「対称軸で折り返し」(p.360)の図よりも
  「F_p{3^{2}}」や「F_p{2^{8}}」の元を考えやすい!
 ⑦「n」が奇数なら「τ(W`(k'/n)) = W`((n + (n - k') * 2)/(2 * n)」
  ・「W`(((n - k') * 2))/(2 * n)) = W`((n + (n - k') * 2)/(2 * n)」
  ・「τ(W`(n + 10)/(2 * n)))」は「W`(5/n)」の原点と対称な点への移動
 ⑧「`Q(x)」は有理係数多項式の集合であるが整係数多項式の集合を考えるときは
  「⑥」の方がよいかも./*「代数的整数★」*/
 ⑨【[%713P1]】の原始多項式「x^{3}+x^{2}+1」で生成される拡大体  
  「F_p{2^{3}}」では原点に関して対称な点対が部分群
(8)「`Δ(k'/M)」の元についても「α =' W`(1/25)」で考えると「(6)」と同様
 ①「{α^{5}, α^{10}, α^{15}, α^{20}, α^{25}}」と合同な正五角形は
  「{W`(5/50), W`(10/50), W`(15/50), W`(20/50), W`(25/50)}」.
 ②単位円に内接する正五角形の一辺の長さは「2 * sin(72°)」
 ③「W`(1/5)=cos(72°) + i_ * sin(72°)」/*「(360°)/5 = 72°」*/
  「W`(4/5)=cos(72°) - i_ * sin(72°)」
  /*〔「W`((- k')/5) = W`((5 - k')/5) k' ∈ `Z(5) 〕*/
 ④「正三角形」のときは「W`(1/3) - W`(2/3)」
  「正九角形」のときは「W`(1/9) - W`(8/9)」
 ⑤〔問6.1〕(p.414)の図は「ζ = W`(1/5)」(原始根),「ζ^{4}= W`(4/5)」
 ⑥「β =' sin(72°)」と定めると「W`(1/5) - W`(4/5) = 2 * (i_) * β」だから半径
  「(W`(k'/5)/β」( k' ∈ `Z(5) )の点を描くと半径「1/β」の円上にある
  正五角形の一辺の長さが「2」(整数)になる.
 ⑦「x^{5} - 7 = 0」の根「α =' 7^{1/5}」を含む「`Q(α)」を考えたいときは,
  α^{5} * W`(k'/5) k' ∈ `Z(5) /*〔「W`(1/5)」: 原始根〕*/
--------------------------------------------------------------------------------
`▲「k」は定数(の例),「k'」は変数(要変域).

%713P3:問71.3〕/*「1のべき乗根の商群」*/
`▼
--------------------------------------------------------------------------------
(0)「Q(x) =' (x^{3} - 1) / (x - 1)」の右辺の除算の商を求めよ
(1)参考資料
 ①[%615D1](5)/*「∠(K'/M)」*/
 ②[%626D1](2)/*「W`(K'/M)」*/
 ③[%629M1](0)⑤】/*「ω(M; K')」*/
 ④[%711D1](4)/*「Δ(P(x)/(x - α))」*/
 定理5.23〕(p.364)/*「固定体」*/
 定理5.24〕(p.365)/*「固定群」*/
 ⑦[_多項式環#体上の一変数多項式環_K[X]]@
 ⑩[%713M2]/*「商群に関する無責任メモ」*/
(2)「Γ((x^{3} - 1)/(x - 1)) = x^{2} + x + 1」
(3)「α =' W`(1/3」とすると「(α^{3} - 1) = 0」であり
  「x^{3} - 1 = (x - 1) * Γ(x^{3} - 1)/(x - α))」
 ①「ω(n; k')」は「Δ(k'/n)」の数平面表示)
 ②一般に「ω(n; n) = 1」「ω(n; k') + ω((n - k')/n) = 0」
 ③「ω(n; n)」は乗法の単位元,加法の単位元「0」は「`ω(n)」に存在しないが
  逆元が存在するので「`ω(n)」は巡回群と同型./*[%6_]*/
 ④「③」の「n」が素数であれば「`ω(n)」は位数「n」の有限体
(4)「`Q(x)」上の「n次」の多項式「P(x)」を「(x - α)」で除算した
 商を「Γ(P(x)/(x - α))」,剰余を「Δ(P(x)/(x - α))」と表記.
 /*〔一般には通用しない非慣用記法!〕*/
 ①「α =' W`(1/n)」(n > 1)とすると「α^{n} = 1
 ②「x^{2} - 1 = (x + 1) * (x - (- 1)^{2})」
  /*「α = - 1」*/
 ③「x^{3} - 1 = (x - α) * (x - α^{2})* (x - α^{2})* (x - α^{3}))」
  /*「α = W`(1/3) = cos∠(1/3) + i_ * sin∠(1/3)」*/
 ④「x^{4} - 1 = (x - (i_)) * (x -(-1)})* (x - (- i_))* (x - (1))」
  /*「α = W`(1/4) = i_」*/
 ⑤「x^{5} - 1」は「(x - α^{k'})」( k' ∈ `N(5) )の積  
  /*「α = W`(1/5) = cos∠(1/5) + i_ * sin∠(1/5)」*/
(5)分数を使わない人の説明は「W`(n/n)」の代わりに「e」を用いるので分かり難い.
 ①例えば原著の「σ^{3} = e」(p.128)
 ②「W`(n/n)」は「`Δ(k'/n)」の「k' = n」に対応する準同型写像の核
--------------------------------------------------------------------------------
`▲字数削減のため「□ / □」を「□/□」と略記

%713P4:問71.4〕/*「正数のべき乗根の商群」*/
`▼
--------------------------------------------------------------------------------
(0)「Δ(x^{n} - a)/(x - β^{n}))」(β =' a^{1/n})を求めよ
(1)参考資料
 ①[%714P3☆](1)
 ②〔問6.19〕(p.463)
 ③〔問6.20〕(p.463)
(2)「Q(x) =' x^{n} - a」( k' ∈ `Z(n) )とおくと「β^{k'}」は
  「 x^{n} = a」の相異なる根であり,次式が成立/*「β^{n} = a」*/
 ①「x^{n} - a = (x - β)*(x - β^{2})* … *(x - β^{n})」
 ②「Γ(x^{n} - a)/(x - a)) 
   = (x - β)*(x - β^{2})* … *(x - β^{n - 1})
 ③「β^{k'}」( k' ∈ `Z(n) )は数平面上の半径「β」の円周上の点
 ④「ガロア拡大」では「`Q(β)」( β は無理数 )を加えると自動的に
  数平面上に「β * W`(k'/m)」( k' ∈ `Z(n) )が追加される./*「(1)②」*/
(3)「x^{n} - 2」のガロア群/*〔問6.19〕*/
 ①「β = 2^{1/n}」「ζ^{k'} = W`(k'/n)」として考える./*「ζ = W`(1/n)」*/
 ②「Q(β,ζ) = β * (x - ζ) * (x - ζ^{1}」
 ③「Q(β,ζ) = β * (x - ζ) * (x - ζ^{2})」
 ④「Q(β,ζ) = β * (x - ζ) * (x - ζ^{2})* (x - ζ^{3})」
 ⑤「Q(β,ζ)」は「β」と「(x - ζ^{k'})」( k' ∈ `Z(4) )の積
(4)基底に関する無責任メモ
 ①「Q(1, ζ)」の基底「1」は「1 * W`(k'/n)」への対応付け?
 ②「Q(β, ζ)」の基底「β」は「β * W`(k'/n)」への対応付け?
 ③「Q(x) =' (x^{n} - 1)」,「a =' β^{n}」とおくと「Q(a) = 0」だから商は
  「Q(x)/(x - a) = Γ((x^{n} - 1)/(x - β^{n}))
 ④「(3)④」の例では「β * (x - W`(1/3)) * (x - W`(2/3))* (x - W`(3/3))
 ⑤「④」は〔定理6.4〕(p.467)の巡回拡大「Gal(`K(a^{1/n})/`K)」
 ⑥原著の「Q(ζ)」は剰余類「`Δ((x^{n} - 1)/(x - 1))
-------------------------------------------------------------------------------
`▲背景色はオプション

%713P5:問71.5〕/*「既約多項式の剰余類の商群」*/
`▼
--------------------------------------------------------------------------------
(0)x^{5} - 2」は「Q(ζ)」上の既約多項式であることを示せ
(1)参考資料
 ①〔問6.20〕(p.463)
 ②〔定義2.3〕(p.178)/*「可解群」*/
 ③〔定理3.4〕(p.204)/*「Eisensteinの判定条件」*/
 ④〔定義5.8〕(p.380)/*「ガロア拡大」*/
 ⑤〔定理5.29〕(p.381)/*「Q(α)がガロア拡大体になる条件」*/
(2)[%714P4](3)⑤の「Q(β, ζ)」は「(1)⑤」の条件を満たしている
(3)[%714P4](4)⑤と同様に「`Δ((x^{5} - 2)/(x - 2^{1/5}))」も巡回拡大
--------------------------------------------------------------------------------
`▲

%714:可解群

%714P1:〔定義2.3〕の復習
`▼
--------------------------------------------------------------------------------
(0)「可解群」に関する解説を調べよ.
(1)参考資料
 ①[_群_(数学)]@https://ja.wikipedia.org/wiki/群_(数学)#可解群・交換子群・冪零群
  ・[_可解群]@https://ja.wikipedia.org/wiki/可解群
 ②[3_ガロア群と可解群]@http://hooktail.sub.jp/algebra/Radicals/
 ③[3_]「可解群について補足」@http://hooktail.sub.jp/algebra/SolvableGroupsApp/
 ④[4_]「10-2  交換子群と可解群」@http://www.f-denshi.com/000TokiwaJPN/01daisu/101gun.html
 ⑤[6_peng225]「群が可解でないための条件」@http://peng225.hatenablog.com/entry/2017/09/22/143833
 ⑥[7_]「可解群」@https://www.sist.ac.jp/~kanakubo/research/hosoku/kakaigun.html
 ⑦定義2.3〕(p.178)
 ⑧定理2.25〕(p.179)
(2)「(1)⑥」の紹介/*「過剰引用を自粛」*/
------------------------------------------------------------
対称群が、開法で正規部分群に縮小し、さらにその中の正規部分群に縮小し、
最終的に正規部分群でもある恒等置換一つになる必要があるという事だ。
この事を記号で書くと、以下のようになる。
このような列を正規列という。
ガロアは、式の値を不変にする解の置換の群が以下の条件を満たすとき、
方程式が代数的に解ける必要十分条件である事を見出した。
①正規列を持つ(最後は恒等置換となる)。
②正規列の全ての剰余群(上記の例ではSn/H0、H0/H1等)が、巡回群とな
②正規列の全ての剰余群(上記の例ではSn/H0、H0/H1等)が、巡回群となる。
この条件を満たす群を、方程式が解けるという意味で可解群という。
------------------------------------------------------------
(3)「(1)⑧」の紹介
 ①巡回群は可解群
 ②巡回群の直積は可解群
 ③具体例として「`Δ(1/3)」「`Δ(1/5)」「`Δ(1/7)」を使用
(4★)「(1)⑩」/*「削除済」*/の紹介
「(1)」から削除された図は〔問2.6〕(p.133)の「eV ∪ σV ∪ σ^{2}V」を
「N = eV ∪ σ^{2}V ∪ σ^{4}V」/*「交代群」*/で置換した集合だった?
/*〔「blogmura-yy」でログインしなければ確認不能*/
--------------------------------------------------------------------------------
`▲続きは[%721M1]

%715:「ピークの定理」(p.480)
`▼
--------------------------------------------------------------------------------
(0)〔「f(x)=0」の解がべき根で表せる〕⇔〔「f(x)=0」のガロア群が可解群である〕
(1)参考資料
 ①〔定理6.8〕(p.480)
 ②〔定理6.10〕(p.486)
--------------------------------------------------------------------------------
`▲

%719:EOF