Jボキャブラリーの:.(コロンドット、オブバース)のところを読みます。
(翻訳)
u :. vの結果がuでありかつオブバースをとるとvである、というように使う。接続詞&.(アンドドット、アンパーサンドドット)および^:(キャレットコロン、繰返し)においてはインバースと同値
(翻訳終り)
むむぅ、わかりませんね。とりあえず例を見よう。
y=: _4 0 4 3j4 rp=: <@(%: , -@%:)"0 NB.自乗根のペアを求める rp y +--------+---+----+---------+ |0j2 0j_2|0 0|2 _2|2j1 _2j_1| +--------+---+----+---------+ I=: ^:_1 rp I NB.オブバースを求める動詞 +--+--+--+ |rp|^:|_1| +--+--+--+ *: I *: i.5 NB.通常の整数ならOK 0 1 2 3 4 rp I rp y NB.複素数ではダメ
domain error |
rp I rp y |
えーと、こんなことかと想像。普通逆関数のあるものはインバースすなわち逆関数であるが、複素数まで広げると逆関数のないものが多い。しかし逆関数(オブバース)があることが前提の演算^:_1(キャレットドットアンダーバーいち)を使うためには、逆関数を定義し、:.(コロンドット)を使ってあらたに動詞を定義しなおしておくとちゃんと動く。
この理解で合ってるとすると、^:_1(キャレットドットアンダーバーいち)は使うけど、:.(コロンドット、オブバース)はあまり使い道が思いつかない。
以上