fortran66のブログ

fortran について書きます。

MacMahonの分割数の表

Hardy と Ramanujan が分割数 p(n) の漸近形などを求めるに際して、元駐インド陸軍少佐 MacMahon の求めた n=200 までの分割数 p(n) の表が役に立ったと、よく本に出てきます。ところが この表に関してはリファレンスが無いのが普通で、また MacMahon 少佐の著書 Combinatory Analysis Vol.1,Vol.2 を見ても載っていないので、どこにあるものかと探していましたが、Hardy と Ramanujan の論文の中に MacMahon 少佐によるものとして載っていることが分かりました。[ Proc. London Math. Soc. (1918) s2-17 (1): 75-115. ]

補足
ホールの本を見てみたら、上と同じことが書いてありました。第4章が分割で、そこだけしか見てませんw

組合せ理論 (1971年) (数学叢書〈15〉)

組合せ理論 (1971年) (数学叢書〈15〉)

f:id:fortran66:20161025012449p:plainf:id:fortran66:20161025012456p:plain

分割数 p(5n+4)≡0 (mod 5) の証明

分割数 p(5n+4)≡0 (mod 5) の比較的簡単な証明が、ハーディ&ライトの数論入門にあることが分かりました。日本語版では下巻の冒頭の分割に関する章にあります。

p(7n+5)≡0 (mod 7) も同様に求まるようですが、p(11n+6)≡0 (mod 11) は難しいとありました。

補足
ネットをググると p(11n+6)≡0 (mod 11) の時も、5,7と同様に解けるという記事が出てきました。めんどくさくてむつかしくてよく見てませんが…w

産地偽装の中国産蓮根

民進党ジャスコ岡田さんの実家、AEONは産地偽装や虚偽表示の商品が大量にあったことで有名でしたが、最近は改善したのでしょうか。

関係ないですが、中国産蓮根の産地偽装ニュースをなんとなく思い出しました。

2008年10月25日(土) 11時39分

レンコン産地偽装で捜索 中国産を国産と表示容疑(東京新聞

 中国産レンコンを国産と偽り販売したとして、山口県警は25日、不正競争防止法違反(虚偽表示)の疑いで山口県岩国市の食品加工会社「岩国青果販売」と、篠田理博社長(59)の自宅など数カ所を家宅捜索した。

 同社はタケノコの産地偽装も指摘されており、県警は篠田社長から任意で事情を聴き、全容解明を進める。

 岩国青果販売には午前8時半ごろ捜査員10数人が到着。篠田社長立ち会いの下、捜索を始めた。

 調べでは、同社は8月上旬、中国産を使用した水煮レンコン数百パックの原産地を「岩国市」と表示し、県内の卸売業者に納品した疑い。

 山口県は24日、同社が3−7月に岩国産として販売したレンコンの水煮約5・1トンに少なくとも約2・1トンの中国産を、昨年3月からことし2月に販売したタケノコ約1・7トンにも中国産約0・9トンを使用したなどとして是正指示した。

http://www.tokyo-np.co.jp/s/article/2008102501000156.html

IBM Power9 でハードウェア四倍精度実装

Ando's Processor Information Page の情報によりますと、IBM が Power9 でハードウェア四倍精度実装するそうです。
http://www.geocities.jp/andosprocinfo/wadai16/20160827.htm



Fortran では、単精度実数とデフォルト整数の語長が一致することになっていますが、このせいで今のところ整数型が 32bit になっています。ところが、64bit 時代を迎えて、配列長などが 2G 越えで符号付 32bit 整数ではオーバーフローしてしまう状況が出てきて、色々不都合が生じてきています。

無論最近のコンパイラでは、ソフトウェア的に四倍精度実数が実装されているのが普通になってきているのですが、やはりハードウェア的に四倍精度を実装して、全体のサイズをスケールアップしたい気もします。

まぁ色々微妙ですが。

しょうもない読書

先日、ネット書店のポイントが当日で失効するというので、慌てて本を探したものの読みたいものとてなく、特別安売りの地政学本を電子書籍で買ってみました。

アマゾンだと、これ。


無知性学といった感じの地政学の本です。最初の1/3位のイントロは、酒家で酔っ払いのおっさんから聞かされるような地政学談義で、ようやくはじまった本編には地政学は出てこず、昔懐かしい人口ピラミッドに基づく人口動態学の議論を延々するというずっこけぶりです。

昔の人口動態学では、食料不足による飢餓と貧困が悪の元凶になっていましたが、この本では引退者への福祉支出が悪の元凶になっていて、高齢化の進む世界各国に対してアメリカが有利という結論になっていました。

老人早死にで子だくさんの途上国はどうなんだと聞きたくなりますが、著者によれば資本蓄積がないので問題外ということで、この辺は昔風です。また、未成年の教育も支出だけで生産力がないので、初等教育は移民輸出国に任せておくのがいいともあって、基本近代以前の子供と老人はごく潰しという視点が貫かれていて、微笑ましいものでした。

注目点としては、シェールガスでエネルギー自給可能で、産業競争力も高くなるので、もはやアラブ産油国の供給路や国際商取引の安全を保障する必要もないし、海外から手を引くのは既定路線と言った背景意見があります。

モンロー主義による鎖国待ったなしです。

メモ帳

Young の上昇演算子で、同次対象関数 h_λ を使って、シューア関数 s_λ を展開する(またはその逆)をやりたいのだがが、ががが。Murnaghan 式に、上昇・下降演算子ξ^-1,ξで表わして行けるかと思ったが、むしろ符号の問題が面倒で仕切り直しになった。

実行結果

[[2,2,1],[2,3,0],[3,2,0],[3,1,1],[3,2,0],[4,1,0]]     

s221=h41-h32-h311+h221

をだしたい。

ソース・プログラム

Haskell は、相変わらず型の指定が難しくて思い通りにならない。大したことはしていないはずなのにw

xi :: Int -> [Int] -> [Int]
xi  k = xiop (-1) (k - 1)
xi' k = xiop   1  (k - 1)

xiop :: Int -> Int -> [Int] -> [Int]
xiop m k xs = xs0 ++ x : xs1
        where xs0 = take k xs 
              x   = m + xs !! k  
              xs1 = drop (k + 1) xs  
         
r :: (Int,Int) -> [[Int]] -> [[Int]]         
r (x, y) xs = xs ++ [r_ (x,y) xx | xx <- xs]

r_ :: (Int,Int) -> [Int] -> [Int] 
r_ (x,y) xs = xi' x (xi y xs)


lij n = reverse [(i,j)| i<-[1..n], j<-[i+1..n]]

s_h :: [(Int,Int)] -> [[Int]] -> [[Int]]   
s_h []  xs = xs
s_h (y:ys) xs = s_h ys (kill (r y xs))  

kill [] = []
kill (x:xs) = if head (reverse x) < 0 
                 then kill xs
                 else x:kill xs

main = print (s_h (lij 3) [[2,2,1]])