2022年4月20日水曜日

abc予想(4)

 abc予想(3)からの続き

abc予想が正しければ,ただちにフェルマーの定理が簡単に証明されるとのことだが,事情は若干ややこしい。正確には,abc予想の(2)の表現において$\varepsilon = 1 $として,このときに,$K(\varepsilon)=1$が満たされればという条件がついてくる。ウェブ上ではこれを強いabc予想と書いているものもあるが,その表現がよいのかどうかはあまりはっきりしない。

(強いabc予想?) $c < K(\varepsilon=1)  {\rm rad}(abc)^{1+(\varepsilon=1)} = 1 \cdot {\rm rad}(abc)^2 $ 

これからフェルマーの定理を導くのは次のようになる。

自然数$a,\ b,\ c\ $が互いに素であり,自然数$n > 6\ $に対して,$a^n,\ b^n,\ c^n\ $が abcトリプレットをなすとする。すなわち,$a^n + b^n = c^n\ $であって,$a^n < b^n$かつ$a^n,\ b^n\ $は互いに素。このとき,$c^n < {\rm rad}(a^n b^n c^n)^2 = {\rm rad}(a b c)^2 < (a b c)^2 < c^6\ $が成り立つ。

つまり,$n \ge 6\ $に対して,$a^n + b^n = c^n\ $は偽であることから,フェルマーの定理が $n \ge 6\ $に対して成り立つ。$n= 3, 4, 5\ $については別途成り立つことを示す必要があるが,これらはすでに証明されている。

これを少し詳しく見た様子は,黒川信重・小山信也による「ABC予想入門」に記述されている。


2022年4月19日火曜日

abc予想(3)

abc予想(2)からの続き

$c > rad(abc)\ $が成り立つabcトリプルを例外的abcトリプルとよぶことにする。そうはいっても前回は,これが無限個存在することも示している。例外的トリプルの個数を計算してみると,$c<1,000\ $で31個(全トリプル151,895個),$c<10,000\ $で120個(全トリプル個15,196,785),$c<100,000\ $で418個(全トリプル1,519,805,376)となる(最大10^15のオーダーまでの数の素因数分解を10億回しなければならないので,めちゃ時間かかった)。

これを計算したMathematicaコードは次の通り。

Rad[n_] := Times @@ (First /@ FactorInteger[n]);
f[n_] := {k = 0; Do[If[Rad[a*b*(a + b)] < a + b && GCD[a, b, a + b] == 1, k = k + 1], {a, 1, n/2 - 1}, {b, a + 1, n - a - 1}]; Print[k]};
g[n_] := {k = 0; Do[If[GCD[a, b, a + b] == 1, k = k + 1], {a, 1, n/2 - 1}, {b, a + 1, n - a - 1}]; Print[k]};
f[1000]
31
g[1000]
151 895
そこで,少しだけ条件を変更することで,例外的トリプルが有限個になるようにできないかを考えたところ,次のような予想が立てられた。(1)と(2)は同等であり,これがabc予想といわれるものである。

(1) 任意の$\varepsilon > 0$ に対して $c > {\rm rad}(abc)^{1+\varepsilon}\ $を満足するabcトリプルは高々有限個しか存在しない。

(2) 任意の$\varepsilon > 0$ に対してある $K(ε) > 0$ が存在し、全ての abcトリプルについて$c < K(\varepsilon) {\rm rad}(abc)^{1+\varepsilon}\ $が成り立つ。


2022年4月18日月曜日

abc予想(2)

 abc予想(1)からの続き

肝腎のabc予想である。準備のために,自然数 $n$ の根基(radical)を定義する。素数を$\{ p_i \}$として,$n = p_1^{k_1} \cdot p_2^{k_2} \cdot \cdots \ $と素因数分解できるとき,$n$ の根基が次のように定義される。${\rm rad}(n) \equiv p_1 \cdot p_2 \cdots \ $ 。例えば,${\rm rad}(120)={\rm rad}(2^2  \cdot 3^2 \cdot 5) = 2 \cdot 3 \cdot 5 = 30$ 。

