ブログ「サイバー少年」

ブログ「サイバー少年」へようこそ!
小学六年生ごろからプログラミングを趣味にしている高校生のブログです。
勉強したことについての記事などを書いています。フリーソフトも制作、公開しています。
(当ブログについて詳しくは「ブログ概要紹介」を参照)

サイバー少年が作ったフリーソフトは「サイバー少年の作品展示場」へ

ユークリッド整域の定義を見直す

またユークリッド整域の話かよ!!!!
もうすでにイデアルの勉強に移っているんですが、ちょっと前にユークリッド整域で判明した事実があったので、今回は軽くですが記しておきます。

記事「ユークリッド整域の素元分解可能性について自分なりに補足」で、x = 0ならH(x) = 0およびH(x) = 0ならx = 0は定義せずとも定理として成り立つだろうかと疑問を書いていました。

結論からいうと定義しなければ定理としては成り立ちません。
ただ、そもそもユークリッド整域において、これが成り立つ必要はありません。

必要なのは「H(a)がすべてのxにおけるH(x)の最小値ならa = 0」です。
これがあればユークリッドの互除法が使える整域になるわけです。

なぜなら、ユークリッド関数のその他の定義により、元a,b(b != 0)について
a = b×q + rかつH(r) < H(b)となる元q,rが存在しますが、これを互除法で繰り返していくと、どんどんH(r)が小さくなっていって、最小値になったときにr = 0となって、もうbをrで割れないということになります。

H(r)が最小値になったときにr = 0でなければ、さらに割れることになってしまうので、それは困るからr = 0を要請しているということです。

しかし、「それは困る」という事態を詳しく見てみると、
もしH(r)が最小値なのにも関わらずr = 0でないとしたら、さらにbをrで割ることができて、新しい余りをr'とするとH(r') < H(r)でありH(r)が最小であることに反するから、r = 0であるしかありえなくて、実はこの定義すら必要なかったわけです。


また、「H(a)がすべてのxにおけるH(x)の最小値ならa = 0」が成り立つなら逆も成り立ちます。
その説明をするには写像の仕組みを論理的に説明できるスキルが必要ですが私には残念ながら能がないので、イメージになってしまいますが、
すべてのxにおいて最小となるH(a)は必ず存在するので、そのときa = 0なわけですから、aとH(a)が対応している、写像なのでaが他のところにも対応していることはない、つまりH(a)はすべてのxにおけるH(x)の最小値です。

そしてa = 0ですからH(0)はすべてのxにおけるH(x)の最小値です。

これがもし「H(a) = 0ならa = 0」とかだと、逆は一般に成り立ちません。
H(x) = 0となるxが存在しているとは限らないので、0とaの対応が保証できないからです。
すべてのxにおけるH(x)の最小値は必ず、なんらかのxと対応しているので保証できます。
論理的に説明するにはどうしたらいいんだろうか…。


ちなみに、

ユークリッド環 - Wikipedia
https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%AF%E3%83%AA%E3%83%83%E3%83%89%E7%92%B0

を見てみると、整域に元a,b(b != 0)についてa = b×q + rかつG(r) < G(b)を満たす写像Gが導入できるならば、
さらにそれと加えてH(a×b) >= H(a)を満たす写像Hを導入できることがいえるそうです。

H(a×b) = H(a)ならbは単元というのはどこにいったのか分かりませんが、まあ多分、これも定義せずともいえるんでしょう。(適当)

つまり、元a,b(b != 0)についてa = b×q + rかつH(r) < H(b)を満たす写像Hが導入できる整域であれば“ユークリッド整域”と呼んでいいわけですね。


論理というのは不思議ですね。
一を聞いて十を知るという言葉がまさにふさわしい。
ひとつ公理として定めたらめちゃめちゃ色々な定理が湧き出てきます。

恐らく、これでユークリッド整域についての記事は最後になります。
冒頭でも述べたとおり、イデアルの勉強をやっているので、引き続き頑張ります。

tag: 勉強 数学 群環体 ユークリッド 公理 写像 関数

ユークリッド整域における元と高さの関係

先日に書いた記事「ユークリッド整域の素元分解可能性について自分なりに補足」で


