APL/J言語:グラフにおける疎分類

APL/J言語:グラフにおける疎分類
もし、ブール型リストbの最後の要素がゼロでなければ、</bの値は必ずゼロでない値になり、また、</bの値がゼロでない値になる場合は必ずbの最後の要素はゼロではない。
従って、bに</\を適用すると、最初の要素以外は無視され、結果は疎分類になります。

   cct=: #:@i.@(2: ^ #)  NB.完全分類テーブル
   b=: |: cct 2 3 5 7
   b
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
   </b
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   </\b
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   y=: (x-3) * (x-5) [ x=: 1 2 3 4 5 6 7
   range=: >./ - i.@spread
   spread=: 1: + >./ - <./
   bc=: (range <:/]) y
   bc;(</\bc);({&'.*' </\bc)  NB.棒グラフとグラフ
 +-------------+-------------+-------+
 |1 0 0 0 0 0 1|1 0 0 0 0 0 1|*.....*|
 |1 0 0 0 0 0 1|0 0 0 0 0 0 0|.......|
 |1 0 0 0 0 0 1|0 0 0 0 0 0 0|.......|
 |1 0 0 0 0 0 1|0 0 0 0 0 0 0|.......|
 |1 0 0 0 0 0 1|0 0 0 0 0 0 0|.......|
 |1 1 0 0 0 1 1|0 1 0 0 0 1 0|.*...*.|
 |1 1 0 0 0 1 1|0 0 0 0 0 0 0|.......|
 |1 1 0 0 0 1 1|0 0 0 0 0 0 0|.......|
 |1 1 1 0 1 1 1|0 0 1 0 1 0 0|..*.*..|
 |1 1 1 1 1 1 1|0 0 0 1 0 0 0|...*...|
 +-------------+-------------+-------+