1

ペアを含む行列M(つまり、サイズ2の配列)があります。ペアが与えられた場合、のスカラー積との各要素の結果を含むp2D行列を取得するにはどうすればよいですか?M'pM

    (0, 0) (0, 1)                             8 5
M = (1, 0) (1, 1)       p = (2, 2)       M' = 5 2
    (2, 0) (2, 1)                             4 1

Mp定義されています:

M =. 3 2 2 $ 0 0 0 1 1 0 1 1 2 0 2 1
p =. 2 2

Jにスカラー積の実装があります:

sp =. +/ @: *: @: -

ペアで動作します:

    0 0 sp p
8
    0 1 sp p
5

しかし、長さが悪いため、完全なマトリックスではありません:

    p sp M
|length error: sp
|   p     sp M

どのように対処すればよいですか?これはおそらくJの天才にとっては簡単ですが、私はただの初心者です。

4

1 に答える 1

3

使用する

p sp"1 M
 8 5
 5 2
 4 1

spここでMの1位のセルを読みたいと思います。

<"1 M
┌───┬───┐
│0 0│0 1│
├───┼───┤
│1 0│1 1│
├───┼───┤
│2 0│2 1│
└───┴───┘

したがってsp"1、各セル(、、など)で機能しp sp 0 0ますp sp 0 1sp(無限ランク)行列M全体にspを1回適用しようとします。

同様に、Mの2番目のランクのセルにsp"2も適用されます。sp

<"2 M
 ┌───┬───┬───┐
 │0 0│1 0│2 0│
 │0 1│1 1│2 1│
 └───┴───┴───┘

それで

p sp"2 M
 8 5
 2 5
 0 5

(ペア:p sp 2 2 $ 0 0 0 1、、p sp 2 2 $ 1 0 1 1およびp sp 2 2 $ 2 0 2 1

于 2012-07-16T23:09:32.930 に答える