つまりH(x) = 0のところにx = 0が、H(x) = 1のところに単元のxが、H(x) = 2のところに単元と素元のxが、H(x) > 2のところに単元、素元、いくつかの素元の積がすべて分布してる感じですね。


と記述しました。

「単元と素元~」みたいな言い方をANDと解釈するなら間違いですが、まあORと解釈するなら間違った主張ではないんですけどね。

ただ、たとえばH(x) = 2のところに単元または素元のxが分布しているという主張ですが、これは正しくはH(x) = 2となるxについて、それは単元または素元である、という主張にするべきでした。

前回の言い方だとH(x) = 2となるxが必ず存在するかのような主張となっています。


そして、その他の点でも非常にナンセンスな表現であるということに気が付きました。
後述しますが、まず単元はそんな色んなところに分布してなくて、すべて同じ高さのところにあります。

あと、前述のようにORで解釈するなら間違いではないのですが、この主張を読んだときにイメージするのはH(x) = 2のところに素元となるxがあって、H(x) > 2以降において素元の積のxも含まれてくるという感じだと思います。

そのイメージは間違いですが、主張自体は間違いではないので、たしかに読み手が悪いと言えばそうですが、私の書き方にも問題があると思いました。


それは、1という数、2という数を定数として決定してしまっているところです。
実際は定数は決定せずに、色々な元に対する高さの大小関係だけをイメージしてもらえるような書き方にするほうが自然でした。

事の発端はYahoo!知恵袋で、整数に関数Hを導入したときに、H(x) = |x|ではなくH(x) = 2×|x|とすることも可能である、という指摘を受けたことでした。

このときH(x) = 2のところに単元があって、H(x) >= 4以降に素元などがあり、あとH(x)が奇数であることはありえません。

こんなように、定数はまったく変わってくるわけですが、大小関係は変わりません。
そこで今回は、元による高さの大小関係に着目して判明することを書いていきたいと思います。

続きを読む

tag: 数学 群環体 ユークリッド 考察 勉強 関係 素数 証明 写像 帰納法

ユークリッド整域の素元分解可能性について自分なりに補足

私が群・環・体の勉強に使っている本を読んでいたら、以前の記事「[環論] ユークリッド整域で陥った詭弁」にも登場しているユークリッド整域において、

0(零元)でも単元でもない任意の元は素元の積に分解できて、それぞれの素元における単元倍の差を除いて一意である

ということが解説されていたのですが、一意性についてはいいとして、分解可能性の証明に足りない部分があると思ったので、自分なりに考えて補足してみます。

そんな、この本の著者様に意見できるほど優れた人間ではないのですが…(汗)


まず、本では元xの高さH(x)の値に注目して、H(x)がどんな値であってもxが0でも単元でもないなら素元分解可能であることから、任意のxについて0でも単元でもないなら素元分解可能であるということを述べようとしています。

ここがまずちょっと難しいですが、すべてのxは必ずなにかしらの自然数H(x)に対応しているわけですから、すべての自然数において対応するxが性質を満たすことがいえれば、すべてのxにおいて性質を満たすことがいえるわけですよ。

厳密に証明しろと言われると、能力がなくて私にはできないですが…。

逆に、すべてのxについて対応する自然数がある性質を満たすとき、すべての自然数がその性質を満たすという論法は一般には正しくありません。
ただし、xから自然数へ対応させる写像が全射であるなら、上の場合と同じ状況になるので、正しいと思います。

続きを読む

tag: 勉強 数学 群環体 ユークリッド 素数 証明 約数 帰納法 考察 写像

勉強のモチベーションと限界と

最近は数学を何時間も通してする機会がいくらかありました。
特に先月は数学4部作として、4つも数学についての記事を書いたわけで、当然その裏では記事を書くために考察に時間を費やしていました。

昔と比べて、最近はだいぶ数学などの勉強をする頻度や時間が増えていますね~。

もちろん、勉強しなければという義務感があって、勉強を成し遂げたときの充実感はすごくあるのですが、疲労感が溜まっていって今月はどうも疲れてしまいましたね。

やはり限界というものがありますね…。


正直、もともと数学が好きでやっているというより、数学で分からないことがあって、分からないままにしておくのが気分が悪いので、分かる状態になりたいという思いから数学やってるんですよね。

