Loading article…
| デザイン: | デビッド・H・マンロー |
|---|---|
| 初登場 | 1996年 |
| 安定版リリース | 2.2.04 / 2015年5月 |
| OS | macOS、Microsoft WindowsなどのUnix系システム |
| ライセンス | BSDA の |
| ファイル名拡張子 | 。私 |
| Webサイト | github.com/LLNL/yorick |
Yorick は、数値、グラフのプロット、および大規模な科学シミュレーション コードの操作用に設計されたインタープリタ型 プログラミング言語です。配列構文により非常に高速で、CまたはFortranルーチンを介して拡張可能です。1996 年にローレンス リバモア国立研究所のDavid H. Munroによって作成されました。
特徴
インデックス作成
Yorick は、強力な構文を使用して N 次元配列内の要素を便利に操作するのに優れています。
複数の要素に一度にアクセスできます。
> x = [ 1 , 2 , 3 , 4 , 5 , 6 ];
> x
[1,2,3,4,5,6]
> x ( 3 : 6 )
[3,4,5,6]
> x ( 3 : 6 : 2 )
[3,5]
> x ( 6 : 3 : -2 )
[6,4]
- 任意の要素
> x = [[ 1 , 2 , 3 ],[ 4 , 5 , 6 ]]
> x
[[1,2,3],[4,5,6]]
> x ([ 2 , 1 ],[ 1 , 2 ])
[[2,1],[5,4]]
> list = where ( 1 < x )
> list
[2,3,4,5,6]
> y = x ( list )
> y
[2,3,4,5,6]
- 疑似インデックス
PDLの「ヘッダー」やNumpyの「ブロードキャスト」と同様に、Yorick にはこれを行うためのメカニズムがあります。
> x = [ 1 , 2 , 3 ]
> x
[1,2,3]
> y = [[ 1 , 2 , 3 ],[ 4 , 5 , 6 ]]
> y
[[1,2,3], [4,5,6]]
> y ( - 、)
[[[1],[2],[3]],[[4],[5],[6]]]
> x ( - ,)
[[1],[2],[3]]
> x (, - )
[[1,2,3]]
> x (, - ) / y
[[1,1,1],[ 0,0,0]]
> y = [[ 1 . , 2 , 3 ],[ 4 , 5 , 6 ]]
> x (, - ) / y
[[1,1,1],[0.25,0.4,0.5]]
- ゴムインデックス
「..」は、配列の 0 以上の次元を表すラバーインデックスです。
> x = [[ 1 , 2 , 3 ],[ 4 , 5 , 6 ]]
> x
[[1,2,3],[4,5,6]]
> x ( .. , 1 )
[1,2,3]
> x ( 1 , .. )
[1,4]
> x ( 2 , .. , 2 )
5
「*」は、配列のスライス(サブ配列)をベクトルに再形成するための一種のラバーインデックスです。
> x ( * )
[1,2,3,4,5,6]
- テンソル乗算
Yorick ではテンソル乗算は次のように行われます。
P(,+, )*Q(, +)
手段
> x = [[ 1 , 2 , 3 ],[ 4 , 5 , 6 ]]
> x
[[1,2,3],[4,5,6]]
> y = [[ 7 , 8 ],[ 9 , 10 ],[ 11 , 12 ]]
> x (, + ) * y ( + ,)
[[39,54,69],[49,68,87],[59,82,105]]
> x ( + ,) * y (, + )
[[58,139],[64,154]]
外部リンク
- Linuxジャーナルレビュー
- JehTech の Yorick チュートリアル