3つの自然数の組,$(a, b, c)$ において,$a+b=c\ $であり,$ a < b\ $が互いに素であるものを,abc-トリプルとよぶ。普通は,$c < {\rm rad}(a b c)$ であるが,$c > {\rm rad}(a b c)$も無限に存在しうる。そこで,ある形のabc-トリプルで後者の条件を満たすものが無限個あることを示す。

素数 $p>2$,自然数 $n>1$として,$a=1, b=2^{p(p-1)n}-1, c=2^{p(p-1)n}$というabc-トリプルを考える。このとき,${\rm rad}(a b c) = {\rm rad}(a) {\rm rad}(b) {\rm rad}(c) = 1 \cdot {\rm rad}(b)  \cdot 2 = 2\ {\rm rad}(2^{p(p-1)n}-1) $となる。

ところで,$b = 2^{p(p-1)n} - 1 = \bigl( 2^{p(p-1)} \bigr)^n - 1 = \bigl( 2^{p(p-1)}-1 \bigr) \bigl( \cdots  \bigr) = p^2 \cdot \bigl( \cdot \  \cdots  \bigr)$ とかけるので(*),$\frac{b}{p^2}$は自然数である。そこで,${\rm rad}(a b c) = 2 \cdot {\rm rad} (p^2 \cdot \frac{b}{p^2}) \le 2 \cdot p \cdot  \frac{b}{p^2} = 2 \cdot \frac{b}{p} \lt \frac{2}{p} c$ 。ただし,$ {\rm rad}(m) \le m$ を用いた。

(*) フェルマーの小定理により,$2^{p-1}\ \equiv 1 \ ({\rm mod}\ p)$,すなわち,$2^{p-1} = k\ p + 1\ $なので,$2^{p(p-1)} = (k\ p + 1)^p = \Sigma_{r=0}^{p-1} C_r^p\ (k\ p)^{p-r} 1^r +1\ $。このため,$2^{p(p-1)}-1=(k\ p + 1)^p - 1\ $を展開した $k p$の最低次の項は,$C_{p-1}^p \cdot (k\ p) = k\ p^2$であり,全体は$p^2$を因子として持つ。

つまり,このabc-トリプルは任意の$n$に対して,$c > \frac{2}{p} c > {\rm rad}(abc)$ となるので,無限個存在する。

2022年4月17日日曜日

abc予想(1)

 NHKスペシャルの「数学者は宇宙をつなげるか?abc予想証明を巡る数奇な物語」の完全版(90分)が放映された。60分版にエピソードをいくつか加えて丁寧に編集していた。60分版を見た水野義之さんによれば,「素因数という言葉もさけて人間ドラマに仕立てた大失敗作だ」ということだが,そうでもないと思うけど。

Wikipediaのabc予想の記載は,現状をほぼ客観的に説明している。英語版のほうが淡白(冷淡)で,日本語版はややていねいに経緯を示している。NHKスペシャルでは,望月新一さん本人は取材を断っており,加藤文元さん,プリンストンでの望月の指導教官のファルティングス,批判派のピータ・ウォイトなどの話が中心となった。

番組でタイトルだけ紹介されたのが望月さんのブログからのキーワード「ノーと言える人間」であり,その説明はなかった。調べてみると,新一の「こころの一票」というブログの2017年11月21日に「心壁論」と,論理構造の解明・組合せ論的整理術を「心の基軸」 とすることの本質的重要性という記事があった。

abc予想を証明することができる宇宙際タイヒミュラー理論は,京大数理解析研究所のPRIMSで査読が完了して出版されたものの,世界の数学者の大勢は,その証明を認めていない。そんなこともあって,望月さんのこころの内がブログには表出されている。

望月さんは,5歳で日本を離れてからほぼ米国で生活し,16歳でプリンストンに入学し,23歳でPh. Dをとっている。そんな彼が欧米の大学のポストではなく日本の京大に職を得たことに理由に相当する,英語圏での生活における強い違和感が詳しく述べられている。

許容される表現のイメージ全体に一つの固定された「座標系」を敷き、表現のイメージ全体を通して 同一の「座標系」=「視点」=「声」=「神」=「心の基軸」しか認めないという姿勢を徹底することにはどうしても強い違和感を覚える