まあ結果だけみると数学をやるモチベーションがあるということになるのだと思いますが。

でも、これって諸刃の剣といいますか、分からないということのストレスを裏で抱えて数学やってますので、それがまあ分かるようになったときの達成感でカバーされているのですが、ぜんぜん分からない場合にはストレスばかり溜まってしまいます。


というのはいいとして、なんにせよ最近は数学をやりすぎて疲れてしまいました。

最近は疲労でペースも落ちて、数学との関わりもYahoo!知恵袋でちょっと分からないところを聞く程度でしたね。
(姉妹ブログの記事「Yahoo!知恵袋で長丁場」を参照)


疲れた原因というのは、数時間、数学をやるというのをいくらか繰り返しただけなんですけどね~。
ヘタレだなと思います。

大学の数学教授になりたいと言っていますが、まずなれるかという問題もあることながら、なってしまった場合に、数学漬けの人生になりますからね。

このヘタレな自分がやっていけるのかというのは不安です。
というか、大学教授になる以前に、大学で数学科に入ってやっていけるのでしょうか。

続きを読む

tag: 数学 勉強 プログラミング 目標 職業 モチベーション 休暇 クソ記事

[環論] ユークリッド整域で陥った詭弁

今回も環について知っていないと分からない話をします。

群・環・体の勉強で、特別な環であるユークリッド整域について学び始めました。
とりあえず定義だけ読んだのですが、以下のような定義となります。

なお、本に書いてありましたが、普通の定義より強くしているそうです。

任意の整域(A,+,×)に対してa∈Aを非負整数に対応付ける関数H(x)で次のような条件を満たすものが存在する整域をユークリッド整域と呼びます。

1. H(0) = 0かつH(a) = 0ならa = 0 (0は加法の単位元)
2. a ≠ 0かつb ≠ 0なら、H(a×b) >= H(a)かつH(a×b) = H(a)となるのはbが単元のときのみ

3番目の重要そうな条件もあるのですが、ここでは使わないので省略します。
このH(x)をxの高さと呼びます。

そして、a∈Aとb∈Aの公約元xの中で高さが最大になるものを最大公約元と呼びます。
公約元は普通の環でも存在する概念ですが、最大公約元はユークリッド整域でないと存在しない概念ですね。

そして、aとbの最大公約元が単元であるときaとbは互いに素であるといいます。
つまり互いに素であるというのもユークリッド整域でいえる概念なのですが、私はそれに違和感を覚えたわけです。

続きを読む

tag: 数学 勉強 群環体 素数 証明 約数 論理 ユークリッド

一次不定方程式について調べた

前々回の記事「[環論] 素元と既約元の違いってなんなのよ」および、前回記事「数学ネタは人気が出ないのか…」で書いたとおり、
群・環・体の本を読んでいたら不定方程式にぶち当たったので、最近は群・環・体をやらずに不定方程式について調べていました。

群・環・体の本にも予備知識として不定方程式について解説があったので、それを読んだのと、あと不定方程式は高校一年生のときにやりましたから、数Aの教科書をひっぱりだしてきて読んでみました。

覚えてないからな!!

そこで思ったのですが、本によって不定方程式の解法にしても全然、やり方が違いますね。
数学って知識を丸コピするよりか、自分で考える学問ですから考える人が違うと内容もだいぶ違ってしまうんでしょうね。

私は丸コピしか出来ないですが…。


さて、今回はレポートを書く気分で、(一次の)不定方程式について調べて学んだことを記していきたいと思います。

続きを読む

tag: 数学 方程式 勉強 素数 証明 数学的帰納法 学校

数学ネタは人気が出ないのか…

先日、記事「PowerShellでジェネリックス!」にて、

ありがとう 参考になりました

というコメントを頂きました。


このブログの方針として、何か疑問に思ったことを検索したらこのブログがヒットして、それを見て疑問が解決する、みたいなブログになりたいと考えているので、
このようなコメントを頂けたのはとても光栄なのですが、

数学ネタをメインにしていくのは閲覧者のニーズに合致しているのか…!!??


なんか数学のネタに全然コメントが来ないし、このまえ記事「数学の勉強について雑記…」に一回だけ来ましたけど情報系の学部の大学生の方でしたし、

