10. 分類(with Selection與Inner Product)

完整分類表有多種用途,包括與多種內積配合使用。例如:
  cct=: #:@i.@(2: ^ #)
  m=: 2 3 5 ,: 4 2 1
  n=: |: cct 0{m
  m ; n ; m +/ . * n
+-----+---------------+----------------+
|2 3 5|0 0 0 0 1 1 1 1|0 5 3 8 2 7 5 10|
|4 2 1|0 0 1 1 0 0 1 1|0 1 2 3 4 5 6  7|
|     |0 1 0 1 0 1 0 1|                |
+-----+---------------+----------------+
以下表達方式可以將內積的樣式看得更清楚: 給定矩陣乘法 p 的左引數(左下區)與右引數(右上)的原子 ,右下區為對應於左引數橫列與右引數直行的內積。 因此:
   ('' ; n) ,: (m ; p=: m +/ . * n)
+-----+----------------+
|     |0 0 0 0 1 1 1 1 |
|     |0 0 1 1 0 0 1 1 |
|     |0 1 0 1 0 1 0 1 |
+-----+----------------+
|2 3 5|0 5 3 8 2 7 5 10|
|4 2 1|0 1 2 3 4 5 6  7|
+-----+----------------+
  
   (+/r*c) ; (r*c) ; (r=: 0{m) ; (c=: 3{"1 n) ; (<0 3){p
+-+-----+-----+-----+-+
|8|0 3 5|2 3 5|0 1 1|8|
+-+-----+-----+-----+-+
就如同一般矩陣乘法得到乘積之和,內積 */ . ^ 得到乘冪之積。 因此, m */ . ^ n 產生 m 的橫列的所有可能子集合的乘積:
   m */ . ^ n
1 5 3 15 2 10 6 30
1 1 2  2 4  4 8  8
也請參閱分類的key 副詞 (/.)。


下個前個字彙索引主選單