「ノーと言える人間」 というのは,例の盛田昭夫と石原慎太郎の1989年の著書「NO」と言える日本―新日米関係の方策」からきている。これが,欧米のメインストリームの数学者を権威主義的に敬う空気への強烈な拒否感として現れたものにほかならない。

P. S. 新一の「こころの一票」にNHKスペシャルについての評価に関する記事が掲載された。なかなかおもしろい(2022.5.3)。

2022年4月16日土曜日

にほんごであそぼ

 4月のNHKの番組改編では例年より大幅なものとなった。その中でも,Eテレのにほんごであそぼの評判が極めて悪かったので,録画を飛ばし飛ばしちょっとだけチェックしてみた。

うーん,頭にポットをつけたお姉さんが,百発百中の説明というかゲームに無駄な時間を費やすだけで時間が過ぎてゆく。部分的に以前のフレーバーが残っているものの,伝統芸能のかけらもなく,貴重だった織太夫,清介,勘十郎の文楽のコーナーも見当たらなかった。

1979年に福音館書店から出版された「にほんご」は,安野光雅,大岡信, 谷川俊太郎,松居直によって,小学校低学年の国語の教科書に代わるものとしてデザインされた労作だった。子供が小学校にあがるまで,ふとんの中でよく読んだものだ。そのフレーバーやコンセプトがふんだんに盛り込まれたのが,NHKの「にほんごであそぼ」だったが,番組改編で大変残念なことにそれが失われてしまった。

NHKはニュース系がひどくても,Eテレがあるからと我慢していた。この調子だと本当に全部がダメになりそうで怖い。まあ,あの優等生的で擬似中立主義的な総体による隠れた洗脳が問題だというのであれば,Eテレの優良番組だってどうなのよということかもしれないが。


写真:福音館のにほんごの書影(福音館書店から引用)

2022年4月15日金曜日

Wボソンの質量

4月7日付のScienceに,CERMのCDF実験によるWボソン質量の精密測定の結果が報告された。アブストラクトを訳すと次のようになる。

素粒子間の弱い力の媒介となるWボソンの質量は,素粒子物理学の標準模型の対称性によって厳しい制約を受けている。ヒッグス粒子は,この標準模型の最後の欠落部分であった。ヒッグス粒子が観測された後,Wボソンの質量を測定することで,標準模型を厳密に検証することができる。

私たちは,フェルミ国立研究所テバトロン加速器のCDFII検出器を用いて,重心エネルギー1.96 TeVの陽子・反陽子衝突で収集した8.8 /fb の積分光度に相当するデータを用いてWボゾンの質量M_Wを測定した。約400万個のWボゾン候補のサンプルを用いて,M_W = 80,433.5 ± 6.4 stat ± 6.9 syst = 80,433.5 ± 9.4 MeV/c^2 を求め,その精度はこれまでのすべての測定値を合わせたものを超える。この測定は、標準模型の予想と大きく異なる(注:標準理論では,M_W = 80,357 ± 6 MeV/c^2,7σの食い違い)。

標準理論の綻びは,ミューオンの異常磁気能率 のところにも現れていたので,いよいよ新しい物理が見えそうな期待感が高まる。ただ,野尻さんは論文のアペンディックスを見て懐疑的な感想を述べているので,まだどうなるかわからない。Wボソンの質量とニューオンの異常磁気能率の組み合わせが,標準理論の矛盾を大きくする方向に働いているようだ。

早速,様々な理論が話題になっているけれど,レプトクォークよりヒッグス粒子のダブレットの方が無難なのかもしれない。

 


写真:CDF 検出器(FNALから引用)

2022年4月14日木曜日

うさみ亭マツバや

大阪のきつねうどんの起源には諸説あるが,うさみ亭マツバやが元祖だというのがなんとなく有力らしい。一度行こうと思っていたので,午後の文楽のついでによってみた。

心斎橋筋を北に向かい,ちょっと右に折れると間口の狭いこじんまりした店があった。11:00開店で,11:30ごろについたが,既にお客さんがかなり入っている。早速きつねうどんとミニ親子丼のセットを注文した。

