20080511~
13と7と11の倍数の論理積は13と7と11の積の倍数である。
和ァ・・・
テレビのアス比は3:4でした。
じゃあ20インチのテレビの横幅はいくつかといいますと16インチちょっきりでした。 これは、20インチが対角線の長さで、縦:横:高さの比が3:4:5という整数比になっているからです。 長方形を対角線でぶった切ると直角三角形が2つ出来ます。 この直角三角形の3辺の比は、一般には無理数です。 ピタゴラスの定理に2乗が含まれているからです。 底辺^2+高さ^2=斜辺^2でしたね。 ですが、時々整数の比、つまり有理数(分数)になります。 これがピタゴラス数です。 また、アス比3:4のテレビは20インチだったり16インチだったり22インチだったりいくらでも選べます。 アス比3:4のテレビを唯1つ無2の規格にしたい! という願望があったとして、3インチ:4インチ:5インチなどという、最大公約数が1の整数にしたものを原始ピタゴラス数といいます。 また、「最大公約数が1」というのを「互いに素である」といいます。 原始ピタゴラス数はそう簡単に姿を現してはくれません。 たとえば底辺と高さに100までの整数をランダムにぶち込んだとして(round(100*rand(),0)) 1000回試したところで整数比になれるのがせいぜい30個程度ですし(ピタゴラス数:mod(斜辺,1)=0になる条件) ほとんどは相似な四角形なので除外され(原始ではないわけです) 今回はカブりませんでしたが合同な四角形(というか直角三角形)を除外するとたった2つ程度しか残りません。 今回の試行では 5:12:13 45:28:53 の2つでした。 実は、原始ピタゴラス数の斜辺と高さの間には どちらかが奇数だともう片方は必ず偶数 という性質があるのですが、それを見つけるまでの準備が手間になってしまっては仕方がありません。 そこで登場するのがピタゴラジュースメーカーという原始ピタゴラス数を効率的に搾り取る装置です。 と、「数学ガール」に描かれていました。 ======= 底辺・高さ・斜辺の種になるmとnという自然数を考えると 底辺=m^2-n^2 高さ=2mn 斜辺=m^2+n^2 で、原始ピタゴラス数が求まってしまうのです。 ======= ただし、 mとnはなんでもいいわけではなく ・m>n ・m⊥n(mとnは互いに素、最大公約数GCD(m,n)=1) ・mとnどちらかが偶数でもう片方は奇数(XOR(ぐうm、ぐうn)=false) ※ちなみに偶数かどうか「ぐうm=mod(m,2)」で定義します では実際に、エクセルでピタゴラ・ジュース・メーカーを作ってみましょう。 まず、mとnを格納する2列を用意します。 小さいnのほうを左側にしておきます。 次に、nに値を入れてみましょう。 ここで、あまり多すぎても切りがないのでmとnを10までに絞ることにしますと n=1なら、mは2~10までの偶数になります。 ではn=2にしてみましょう。 mはnより大きい奇数なので、3~10の奇数になります。 そしたらn=3にしてみます。 mは4~10の偶数になります。 m=6は最大公約数が1ではないので除外するのですが、この除外処理はあとでフィルタで行うことにします。 このように作業を続けていくと、1つのnにつきmは基本的に1つ飛びで数えていけばいいことがわかります。 1つ上+2です。 また、1つのnにつき最初のmはn+1であることもわかります。 それでは、互いに素でないmとnの組み合わせを除外しましょう。 最大公約数を求める「GCD関数」が、数学・三角のジャンルに入っていなければ、「分析ツール」のアドインを登録する必要があります。 mの右側に「互いに素」判定の列を設けて、gcd(m,n)を取りましょう。 あとでフィルタリングで除外します。 ここまでくれば、あとは ・底辺=m^2-n^2 ・高さ=2mn ・斜辺=m^2+n^2 を計算すれば、ピタゴラス数の出来上がりです。 いちおう、ピタゴラスの定理どおりになっているかどうか判定しましょうか 斜辺^2-底辺^2-高さ^2の列を設定すればいいので このように全部ゼロになることがわかると思います。 3辺全部整数なのはおkですよね? 整数判定は、1で割ったあまりが0になればいいので、条件はmod(●,1)=0です。 3辺が互いに素かどうかの判定もしておきましょう。 GCD(底辺、高さ、斜辺)を計算すればいいのですが ちょうどmとnの「互いに素判定」で2以上の数が出たところだけが、3辺の「互いに素判定」でも2以上が出ていることがわかると思います。 ここまでが、ピタゴラス数の一覧です。 黄色い部分のうち 27:36:45と75:100:125は3:4:5 45:108:117は5:12:13と相似なので、原始ピタゴラス数ではないわけです。 原始ピタゴラス数は、GCD(m,n)でもGCD(底辺、高さ、斜辺)でもどちらでもいいのですが、 とにかく互いに素判定が1のものだけフィルタリングしてやればおkです。 黄色の目印は手動でも構いませんが、条件付書式でつけると効率的です。 列選択をして、「書式」→「条件付書式」でダイアログを出します。 「セルの値が」「1に」「等しくなければ」「背景を黄色くする」とすれば、とりあえず印はつきます (数値以外が黄色くなるのを防ぐには列参照ではなく複数セル参照のほうがいいですね^^;) オートフィルタで構わないのですがフィルタリングしましょう。 一番上の項目行に最低2種類の書式設定をしてやれば、自動的に表だと認識してくれますので あとは「データ」→「フィルタ」→「オートフィルタ」のチェックをオンでオートフィルタモードになります。 項目すべてが自由にフィルタできてしまいますが、今回は2つのうちどちらか1つの「互いに素」の▼ボタンを押して 「1」だけを選別すればおkです。黄色くつけた目印が消えたかと思います。 定義や表を見てわかるとおり、この装置で搾り出したピタゴラス数は、底辺が奇数、高さが偶数に偏る性質がありますが、入れ替え可能なので問題ありません。 最初のほうで書いた、底辺と高さどちらか一方だけが偶数になるという性質をいちおう検算してみます。 底辺が偶数であるというフラグ「ぐう底辺」はmod(底辺,2)で計算できます。 2で割ったあまりなので0か1しか出てきませんから、そのままbooleanとして扱ってしまいましょう。 XORという関数がないのでa=ぐう底辺、b=ぐう高さとして XOR(a,b)=OR(and(Not(a),b),and(Not(b),a)) で作ってやりますと 全部trueになることがわかるかと思います。 この性能を発揮させるために、50までの整数をランダムに、底辺と高さで2500ペア試して よりすぐり5個の底辺・高さの偶奇判定 XOR(a,b)=OR(and(Not(a),b),and(Not(b),a)) を行ってみました。^^ ピタゴラ・ジュース・メーカーの定義を見ると、mもnもどこまでも大きくしていけるので 原始ピタゴラス数だけでも無限に作れることがわかると思いますが これはあくまで整数比なので、この隙間を縫って実数のアスペクト比が存在することがわかります。 つまり実数の無限は整数の無限より濃度が濃いのです。(合ってるよね?) つづく。 にほんブログ村 PR |
カレンダー
カテゴリー
最新CM
[12/30 buy steroids credit card]
[09/26 Rositawok]
[03/24 hydraTep]
[03/18 Thomaniveigo]
[03/17 Robertaverm]
最新記事
(01/01)
(09/23)
(09/23)
(02/11)
(05/30)
(05/28)
(05/28)
(05/27)
(08/04)
(10/24)
(06/08)
(05/22)
(01/13)
(11/04)
(11/02)
最新TB
プロフィール
HN:
量子きのこ
年齢:
43
HP:
性別:
男性
誕生日:
1981/04/04
職業:
WinDOS.N臣T
趣味:
妄想・計算・測定・アニメ
自己紹介:
日記タイトルの頭についてるアルファベットは日記の番号です
26進数を右から読みます 例:H→7番目、XP→15(P)×26+23(X)=413番目。 A=0とする仕様につき一番右の桁はAにできませんのでご了承くださいズコー
ブログ内検索
アーカイブ
最古記事
(05/11)
(05/11)
(05/13)
(05/13)
(05/13)
(05/13)
(05/13)
(05/13)
(05/14)
(05/14)
(05/14)
(05/14)
(05/16)
(05/16)
(05/16)
アクセス解析
|