> 'Array' means a noun of any rank, regrettably including 0, and so > is synonymous with 'noun'. I wish we would agree to change > all the documentation to say that 'array' means rank > greater than 0. I'm ready with my part.
Why do you wish for such a thing? If arrays exclude atoms, every time you turn around you'd be saying things like "arrays and atoms", as in, "functions take array and atom arguments and return array and atom results". ----- Original Message ----- From: Henry Rich <[EMAIL PROTECTED]> Date: Friday, October 5, 2007 21:42 Subject: RE: [Jgeneral] Re: Empty dimensions confuse me To: 'General forum' <[email protected]> > > > > But 3 $ 1 2 3 > > > > has zero magnitude in the 2nd dimension, no? So it would > > seem to be > > > > equivalent 0 3 $ 1 2 3 but per the interpreter it is not. > > > > > > It's not zero magnitude in higher dimension, it's _empty_ > magnitude.> > Same as scalar has empty dimention, but itself > represents one > > > > I like scalar myself but "atom" is the proper J terminology. > > I also like matrix > > much more than array. > > A matrix is a 2-D array that follows the rules of matrix > multiplication(So say I). So a 2-D array may not be a > matrix, if it contains > nonnumerics or doesn't follow matrix rules. > > I think the word for a rank-2 array is 'table'. > > 'Array' means a noun of any rank, regrettably including 0, and so > is synonymous with 'noun'. I wish we would agree to change > all the documentation to say that 'array' means rank > greater than 0. I'm ready with my part. > > > > But why sweat the small stuff? :) And > > list? well that > > totally aggravates me. Vector is great. List is stepping on > > the toes of cons > > cells that that particular data structure. > > Again, 'vector' suggests vector spaces which are numeric. > > > > data location. Shape 3 is not (0,3) it's ('',3). > > > > I see. Now, in terms of data storage: > > > > an array of shape 1,3 can store 1 vector of magnitude 3 which > > can store 3 > > "somethings". > > > > an array of shape '', 3 can store 3 somethings (it is a > > vector of magnitude 3). > > > > but what about an array of shape 0,3? How can you index into > > that vector of > > magnitude 3 and get or store data? > > A table of shape n,3 contains n items, each a list of 3 atoms. > If n is 0, the list is empty and contains no items. But > you can > add an item to it with , (as Bill pointed out). > > You can't index into an array along an axis that contains a 0, because > the index must be less than the length of the corresponding axis. > Therefore you must get index error. > > Consider > > $ -.~ i. 3 3 > 0 3 > > You had a table of 3 lists; you deleted some of the lists so > none were left. > The shape shuld be 0 3. It is. This is the meaning > of an empty table. ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
