On Oct 20, 2011, at 9:37 PM, Roger Hui wrote:

>> The object on which verbs operate, that is, a noun, can be either an array, 
>> or a scalar.
> 
>> So a noun is either a scalar or an array.
> 
> But a scalar is an array.  See
> http://www.jsoftware.com/jwiki/Essays/Scalars (cited before).
> 
> "Noun" is taken in the sense that it is used in lots of documents,
> where it means "array".

Thanks for the reminder on that link.

Given those discussions, even though it seems counter-intuitive, I stand 
corrected.

A scalar (aka element)           is a zero-rank array.
A vector (aka list)              is a one-rank array.
A matrix (aka table aka "array") is a two-rank array.

The confusion comes from the ambiguous, everyday usage of "array" versus the 
more exact APL/J definition, which I'll call "Array".

Using "noun" to mean Array is less confusing, but if someone then forgets (as I 
did) that Array means more than just a 2-rank array, the confusion returns 
anyway.

J is hard enough as it is, but "array" having the everyday meaning alongside 
the APL/J meaning (Array) is really quite confusing to explain.

Perhaps we should all use more caution in how we reference rank-2 objects?  

To avoid confusion entirely, perhaps we should Use "matrix" or "table" to 
reference the 2-rank objects (instead of "array"), and use "noun" to mean the 
more general, any-rank object?

BTW, the data warehouse/business intelligence field calls a multi-dimensional 
(rank-3 or more) object a "cube".





----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to