Yorick


Hamlet:

Let me see. Alas, poor Yorick! I knew him, Horatio. A fellow of infinite jest, of most excellent fancy. He hath bore me on his back a thousand times.


Hamletの有名な墓場の一場面です。そんな訳か、アイコンは髑髏です。 20年近く昔の事、シェークスピア狂の亡命ロシア人のピアニストが 自分の頭蓋骨をHamletで使ってくれとの遺言で劇団に寄贈した話が ありました。私がその話を聞いた時は、頭蓋骨(アンドレイ)は出番を 待つばかりだったとか…。

閑話休題。YorickはC言語風のインタプリタ言語です。Matlabクローンと 比較すると随分と違った面(特に配列)がありますが、軽量でありながら、 グラフィックスの能力も馬鹿に出来ません。

実際、計算もインタプリタにしては非常に高速です。これはYorickに附属の デモを見れば判るかと思います。デモには1から5まで有り、デモの起動は yorickを立ち上げて、include命令でデモを読込んで実行します。 例えば、demo2を実行する場合は以下の様にします。

>include,"demo2.i"
>demo2
    

このデモは太鼓膜の振動のアニメーションで、Yorickは実際に方程式を 解きながらアニメーションを実行しています。

Pentium MMX 233MHz程度のPCであれば、うねうね振動している様子が 良く判ります。他のデモで、demo1が二次元グラフのデモ、 demo3がペンドラムのchaoticな運動のシミュレーションで、これは 低スペックの計算機には重過ぎるので注意する事。とは云え、 Pentium MMX 233MHz/604e 200MHz程度であれば多少重い程度で済むので、 最近の計算機で、負荷が高過ぎて止った様になる事は無いので、 研究室の出土品で遊ぶ様な事をしなければ問題はないでしょう。 demo4が流体中の羽、demo5が三次元アニメーションのデモとなります。

YorickはMatlabとは別のシステムで、両者の違いが歴然とするのは 配列の扱いです。Matlabの行列処理を敢えて直観的で素朴なものと言う なら、Yorickは手続き型の言語で、函数化して考えると言えるでしょうか。 丁度、Mathematica(Lisp風)とMaple(C風)の様な違いと言えます。 Yorickには擬似添字と云った非常に面白い工夫もあり、これを上手く使えば、 膨大なデータの後処理にはMatlabクローンよりも適している様に思います。 因に、Yorickの擬似添字の考えはPythonにも引継がれているそうです。

Yorickには、Yorick-mbと云う派生版もあり、こちらはreadline libを 用いたり、様々な形式の画像の読込と書込みが行えると云った機能拡張 があります。何かと便利なものが良ければ、yorick-mbは良い選択になり ます。

幾つかの例題に簡単なYorickの紹介を 行います。安直に配列を扱い、二次元のグラフを描く程度の話です。

YorickマニュアルにYorickに附属マニュアル の日本語訳を載せています。但し、翻訳の非常に初期の段階のものの為、 配列の辺から、山海経並に怪異な事になっています。無いよりもましと 思って暫く我慢して下さい。


ponpoko
Last modified: Fri Dec 3 08:10:56 JST 2004