感想:味は普通。麺はやや太めでもっちゃりする。うどんの断面が丸くて箸から滑りました。油揚げも普通だ。これならば自宅で食べるスーパーの30円の生麺(断面は四角)+市販の味付け油揚げと大差ない。ただ,ミニ親子丼は昔ながらの玉子とじ状態でおいしかった。

食べているうちにも次々にお客さんが入ってきて,2階の席にも案内されている。隣の席ではおじさんが大阪弁で商売の話をしつつ「僕はしっぽくうどんにするわ」。お二人さんは,しっぽくうどんときつねとじうどんであり,なかなか味のある会話が流れてくる。

そういえば,金沢にいたころは,甘く炊いた大判の揚げのきつねうどんは存在しておらず,刻んだ揚げがのったいなりうどんだった。近所のうどん屋お多福の出前で,土曜の午後に天ぷらうどんとセットで食べていた。夏休みには泉丘高校のESSの部室に集まって勉強していたが,高橋君らと向かいのうどんやで大盛りのいなりうどんとかき氷を食べるのが日課だった。

入るときは気づかなかったが,大将がレジに座ってお会計をしていた。


写真:うさみ亭マツバや(撮影 2022.4.11)

2022年4月13日水曜日

摂州合邦辻

国立文楽劇場の四月文楽公演には,豊竹咲太夫文化功労者顕彰記念・文楽座命名150年のタイトルがついていた。第一部が義経千本桜,第二部が摂州合邦辻,第三部が嬢景清八嶋日記と契情倭荘子だ。コロナ流行が始まってからは,以前のような三部通しの観劇がしんどいので,今回は第二部を見ることに。

住吉大社万代池や天王寺界隈が舞台である摂州合邦辻。その万代池の段は,三輪太夫,希太夫,南都太夫,津國太夫,咲寿太夫,清友が並ぶ。公演記録の録画カメラが入っていたので,皆さん気合が入っていたようだ。最後に,吉田玉也の合邦道心によって,高安次郎丸の鬼若が,万代池に投げ込まれるのだが,池から可愛らしい顔を覗かせながら幕となる。

合邦住家の段は,中:睦太夫・清馗,前:呂勢太夫・清治,切:呂太夫・清介だった。今日は睦太夫が良かったと,家人と意見が一致した。声もはっきりと大きく変な癖がない。呂勢太夫と清治のコンビはうまいのだろうが,どうも自分にはピンとこない。一番良かったのは,呂太夫と清介だった。三味線の迫力やテクニックもすごくて(三の糸が切れた?),呂太夫も清介も熱演だった。

後半の玉手御前と浅香姫の激しいバトルでのキックには思わず笑ってしまった。この段は何度か見ているはずだけれど,百万遍の大数珠のイメージはすっかり消えていた。奴入平の吉田玉勢が,玉手御前の肝を取り出すのをビビって拒む当たりも面白い。

物語では,寅年,寅の月,寅の日,寅の刻に生まれた女の生肝の血が俊徳丸の毒を消すための薬になるという設定になっている。今年は寅年である。寅の月は旧暦の正月であり,2022年では,2月4日から3月4日までだ。寅の日は,12日ごとに巡ってきて,この度では,2月6日(日),2月18日(金),3月2日(水)。寅の刻は,24時間を12で割った3番目なので,午前3時から5時となる。


写真:浪速区下寺西方寺にある合邦辻閻魔堂(Wikipediaより引用)

2022年4月12日火曜日

真木悠介

 4月10日の夜7:00のNHKニュースで,見田宗介(1937-2022)の訃報が流れた。そういえば昔よく読んだものだと本棚を探したけれど見あたらなかった。何度か本の断捨離をしたときに,寄付に回してしまったようだ。

テレビでは,「現代社会の理論 −情報化・消費化社会の現在と未来−」を見田の代表作の一つとしてあげていた。調べてみたらこれは1995年の岩波新書であり,そのころには読む気がしなくなっていたので買わなかった・・・たぶん。大学1,2年の頃に,筑摩書房の箱入りのシリーズで,真木悠介名義の「人間解放の理論のために」とか,見田宗介名義の「現代日本の心情と論理」を買って愛読していた。いずれも,1971年の出版である。

