fortran66のブログ

fortran について書きます。

2010-01-01から1年間の記事一覧

178 名前: タピオカ(埼玉県) :2010/09/28(火) 22:11:29.65 id:kEOnpIFb0 ●日本の不幸は中国と朝鮮である。 この二国の人々も日本人と同じく漢字文化圏に属し、同じ古典を共有しているが、 もともと人種的に異なるのか、教育に差があるのか、 日本との精神的…

ちら裏メモなのでよく考えてないです

先日、本屋で Ruby 本を立ち読みしていたのですが、実数どうしの合同の比較で、画面の出力と実行結果を一致させるために、数値を文字列に変換して文字列どうしで比較するという項目があって、面白く奇妙な発想だと思い、メモっておくことにしました。FORTRAN…

archimedes 式 Pi 計算

アルキメデスは、円の内接多角形と外接多角形を書いて円周の真値を挟み込む形で円周率を求める方法を後世に残しています。ここでは内接多角形から円周率を求めることにします。ところで、小学生の知識で周長のわかる場合としては、円は内接六角形と外接正方…

LOG(2) のバイナリー表示 昨日の続き

二進法表示で小数点以下 n+1 桁目から始まる LOG(2) のビット列表示です。計算する式 ここで {} は、小数部を意味します。 ソース・プログラム 整数に変換することでビット列の表示をするように直しました。 PROGRAM test ! LOG(2) IMPLICIT NONE INTEGER ::…

LOG(2) のバイナリー表示

九月二日の続き。 Pi Directory by David H. Bailey下のDavid H. Bailey, "The BBP Algorithm for Pi," manuscript, Sep 2006. に基づいて、LOG(2) の任意位置での二進表示の計算というものをやってみました。 アルゴリズムを理解できたかの試し計算なので、…

CDC7600 での FORTRAN 最適化テクニック

スパコンの先祖ともいわれる CDC7600 での FORTRAN 最適化テクニックについての記事がネットにあったのですが、見てみるとすでにバンクコンフリクトの問題とかが書いてあって興味深かったです。注意深くプログラムすると非常に高速だった、と言われていた意…

1956年 IBM704 用 FORTRAN I の例題。

