はてなキーワード: ユークリッドの互除法とは
公理から初めて論述によって命題を示すという手法は現代数学の基本
ユークリッド幾何学では厳密な論証を学ぶことができる
もしユークリッド幾何学を学ばなければ抽象代数学などが理解できなくなることは明らか
微分積分などだけを教えていると群論やガロア理論などが理解できなくなってしまう
ガロア理論では作図が主に扱われるからユークリッド幾何学応用になっている
ユークリッド幾何学はまず中初等教育において論述を教える題材として適している
代数などはただの計算であって厳密ではないがユークリッド幾何学は公理から始めて曖昧さなく命題を示す
これは現代数学の基本であって群論やガロア理論を学ぶ際に必要な能力
代数では多項式とは?集合とは?などが厳密に説明されていないがユークリッド幾何学には曖昧さは無い
ユークリッド幾何学が扱う題材は図形であって初等教育にも馴染みやすい
現代数学を厳密に展開するには公理的集合論まで遡らねばならないが
このような条件を満たす単元は他には無い
群論やガロア理論などの抽象代数学はユークリッド幾何学の考えを継承している
これらが確立されたのは18世紀であり微分積分などはそれよりも大分昔の理論だから厳密性がない
ユークリッド幾何学は現代数学のモデルであるから論述を教えることができる
群論やガロア理論は対称性を扱う数学で対称性とは回転や相似変換などの一般化だから
やはりユークリッド幾何学を学ぶことは群論やガロア理論を学ぶことに役立つ
特に群論では、群の正規群(特異点を持たない群)による商で対称性を分類する
この割り算にはユークリッドの互除法のアルゴリズムを用いることができるからユークリッド幾何学の応用になっている
群論の一部であるリー群ではユークリッド空間の回転である直交群を扱うからこれもユークリッド幾何学が直接役に立つ
ユークリッド幾何学では公理系から始めて命題を証明するがこれは現代数学の基本
群論やガロア理論もこのスタイルを継承していてユークリッド幾何学を学ばないと抽象代数学が理解できない
ガロア理論はユークリッド幾何学と同様に、対称性の公理から作図可能性を論ずる
これはいくつかの公理から始めて可能な手順の組み合わせを厳密に論述することで様々な図形を作図していく
ヒルベルトが提唱した円積問題などもこの応用であって、現代数学において極めて重要
ユークリッド幾何学は公理から始めて論述のみによって命題を証明する
これは現代数学の基本であってガロアの理論やヒルベルトの理論などがその手法を受け継いでいる
ユークリッド幾何学をやらないと抽象代数学などを理解できなくなってしまう
ここでいう「ユークリッド幾何学」とは、座標空間、ベクトル、三角関数、微分積分などの解析的手法を用いないいわゆる総合幾何学のことです(*1)。2020年8月現在の高校数学のカリキュラムでいえば、「数学A」の「図形の性質」に該当する分野です。
ユークリッド幾何学が不要だと思う理由は単純明快で、何の役にも立たないからです。大学に入って、「補助線を引いて、相似な三角形を作って~」とか「コンパスと定規による作図」みたいなパズルゲームをやることは絶対にありません(*2)。これは常識で考えても分かると思います。たとえば工学の研究で、ある物体の弧長や面積などを測定しなければならないとして、ユークリッド幾何学の補助線パズルが適用できる多角形や円などしか測れないのでは話になりません。一方、座標空間、ベクトル、三角関数、微分積分などの手法は一般的な現象を記述する上で必ず必要になります。
もちろん、たとえば三角比を定義するには、「三角形の内角の和は180度である」とか「2角が等しい三角形は相似である」といった初等幾何学の性質が必要になります。そのようなものを全て廃止せよと言っているわけではありません。しかし、高校1年生で習う余弦定理:
を証明してしまえば、原理的にはユークリッド幾何学の問題は解けます。それ以降は、ユークリッド幾何学的な手法や問題設定にこだわる必要はないと思いますし、実際それで問題ありません。
現状、少なくない時間がユークリッド幾何学に費やされています。数学の1単元を占めているだけではなく、その他の単元にもユークリッド幾何学の発想に影響された例や問題が多く登場します。たとえば、複素平面において4点の共円条件や垂直二等分線を求めさせる問題など。そして最も労費されているのは生徒の自習時間です。以前よりマシになったとはいえ、大学入試等には技巧的な図形問題が出題されるため、受験生はその対策に多大な時間を費やしています。
高校数学では以下のような事項が重要だと思います。ユークリッド幾何学を学ばせている時間があったら、このような分野を優先的に修められるようにすべきです。
これらの分野は数学の手法としても非常に強力ですし、大学以降で数学を学ぶ際、現実的な問題を数学や物理の問題として正確に記述する際に必ず必要になります。仮にユークリッド幾何学が何らかの場面で応用されるとしても、微分積分などと同レベルに重要だと真剣に主張する人っていらっしゃるでしょうか?
ユークリッド幾何学を初等教育で教えるべきだとする根拠には、大雑把に言って以下の4つがあると思います。
まず①は明らかにおかしいです。ユークリッド幾何学に限らず、数学のあらゆる命題は証明されるべきものだからです。高校の教科書を読めば、相加平均・相乗平均の不等式、点と平面の距離の公式、三角関数の加法定理、微分のライプニッツ則や部分積分の公式など、どれも証明されています。そもそも、数学の問題はすべて証明問題です。たとえば、関数の極値問題は、単に微分が0になる点を計算するだけではなく、そこが実際に極値であるかそうでないかを定義や既知の性質に基づいて示す必要があります。したがって、ユークリッド幾何学だけが特に証明の考え方を学ぶのに有効だという理由はありません。
②もおかしいです。図形問題を扱うのはユークリッド幾何学だけではないからです。ベクトルや微分積分でも図形問題を扱います。たとえば、三角形の5心の存在や、チェバの定理、メネラウスの定理などはベクトルを用いても容易に示すことができます。また言うまでもなく、曲線の接線は微分で求めることができ、面積や体積は積分で求めることができます。また、ユークリッド幾何学の手法は問題ごとに巧い補助線などを発見しなければいけないのに対し、解析的な手法は一般に方針が立てやすく汎用的です。したがって、図形問題を扱うのにユークリッド幾何学の手法にこだわる理由はありません。
③は単なる個人の思い込みであり、科学的な根拠はありません。そもそも、数学教育の目的は「地頭」などを鍛えることではなく、「大学や実社会において必要な数学の素養を身につけること」のはずです。また、これも上ふたつと同様に「ユークリッド幾何学以外の数学では、『数学的直観』などは鍛えられないのか」という疑問に答えられておらず、ユークリッド幾何学を特別視する理由になっていません。
④もおかしいです。そもそも「歴史的に重要である」ことと「初等教育で教えるべき」という主張には何の関係もありません。歴史的に重要ならば教えるというなら、古代バビロニア、インド、中国などの数学は特に扱わないのはなぜでしょうか。もっと言えば、文字式や+-×÷などの算術記号が使われ始めたのでさえ、数学史的に見ればごく最近のことですが、昔はそれらを使わなかったからといって、今でもそれらを使わずに数学を記述するべき理由があるでしょうか。
数学で重要なのはその内容であるはずです。ユークリッド幾何学を擁護する論者は、「(表面的に)計算問題に見えるか、証明問題に見えるか」のようなところに価値を置いて、一方が数学教育的に有意疑だと見なしているようですが、そんな分類に意味は無いと思います。
大昔は代数の計算や方程式の解法(に対応するもの)は作図問題に帰着していたようですが、現代でそれと同様の手法を取るべき理由は全くありません。記述する内容が同じであれば、多項式や初等解析のような洗練された方法・重要な結果を導きやすい方法を用いればよいに決まっています(数学史家は別として)。同様に、ユークリッド幾何学も、解析的な手法で解ければそれでよく、技巧的な補助線パズルなどに興じたり、公理的な方法にこだわる必要はありません。
たとえば、放物線は直線と点からの距離が等しい点の軌跡として定義することもできますが、初等教育で重要なのは明らかに2次関数のグラフとして現れるものです。放物線を離心率や円錐の断面などを用いて導入したところで、結局やるのは二次関数の増減問題なのですから、最初から2次関数のグラフとして導入するのは理にかなっています。数学教育の題材は「計算問題か証明問題か」などではなく、このような観点で取捨選択すべきです。
三角比などを学んだあともユークリッド幾何学を教えたり、解析的な手法では煩雑になるがユークリッド幾何学の範疇ではエレガントに解けるような問題を出して受験生を脅したりするのは、意味が無いと思います。それは、「掛ける数」と「掛けられる数」を区別したり、中学で連立方程式を学ぶのに小学生に鶴亀算を教えるのと同様に、無駄なことをしていると思います。
----
(*1)
現代数学では、n次元ベクトル空間R^n = Re_1⊕...⊕Re_nに
(e_i, e_j) = δ_i,j (クロネッカーのデルタ)
で内積が定義される空間上の幾何学はすべてユークリッド幾何学に分類されます。したがって、上にあげた座標空間、ベクトル、微分積分、一次変換なども敢えて分類すればユークリッド幾何学です。しかし、ここではその意味でのユークリッド幾何学が不要と言っているのではありません。飽くまでも、技巧的な補助線問題や、公理的な方法にこだわることが不要だと言っています。
(*2)
数学科の専門課程で学ぶガロア理論では、コンパスと定規による作図可能性が論じられますが、これは「作図問題にガロア理論が応用できる」というだけであり、「ガロア理論を学ぶのに作図の知識が必要」というわけではありません。
中学高校の数学から、いわゆるユークリッド幾何学は廃止してよい。理由は単純明快で、何の役にも立たないからだ。
大学に入ったら、どの学部に行っても、「補助線を引いて、相似な三角形を作って〜」などと言ったパズルをやることは絶対にない。メネラウスの定理を高校卒業以降(高校数学の指導以外で)使ったことのある現代人はいないだろう。こういうことは、別に高等数学の知識の無い高校生でも、常識で考えて分かると思う。たとえば工学で、弧長や面積を測定する機器が必要になったとして、補助線パズルが適用できるごく一部の多角形などしか測れないのでは話にならない。現代の数学および科学技術を支えているのは、三角関数やベクトルや微分積分などを基礎とする解析的な手法である。
もちろん、たとえば三角比を定義するには「三角形の内角の和は180°である」とか「2角が等しい三角形は相似である」等のユークリッド幾何学の定理が必要になる。そういうものを全て廃止せよと言っているわけではない。しかし、余弦定理まで証明してしまえば、原理的にはユークリッド幾何学の問題は解ける。また、実用上もそれで問題ない。したがって、余弦定理を初等的な方法で示したら、ユークリッド幾何学の手法はお役御免でよい。
これらはいずれも、高等数学を学ぶ際に欠かせない基礎となる分野である。仮にユークリッド幾何学が何らかの場面で使われるとしても、いくらなんでも微分積分などと同等以上に重要だと主張する人はいないだろう。
現在、これらの分野は十分に教えられていない。微分方程式と一次変換は現在(2020年5月)のカリキュラムでは教えられておらず、ベクトルは文系の範囲から除かれ、代わりにほとんど内容の無い統計分野が教えられている。また、高校生にもなって、コンパスと定規による作図みたいなくだらないことをやっている。本当に、どうかしているとしか言い様がない。
ユークリッド幾何学を教えるべきとする根拠の代表的なものは、証明の考えに触れられるというものだ。つまり、代数や解析は計算が主体であるが、ユークリッド幾何学は証明が主体なので、数学的な思考力を鍛えられるというものだ。
しかし、これは明らかに間違っている。別にユークリッド幾何学の分野に限らず、数学のあらゆる命題は証明されなければならないからだ。実際、高校数学の教科書を読めば、三角関数の加法定理や、微分のライプニッツ則など、証明が載っている。そもそも、数学の問題は全て証明問題である。関数の極値問題は、単に微分が0になる点を計算するだけではなく、そこが実際に極値であることを定義に基づいて示さねばならない。数学的思考力を養うのに、ユークリッド幾何学が他の分野より効果的だという根拠は無い。
「学習指導要領から○○が消えたー。あり得ない。」は、教わった世代のノスタルジーを含むケースが多い。
「ベクトルが消えた!物理が教えられない!」 → 「力の合成くらい物理教師が頑張れ。どうせ微積を使わない高校物理なんか制限だらけだ。」
「行列が消えた!3DCGや機械学習が理解できない!」 → 「大学の線形代数で頑張らせろ。どうせ高校の行列なんてタダの計算練習かパズル。行列式も固有値も教えない程度だ。」
「数学Cがなくなっていた時代がかわいそう」 → 「数学Ⅲ 3単位と数学C 2単位を新しい数学Ⅲ 5単位として教えていただけ。どうせ数学C取ってる奴はほぼ数学Ⅲやってたんだし。」
と個人的には思うのだが、「理工系人材には高校数学の○○が必要だ」というのは高校数学に期待しすぎ。
あとは90%以上の人間が高校まで進学する時代に、共通の教養として必要な内容が高校数学でしょ?
ちなみに新しい学習指導要領でも復活する数学Cまで学習すればベクトルあるよ? 高校物理の力学に間に合わないだけで。
今の学習指導要領で数学Iに統計が入り、箱ひげ図や四分位図が必修だけど、40代以下はこんなのやってないっしょ。
今度はそれらは中学数学に下りていく。統計の検定まで高校数学に入ってくる。
新しい学習指導要領で学ぶ内容は、これら。
数学Ⅰ:① 数と式 ② 図形と計量 ③ 二次関数 ④ データの分析(仮説検定の考え方を含む)
数学A:① 図形の性質 ②場合の数と確率 (期待値を含む) ③数学と人間の活動(整数、ユークリッドの互除法、2進数など)
数学Ⅱ:① いろいろな式 ② 図形と方程式 ③ 指数関数・対数関数 ④ 三角関数 ⑤ 微分・積分の考え
数学B:① 数列 ② 統計的な推測(区間推定及び仮説検定を含む) ③数学と社会生活(散布図に表したデータを一次関数などとみなして処理することも扱う)
数学C:① ベクトル ② 平面上の曲線と複素数平面 ③ 数学的な表現の工夫(工夫された統計グラフや離散グラフや行列などを取り扱う)
ベクトルあるよ?
行列あるよ?
今は、一般受験以外に多様な方法で大学に入学してくる。既習範囲の理解度確認や基礎の定着のために、まともな理工系大学なら昨今は非一般受験組にはe-ラーニングなどで補習や指導をしている。
ありゃプログラムできるフリしたニセモノを簡単に見分けることができるっていう寓話の一種だ。
本来なら、ユークリッドの互除法か、エラトステネスのふるいか、QuickSortかその全部を面接で得意な言語で書かせるよ。
それができるやつは最低限、コンピュータってやつの根っこが解ってるし、できないやつはたとえフレームワークがいじれてもコンピュータがなんなのかわからない奴だから、いずれ行き詰まる。
そういうのは常識なんだよ。
いくら世の中に一見お手軽に見える技術やフレームワークやミドルウェアがあるからって、双方向リストもQuickSortも書けない奴は、データベースの設計をミスるんだよ。
トーシロが使い方間違えたら台無しになるんだよ。
プロなら調味料もフレームワークも自力で仕込める程度の腕前は持って、その上で、あえて枯れた既成のミドルウェアとフレームワークを使うんだよ。
今時のフレームワークもミドルウェアもオープンソースだから、自分で作れるくらいの技量がなかったら中がバグってたら対処できないだろうが
第1章 並行プログラミングとGHC (上田和紀) 1.1 はじめに 1.2 ターゲットを明確にしよう 1.3 はじめが大切 1.4 GHCが与える並行計算の枠組み 1.4.1 GHCにおける計算とは,外界との情報のやりとり(通信)である 1.4.2 計算を行う主体は,互いに,および外界と通信し合うプロセスの集まりである 1.4.3 プロセスは,停止するとは限らない 1.4.4 プロセスは,開いた系(open system)をモデル化する 1.4.5 情報とは変数と値との結付き(結合)のことである 1.4.6 プロセスは,結合の観測と生成を行う 1.4.7 プロセスは,書換え規則を用いて定義する 1.4.8 通信は,プロセス間の共有変数を用いて行う 1.4.9 外貨も,プロセスとしてモデル化される 1.4.10 通信は,非同期的である 1.4.11 プロセスのふるまいは,非決定的でありうる 1.5 もう少し具体的なパラダイム 1.5.1 ストリームと双方向通信 1.5.2 履歴のあるオブジェクトの表現 1.5.3 データ駆動計算と要求駆動計算 1.5.4 モジュラリティと差分プログラミング 1.5.5 プロセスによるデータ表現 1.6 歴史的背景と文献案内 1.7 並行プログラミングと効率 1.8 まとめ 第2章 様相論理とテンポラル・プログラミング (桜川貴司) 2.1 はじめに 2.2 様相論理 2.3 時制論理 2.4 多世界モデル 2.5 到達可能性と局所性 2.6 純論理プログラミングへ向けて 2.7 Temporal Prolog 2.8 RACCO 2.9 実現 2.10 まとめと参考文献案内 第3章 レコード・プログラミング (横田一正) 3.1 はじめに 3.2 レコードと述語の表現 3.3 レコード構造とφ-項 3.3.1 φ-項の定義 3.3.2 型の半順序と束 3.3.3 KBLとLOGIN 3.4 応用――データベースの視点から 3.4.1 演繹データベース 3.4.2 レコード・プログラミングとデータベース 3.4.3 いくつかの例 3.5 まとめ 3.6 文献案内 第4章 抽象データ型とOBJ2 (二木厚吉・中川 中) 4.1 はじめに 4.2 抽象データ型と代数型言語 4.2.1 抽象データ型 4.2.2 代数型言語 4.2.3 始代数 4.2.4 項代数 4.2.5 項書換えシステム 4.3 OBJ2 4.3.1 OBJ2の基本構造 4.3.2 モジュールの参照方法 4.3.3 混置関数記号 4.3.4 モジュールのパラメータ化 4.3.5 パラメータ化機構による高階関数の記述 4.3.6 順序ソート 4.3.7 属性つきパターンマッチング 4.3.8 評価戦略の指定 4.3.9 モジュール表現 4.4 おわりに 第5章 プログラム代数とFP (富樫 敦) 5.1 はじめに 5.2 プログラミング・システム FP 5.2.1 オブジェクト 5.2.2 基本関数 5.2.3 プログラム構成子 5.2.4 関数定義 5.2.5 FPのプログラミング・スタイル 5.3 プログラム代数 5.3.1 プログラム代数則 5.3.2 代数則の証明 5.3.3 代数則とプログラム 5.4 ラムダ計算の拡張 5.4.1 ラムダ式の拡張 5.4.2 拡張されたラムダ計算の簡約規則 5.4.3 そのほかのリスト操作用演算子 5.4.4 相互再帰的定義式 5.4.5 ストリーム(無限リスト)処理 5.5 FPプログラムの翻訳 5.5.1 オブジェクトの翻訳 5.5.2 基本関数の翻訳 5.5.3 プログラム構成子の翻訳 5.5.4 簡約規則を用いた代数則の検証 5.6 おわりに 第6章 カテゴリカル・プログラミング (横内寛文) 6.1 はじめに 6.2 値からモルフィズムへ 6.3 カテゴリカル・コンビネータ 6.3.1 ラムダ計算の意味論 6.3.2 モルフィズムによる意味論 6.3.3 カテゴリカル・コンビネータ理論CCL 6.4 関数型プログラミングへの応用 6.4.1 関数型プログラミング言語ML/O 6.4.2 CCLの拡張 6.4.3 CCLに基づいた処理系 6.4.4 公理系に基づいた最適化 6.5 まとめ 第7章 最大公約数――普遍代数,多項式イデアル,自動証明におけるユークリッドの互除法 (外山芳人) 7.1 はじめに 7.2 完備化アルゴリズム 7.2.1 グラス置換えパズル 7.2.2 リダクションシステム 7.2.3 完備なシステム 7.2.4 完備化 7.2.5 パズルの答 7.3 普遍代数における完備化アルゴリズム 7.3.1 群論の語の問題 7.3.2 群の公理の完備化 7.3.3 Knuth-Bendix完備化アルゴリズム 7.4 多項式イデアル理論における完備化アルゴリズム 7.4.1 ユークリッドの互除法 7.4.2 多項式イデアル 7.4.3 Buchbergerアルゴリズム 7.5 一階述語論理における完備化アルゴリズム 7.5.1 レゾリューション法 7.5.2 Hsiangのアイデア 7.6 おわりに 第8章 構成的プログラミング (林 晋) 8.1 構成的プログラミング? 8.2 型付きラムダ計算 8.3 論理としての型付きラムダ計算 8.4 構成的プログラミングとは 8.5 構成的プログラミングにおける再帰呼び出し 8.6 おわりに:構成的プログラミングに未来はあるか? 第9章 メタプログラミングとリフレクション (田中二郎) 9.1 はじめに 9.2 計算システム 9.2.1 因果結合システム 9.2.2 メタシステム 9.2.3 リフレクティブシステム 9.3 3-Lisp 9.4 リフレクティブタワー 9.5 GHCにおけるリフレクション 9.5.1 並列論理型言語GHC 9.5.2 GHCの言語仕様 9.5.3 GHCのメタインタプリタ 9.5.4 リフレクティブ述語のインプリメント 9.6 まとめ
どのレベルの応用かよくわかんないけど、拡張ユークリッドの互除法で逆元を求められるって話につながるんじゃないの