当時は,ディヴィッド・リースマンの「孤独な群衆」から始まって,社会学の本を何冊か読んでいた。大学の教養の人文科学・社会科学では,哲学,倫理学,心理学,政治学,経済学は履修したが,社会学は取らなかったので,その埋め合わせもあり,「社会学のすすめ」から始まって色々と読みあさった・・・たぶん。

社会学といえば,1972年に阪大教養部の助教授だった井上俊(1938-)の「死にがいの喪失(1973)」はまだ本棚で生き延びていた。当時は真木悠介の本の方が良いと思っていたはずなのだけれど。

2022年4月11日月曜日

Wordle(8)

Wordle(7)からの続き

Wordle支援プログラム word.py を改良して,出現しない文字を含む単語をとり除く処理を1行加えた。第3引数に出現しない文字を連結して並べたものを与える。

# usage: warp.py w.txt a.b.c def

import sys
import re

f = open(sys.argv[1], 'r')
datalist = f.readlines()
arg1 = sys.argv[2]
arg2 = sys.argv[3]

for data in datalist:
  if(re.search(r'\d* '+arg1, data) != None):
    if(re.search('['+arg2+']', data) == None):
      print(data, end="")

f.close()

2022年4月10日日曜日

Wordle(7)

Wordle(6)からの続き

wiki-5.txtは,WIkipediaデータセットのWikiText-103 word から5文字単語を取り出したものだった。これに対して,n-gramの出現頻度を,1-gram, 2-gram, 3-gramに対して求めるpythonプログラム ngrm.py を作る。1-gramはアルファベット1文字,2-gramは連続するアルファベット2文字,3-gramは連続するアルファベット3文字を表している。

ngrm.pyの出力結果は , を区切り文字として,出現回数とn-gramパターンの組なので,sort で区切り文字を , 数値として解釈した逆順をリダイレクトして適当なファイルに格納すると,1-gramから3-gramまで混ぜた出現頻度順のファイルが出来上がる。
# usage: ngrm.py wiki-5.txt | sort -n -r -t , >! alphabet 
import sys

a=[0 for i in range(26)]
b=[[0 for i in range(26)] for j in range(26)]
c=[[[0 for i in range(26)] for j in range(26)] for k in range(26)]

def n_gram(target, n):
  return [ target[idx:idx + n] for idx in range(len(target) -n + 1) ]

f = open(sys.argv[1], 'r')
datalist = f.readlines()

for data in datalist:
  for l in range(5):
    x = data[l]
    i = ord(x) - 97
    a[i] = a[i] + 1
    if l in range(4):
      y = data[l+1]
      j = ord(y) - 97
      b[i][j] = b[i][j] + 1
      if l in range(3):
        z = data[l+2]
        k = ord(z) -97
        c[i][j][k] = c[i][j][k] + 1

for i in range(26):
  if a[i] > 49:
    print(a[i],",",chr(i + 97))

for l in range(26*26):
  i = l // 26
  j = l % 26
  if b[i][j] > 49:
    print(b[i][j],",",chr(i+97)+chr(j+97))

