ブログ「サイバー少年」

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

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

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

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

記事「ユークリッド整域の素元分解可能性について自分なりに補足」で、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: 勉強 数学 群環体 ユークリッド 素数 証明 約数 帰納法 考察 写像

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

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

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

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

任意の整域(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: 数学 勉強 群環体 素数 証明 約数 論理 ユークリッド

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

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

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

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


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

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


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

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


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


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

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


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

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

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


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

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

続きを読む

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

[環論] 素元と既約元の違いってなんなのよ

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

私が群・環・体の勉強に使っている本では、環の章に可換環における素元の定義として

p = abで表せるならaかbのいずれかが単元であるとき、pは素元である
(pは0でも単元でもない)


というふうに書かれていたんですが、インターネットで調べてみたらこれは実は素元の定義ではなく既約元というものの定義だそうです。

まぎらわしいですね。
これは私が読んでいる本が悪いのか。

私が群・環・体の勉強に使っている本は分かりやすい素晴らしい本ですけども、
環の定義として一般的には、乗法について可換であることは公理としませんが、可換環ではなく普通の環が乗法について可換であるとされていたりして、
素元の件も含めてちょっと一般的な定義とズレていますね。


それで、本当の素元の定義とは何かといいますと、

まず可換環においてp | aと書いたときa = xpとなるxが存在するという意味にして、まあ直感的にはpがaを割り切るといえますけども、

p | abであるならp | aまたはp | bであるとき、pは素元である
(pは0でも単元でもない)


ということになります。


しかし、素元と既約元は似ているというか、環よりもう少し条件を強くした代数系においては一致することがあるんですよね。

続きを読む

tag: 数学 群環体 証明 素数 方程式

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

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

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

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

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

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

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

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


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

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

続きを読む

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

気がつけば年の暮れ 2016

こんばんは。真夜中ですね~。
生活リズムがぐちゃぐちゃですね~。
よろしいことではない…。

今年も終わりますね~。
今年は本当に早かったですね。

最近、なんとも年寄りじみた発言ですが、目まぐるしく時が過ぎていくので今年が西暦何年とかすぐに答えられるかと問われますと、危うくなってきました。

西暦はまだいいですが、和暦なんてもう出ないですね。
その西暦優位の感覚はちょっと若いのかな。
そうそう、あと、自分の年齢も同じように、すぐに出ないですよね。


当記事の本題に入る前にざっと年末の近況報告をしますが、前回記事「何番煎じだ!?近況報告」で書いた群・環・体のモチベーションが上がらないというのが、なんとまだ続いております。

さすがにヤバいですね…。
まあ上記記事でも書いた(さらに前の記事を引用した)のですが、ダラダラが続いてヤバいなと思い始めるのが、次の勉強を頑張る時期へと突入する原動力になるんですけどね。


一方でF#は、上記記事で書いたとおり勉強の頻度が少ないことを無視すれば順調…かと思われるのですが、姉妹ブログにも書きましたが最近なんか難しくなってきました。

次は判別共用体というのを勉強するんですが以前に内容をざっと見てみたら、今までで一番、難しそうでしたので理解できるかどうか不安ですね。

ただまあ、もし順調に事が運べば本年末に勉強したことまとめを書いて、来年に新年の挨拶記事なんかを書いて、来年の通常の記事の一発目はF#の勉強内容をまとめる記事になるんじゃないですかねぇ(他人事)。

続きを読む

tag: 数学 プログラミング 論理学 F# 群環体 勉強 パソコン 新年 目標

何番煎じだ!?近況報告

今、記事タイトル入力して間違えてエンターキーを押してしまって、タイトルだけで投稿されてしまいました。
なので現在から当記事を書き終わるまでの間に当ブログにアクセスした方はタイトルだけの記事を見て「なんだこれ!?」と思われるかもしれません。

たまにこういうのあるんですが、FC2ブログのこの仕様よくないですよね。
タイトルの入力ボックスではエンターキー無効にしてほしい。


さて、ネタがないので近況報告でつなぐという、当ブログがやる気のない時期によくやるやつです。

群・環・体やF#の勉強がもう少しまとまった成果を出せれば、内容をまとめる記事を書いてもいいかなと思っているんですが、
(まあ執筆が大変な部類なのでそれに耐えうるモチベがあればの話ですが)
最近はどうも勉強する気が起きない時期に突入してしまっておりまして、時間が掛かりそうです。

記事「論理学の勉強コンプリート!!!」で書きましたが、“頑張って勉強する時期、燃え尽きて怠ける時期、さすがに怠け過ぎだなと思ってまた頑張る時期、を繰り返している”というわけなんですよね~。


なんでそうなるのか自分でもよくわからないですけど、なんというか「数学おもしれえ!もっとやろう」という念と「うわっ数学むずかしいわ、やりたくねえ」という念の決して相反しない二つが自分の中で闘っていて、
やってる内容が難しい部分に突入してくると後者の念が勝ってしまうので、少なくともその部分を脱するまではペースも遅めになってしまうのかと思いますね。

そんでもって、今やってる内容は群・環・体でいえば置換群の性質を利用して組み合わせの問題を解くという部分を読んでるんですが、すごく難しいんですよ。

具体的には、記号が大量に定義されていて何が何を表してるのか意味分からなくなってくるのと、論理展開がめちゃくちゃ早いのが同時に襲ってくるので難しいです。

ですから今はあんまりやる気が出なくて、時間が掛かるわけですね。

続きを読む

tag: 近況報告 数学 群環体 F# 勉強 マイコン 電子工作

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