将向量元素乘以向量得到 Return 方阵

Multiply Vector Elements by Vector to Return a Square Matrix

我是 APL 的新手,我正在努力将向量 v 的每个元素与向量相乘,使得它 return 是一个 n x n 方阵,其中 n 是向量的长度。

例如,

    v ← 1 0 0 1.

我试图创建一个函数,例如:

    ⍳⍴v{⍵×⍵[⍺]}v

    1 4 9 16

我无法通过向量迭代 ioda,这是我需要指导的一部分。我的总体目标是return一个矩阵:

v_1 x v --> 1 0 0 1

v_2 x v --> 0 0 0 0

v_3 x v --> 0 0 0 0

v_4 x v --> 1 0 0 1

我会继续努力解决这个问题。感谢任何帮助,谢谢!

"Outer product"前来救援:

       (⍳10)∘.×⍳10
 1  2  3  4  5  6  7  8  9  10
 2  4  6  8 10 12 14 16 18  20
 3  6  9 12 15 18 21 24 27  30
 4  8 12 16 20 24 28 32 36  40
 5 10 15 20 25 30 35 40 45  50
 6 12 18 24 30 36 42 48 54  60
 7 14 21 28 35 42 49 56 63  70
 8 16 24 32 40 48 56 64 72  80
 9 18 27 36 45 54 63 72 81  90
10 20 30 40 50 60 70 80 90 100

顺便说一句,如果您正在尝试学习 Dyalog APL,我建议您看看“Mastering Dyalog APL”。如果您正在尝试学习不同的方言,我建议您考虑改用 Dyalog。 (我是 Dyalog-Fanboy,20 年前自己做出了改变。今天 Dyalog 似乎实际上是唯一一个积极开发和增强的 APL-Interpreter...)