Fortran automatic coding system for the IBM 704 programmers reference manual (1956) [http://www.fh-jena.de/~kleine/history/history.html:title=Historic Documents in Computer Science collected by Karl Kleine] から。Fortran automatic coding s…

Fortran90 用の Reference card

Fortran90 用の Reference card が、Homepage of Michael Goerz にあります。

国立情報学研究所のCiNii

国立情報学研究所の CiNii データベースで FORTRAN と検索すると結構昔の文献が引っかかって面白い記事も色々出てきます。 登録なしで見ることができる記事も多いです。 規格に関するもの 66. 算法言語 FORTRAN II の報告 FORTRAN IV 言語の概略 F0RTRAN 77 …

スヌーピー・カレンダー

ここにソースあり(Win32のバイナリーもあり)。 この出力は、若干ソース修正をしたものです。 ラインプリンタ制御文字が書かれていますが気にしないでください。 昔はもっとこの手のラインプリンター用カレンダー絵が流れていたものですが、非改行での二度…

Cody の SQRT

program sqrt2 implicit none real(16) :: x, y, z, y2, y3, f, e integer :: i, j, k REAL(16), PARAMETER :: sqrt05 = SQRT(0.5q0) DO j = 1, 1000 CALL RANDOM_NUMBER(x) x = x * 1000.0q0 ! print *, 'x=', x f = fraction(x) i = exponent(x) ! print *…

四手和 Kahan 和

PROGRAM test IMPLICIT NONE INTEGER :: i REAL :: x, s, c, t c = 0.0 s = 0.0 DO i = 1, 100 x = 0.01 - c t = s + x c = (t - s) - x s = t PRINT *, s, c END DO PRINT *, s == 1.0, s STOP END PROGRAM test

メモ帳

-LOG(2)=LOG(1/2)=LOG(1-1/2)=1/1(1/2)+1/2(1/2)^2+1/3(1/2)^3+....確認テスト PROGRAM test IMPLICIT NONE INTEGER :: i, j, k, m, n REAL :: x, y n = 10 PRINT *, 2**n * LOG(2.0) x = 0.0 y = 0.0 DO k = 1, n m = 1 DO i = 1, n - k m = MOD(2 * m, k) …

MPFUN90 で pi 千桁

コンピュータによる多倍長計算を手段とする実験数学を提唱して、最近気炎を上げている D. H. Bailey という米国人がおります。そのべ氏の製作による多倍長計算パッケージを MPFUN90 といいます。High-Precision Software Directoryこのパッケージは、Fortran…

蟹(のはさみ)になりたい T・S・エリオット

T・S・エリオットの詩「J・アルフレッド・プルーフロックの恋歌」(『プルーフロックその他の観察』より) 岩波文庫 岩崎宗治 訳『荒地』七十三−七十四行 「いっそぼくなんか蟹のはさみにでもなって 静まりかえった海の底をかさこそ這えばよかったんだ。」 …

漢文の「而」

漢文の接続語として「而」というものがあります。文章の順接/逆接にも使われますが、単語間を結ぶ英語の and/or のようなものにも使われます。日本語では「と」になると思われるわけですが、実際の文章を見ていると微妙に日本語の「と」とは、ずれている気…

DIM関数

FortranにはDIM関数という2引数の関数があります。その定義は DIM(x,y)=x-MIN(x,y) です。この関数が何故 DIM という名前なのか、ずっと謎だったのですが、1958年発行の IBM の "Reference Manual FORTRAN II for the IBM 704 Data Processing System" を読…

ベーカー・キャンベル・ハウスドルフの公式

Baker-Campbell-Hausdorffの公式という、Lie群を勉強していると出てきて、証明するのがとても難しい代物があるのですが、その易しい証明があるということを先日知りました。具体的な展開式は与えられないので、御不満も御座いましょうが、とりあえず知ってい…

澹台滅明

先日、鼻糞をほじくりながら余嘉錫著『古書通例―中国文献学入門』を読んでいますと、その中に澹台滅明さんが出てきました。 196頁 なお陳皇后が再び寵愛を得たというのは、ちょうど馬融「長笛の賦」(『文選』巻一八)に 「屈原は憂苦のない国へ行き、介子推…

小惑星探査機はやぶさの帰還

はやぶさの帰還、和歌山大学のストリーム放送で見ました。雲が照らされて光るところが美しかったです。和歌山大学乙でした。カプセルも無事回収できたようで何よりです。 このカプセルを見ていると、ぶんぶく茶釜を思い出します。 米NBCより拝借 流れ星の火…

六角星陣の解

イアン・スチュアート『数学の秘密の本棚』に、いわゆるダビデの星と呼ばれる六芒星の交点上に1〜12までの数を置いて、どの直線上の数の和も等しくなるような、魔方陣様の並びを求める問題があります。更なる制限として、星の頂点6個に置いた数の和もま…

123-45-67+89=100

日経サイエンス誌の数学コラムをやっていたイアン・スチュアート氏の『数学の秘密の本棚』という本があったので暇つぶしに買ってみました。古いパズルから最近流行の話題まで色々載っており、また問題がわりあい易し目なのが多いので、理解できずにがっくり…

鳩山首相がオバマ政権からルーピー呼ばわりです!

Loopyのイメージ画像 クルクルパーなルーピー鳩山は辞職せよ!

Fortranで似非リスト処理

Fortran2003では、Array操作がさらに柔軟になっています。ALLOCATABLEな配列を返り値とする関数と、ALLOCATABLE配列の自動再割付が、色々と危険なんですが、便利です。これらの新機能により、APPENDやCONSのような配列長の変わる操作が簡単に実現できます。M…

10**8までの結果

コラッツ数列を10**8まで計算してみました。すべて1に収束して停止しました。最長の数列は、初期値63,728,127で950個の数列となりました。10**5を超えると32bit整数では桁あふれが起こるので、64bit整数を用いる必要があります。 ■ソース・コード MODULE m_…

Collatz問題

Haskellのプログラムを参考にCollatz問題のプログラムを書いてみました。 Fortran2003のREALLOCATE機能を使うことで、配列生成子を使うことで、配列をリストの代用とし、再帰を使って自動で伸ばしてゆきます。Collatz問題とは何かは、詳しくはここを見てくだ…

関数合成が難しい。

Fortranで、関数合成 f(g(x)) = f.g (x) のような記述ができないかと思ったんですが難しい。 .op.型の自己定義演算子は、関数引数の場合は出来ないし。関数ポインタの配列も出来ないのでまだいい考えが浮かびません。 適当にテストのメモ帳。 Fortranではポ…

鳩山は早く死んで欲しい

列子の思想とグノーシス主義の類似点

狩野直喜『中国哲学史』第三編第四章第二款「列子の学説」より 第一は、宇宙論に於いて宇宙の根本原理より森羅万象が分出する有様を説くことが老子よりも精密である。 第二は、老子の学説に於いても精神と肉体とを分かつけれども、其の区別は頗る明瞭を欠い…

BOSE Wave Radio/CD demonstration disk

平均音量は小さいのですが、大きい音も入っています。