for l in range(26*26*26):
  i = l // (26*26)
  j = (l // 26) % 26
  k = l % 26
  if c[i][j][k] > 49:
    print(c[i][j][k],",",chr(i+97)+chr(j+97)+chr(k+97))

f.close()
wiki-5.txtにおけるベスト50は次のとおりであった(数字は出現数)。

5730707 , e

4092848 , r

3965317 , a

3759319 , t

3424032 , s

3108801 , o

3068296 , i

2603632 , h

2600893 , l

2398537 , n

1734820 , d

1574948 , c

1501211 , u

1291809 , w

1195832 , m

1086248 , g

1076779 , er

964115 , f

962898 , th

882193 , b

801081 , p

746024 , te

729576 , y

674447 , he

651813 , ou

636278 , st

604734 , ar

563176 , hi

559096 , re

556926 , v

556020 , or

533535 , in

521374 , k

521197 , es

519713 , ch

518219 , ir

514744 , al

514410 , wh

493762 , the

473288 , ea

427832 , le

417701 , ic

412433 , whi

412193 , an

409812 , il

384013 , la

372098 , at

369592 , se

364056 , ed

362684 , ter


2022年4月9日土曜日

Wordle(6)

 Wordle(5)からの続き   

Wordleを解くための支援プログラムを次のようなものとする。「5文字単語のデータベースを用意して,ワイルドカードを含む与えられた候補にマッチする単語を全て選び出して表示する」。perlでプログラムを組みたいところだったが,pythonの練習をすることにした。

5文字単語データベースとしては,前回示した WikiText-103 word Level からwords.shで処理したものを用いる。その後は,久々の python プログラミングなので,よちよち歩きながら試行錯誤する。

(1) コマンドラインの引数は,sysモジュールをimportすれば,sys.argv[n]でアクセスできる。sys.argv[0]はpythonスクリプト名,sys.argv[1] 以下で複数の引数を受け渡す。
(2) ファイルのオープンとクローズの方法は記載の通り。第1引数は先に求めてある5文字単語データファイル名である。
(3) テキストファイルを1行づつ分割して読み込むには,datalist=f.readlines() などとするとその結果のリストが 得られる。
(4) perlのようにdatalistから1行づつ取り出して処理をするのが,for data in datalist: である。
(5) 正規表現によるマッチングには,re モジュールをimportしたうえで,re.search(r'正規表現' , 原データ) という形式による。これが Noneでなければマッチしていることになる。
(6) 第2引数で入力する5文字のワイルドカードをピリオド(. )にしておけばそのまま正規表現として使えてるので便利である。
(7) データファイルは,wc -l で生成しているので,頭に頻度を表した数桁の数字が空白を区切りに付加されているため,'\d* '+arg としている。文字列の結合には,プラス(+)演算子を用いる。
(8) print文で余分の改行を削除するには,end="" をつければよい。
# usage: word.py w.txt a.b.c
import sys
import re

f = open(sys.argv[1], 'r')
datalist = f.readlines()
arg = sys.argv[2]

for data in datalist:
# print(arg, data, re.search(r'\d* '+arg, data))
  if(re.search(r'\d* '+arg, data) != None):
    print(data, end="")

f.close()

2022年4月8日金曜日

Wordle(5)

Wordle(4)からの続き

前回の復習:英文のテキストデータセットと単語の文字数 n が与えられたとする。文字数がnの単語を1行とした一時ファイルを作る。大文字は小文字に変換している。次に,wc -l によって一時ファイルの行数=n文字単語数を出力したものを並べたファイルを作る。また,上記の wc -l の前にsort | uniq フィルターをかけてユニークな n文字単語数についても同様のファイルを作る。これが,前回のwords.shプログラムのアルゴリズムだった。

具体例として,最初は手元にある数冊の英書の数千ページ(80MB)のpdfファイルからユニークにソートされた5文字単語(3万4千語)を抽出したものでテストした。もう少し大きなデータがないかと,オープンコーパスを色々探してみたが,なかなか適当なものがない。

最終的に,Wikipediaの記事を使ったデータセットにたどり着いた。多言語のWIki-40Bが前処理済で良さげだったが,TensorFlowを使えという指示が面倒であり,英語データで340万ページ2GBは大きすぎる。WikiText-103 Word Levelの方は,圧縮後181MBでそのままダウンロードできそうなので,こちらを使うことにした。

WikiText-103 Word Levelの解凍後のテキストデータは539MBあった。これをwords.shにかけると,1-20文字の単語(うちユニークな語)が約8300万語(約21万語),このうち5文字の単語(うちユニークな語)が約960万語(約2万4千語)であった。

WikiText-103 Word Level における,n文字単語(うちユニークな語)の出現頻度を下図に示す(オレンジが総語数の出現頻度,ブルーがユニーク語数の出現頻度)。n文字単語の出現ピークはn=3にあって約20%,ユニークなn文字単語の出現ピークはn=7にあって,約16%となった。5文字単語の場合は,ともに約11%となっている。


図:WikiText-103 Word Levelにおける単語出現頻度(横軸は文字数)

2022年4月7日木曜日

2022年4月6日水曜日

2022年4月5日火曜日

2022年4月4日月曜日

2022年4月3日日曜日

2022年4月2日土曜日

2022年4月1日金曜日