当ブログの閲覧者ってやっぱりプログラマとかプログラミング好きとかそういう方々だと思うんですよね。


まあプログラマというと数学好きを兼ねてる割合が高めだと思うんですが、数学好きじゃない人も多いですし、数学好きだとしても数学メインじゃないからコメントできるほど数学の知識もなかったり、数学の長文の記事を読むつもりもない、みたいな感じですか。


数学に傾倒したら駄目なのかチクショーーー!!!!!
どうやったら数学屋の方々にたくさん見てもらえるブログになれるんでしょうか。

ただ、数学好きの方々に見てもらえない理由はいくつか思い当たるんですけどね。


・数学好きの絶対数がプログラミング好きより少ない。

・プログラミング好きの人はブログなどのインターネットの文献を重要視している一方で、数学好きは書籍とか見てて、Webでもブログみたいなのは見ない。

・とくに当ブログのような新規性のないクソブログは見ない。


そもそも当ブログの閲覧者がほぼリピーターで固定であると思われるというのもあるので、既存の閲覧者に数学好きになってもらうしかない!!!

頑張れ閲覧者!!!!!!

続きを読む

tag: 勉強 数学 ブログ 閲覧者 プログラミング コメント 群環体 方程式

やはり数学力がない

群・環・体ですが、三月はまったく勉強をせず、四月に入っても前半は勉強をせず数日前になってようやく再開したんですが、しばらく勉強しないと理解力が衰えるもんですね。

久しぶりに本を開いたら意味不明でビビりました。
まあ、2回目以降はそれなりに理解力も復活してきましたけどね。


前回記事「将来の夢について書く」で数学科の大学教授になりたいと書きましたが、このごろ自分の数学力のなさを再認識させられて、やっぱり無理じゃねえかなと思ってしまいますね~。

いや、何度も申しますが理論を読んで理解するのは大丈夫なんです。
しかしその理論に関する証明問題などの問題を出されると、もう出来ないと。

大学で数学科に入ったら、講義で教えている理論をちゃんと理解しているかどうかを確認するために証明問題などを出題するということがよくあると思うんですが、そういうのは多分、私にはなかなか出来ないんじゃないかと思いますね。

問題が解けなければ、「こいつは理論を理解していない」と判断されかねないですが、決して理論を理解していないわけではないんですけどね。
ただ私の脳に入り込んで理論を理解しているかどうかをチェックするなんて無理なんで、問題を出すという方法でチェックするしかない。

なかなか、つらいですね…。


昔も書いたかもしれないですが、理論をどうやって重ねていくかの道筋を立てることが出来ないわけです。
スタートから一気にゴールに行けるような証明を考えるんですが、そんなのあるわけないと。

あと、普通の人って紙などにちょっとずつ思考している内容を記録していくみたいに、紙を使って証明するということも多いと思いますが、それが私には無理なんですよね。

頭の中のイメージをどのように紙に記せばいいのか戸惑いますし、戸惑っている間に考えていたことを忘れてしまうのです。
さらに、もし紙に記せたとしても、そこから元のイメージを復元するのに時間がかかる。

だから、それでスタートからゴールに一気に行かざるをえないというのもありますね。


証明を組み立てる力って身に付くんですかね。

私にとっては論理の世界というのはすごくぼんやりしていて、なんの目印もない広大な砂漠を歩いているようなもので、どこを歩けばいいのやら分からないですが、

数学の教授や数学が得意な人は、正しい歩き方を知っているのでしょうか。

続きを読む

tag: 数学 プログラミング 勉強 能力 幾何学 目標 大学

ブログ5年目を軽く振り返る

いやはや、もうすぐブログ5年目も終わってしまいます。
今年もやります、この1年の振り返り記事です。

と、申しましても、今年度の成果として一番大きかったのは数学の勉強だったんですが、
数学の勉強は今年度というより去年の一月ぐらいから始めたので、年末に振り返るほうがキリが良くて昨年末に振り返ってしまったんですよね~。

ですので今さら書くことがない。

まあでも、数学の勉強してるってことはブログにたくさん書きましたけど、勉強内容をブログに書いたことってたくさんはないんですよね。

