There is another approach not yet mentioned in this thread nor in the Identity Matrix essay, viz., sparse arrays. The approach makes possible really large diagonal matrices. e.g.
v=: 1e6 [EMAIL PROTECTED] 0 m=: v (<"1 ,.~i.#v)} 1 $. ,~#v $ m 1000000 1000000 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