今年は勉強はいっぱいしたんですけど、ブログネタにせずひっそりとやっていたんですね。

まあ、ちょっと思い浮かんだアイデアとかをブログに書くのは簡単ですが、体系的に勉強してきた内容を書くのは長くなりすぎて気軽にはできませんしね。

まあ、数学とかでちょっと浮かんだアイデアを書いたことは数回ありましたか。


モチベーションの話で言うと、今年度が始まったばっかりの頃はそれ以前の調子の良さを引き継いでキレキレでしたね。

しかし、6月ぐらいからシークエント計算の述語論理に関する推論規則の固有変数条件の理解に苦しんで、それから夏季をまたいで勉強が滞るというスランプがありました。

ただ一番、今年度でアウトプットが多かったのは6月ですけどね。
アウトプットに集中していてインプットがありませんでした。

7月からは完全にクソブログ化します。

秋ごろからは勉強の勢いも復活してきて、勉強して思ったことの感想を近況報告として記事にしたりするのですが、実のある話題を記事にしたことは結局、現在に至ってもあんまりなかったですね。


あとはF#の勉強を十月とか十一月くらいから始めましたね。

群・環・体の勉強と並行して現在までやってまいりましたが、最近とうとう公開した、F#の勉強内容をまとめた記事「F#の基礎勉強まとめ (前編)」と記事「F#の基礎勉強まとめ (後編)」は今年度に書いた記事の中で最高傑作、努力の集大成だと思います。


というわけで、さっさとまとめると、今年度の前半は数理論理学の勉強、後半は群・環・体とF#の勉強をしていたということで、やはり昨年末に書いたことと同じですね。

とりあえずは今後も群・環・体とF#の勉強の続きを行ってまいります。
ただ、F#の勉強は一段落した感じなので、主に群・環・体をやっていきたいですね。

実はこの三月以降、上記リンクのF#の勉強内容まとめ記事の執筆に集中するため、まったくと言っていいほど群・環・体の勉強をしませんでした。

頑張ってリカバリしていきたいと思います。
まあ、もうすぐですが、6年目が始まったときに書く記事でも意気込みを書きましょうか。

直近のブログの予定ですが、今回もブログ5周年記念画像を作ってアップしますので、ご期待ください。
あとは6年目が始まったら意気込みを書いて、四月にプロフィールとかを更新して、それからは通常運行って感じですね。

ではでは、また近いうちにお目にかかりましょう。

tag: ブログ「サイバー少年」 周年 自分史 勉強 モチベーション

近況報告というか話題のちゃんぽん

ただいま、記事「F#の基礎勉強まとめ (前編)」の後編を執筆中であります。
途中つなぎの記事を書くほど大規模なブログ記事を書くのは久しぶりですね。

現在、リスト、配列、タプル、レコードまで書き終わったのですが、判別共用体、パターンマッチ、例外を書いて手短に終わろうと思います。

ただし、パターンマッチが本当に内容的に濃い!
大変ですね。

さて、上記リンクの記事でも書いてあるように、F#の文法は解説しても、実際にプログラム書いたことがほぼ無いんですよね~。

というわけで、ちょっと前ですが、なにかプログラムを書こうということで、なんともベタなじゃんけんのプログラムを書きました。

せっかくなのでYahoo!ボックスに上げておきましたから、ご覧ください。
なにせF#の経験が浅いので、変な箇所があるかもしれませんが、ぷぷぷ~と笑ってないでコメントにてご指摘下さいませ。

Janken.txt (Yahoo!ボックス)
http://yahoo.jp/box/_9_RYk


このプログラムを書きながら思ったのですが、関数に引数として別の関数の戻り値を渡してもいいし、
関数に直接、別の関数を渡しちゃって、むこうの関数で引数を与えて戻り値を作ってもいい、というこの関数と値の区別のルーズさは特徴的ですね。

今回の場合は逆にそれがややこしくなって、変なプログラムになってしまったかもしれませんが…。

続きを読む

tag: プログラミング F# 数学 証明 論理学 勉強 群環体 結合法則 Nexus iPad

次のページ

当ブログをご利用(閲覧等)になる場合は必ず「当ブログの利用規定」をお守りください。