That's a good way to think about "frames of cells". Rank-3 array could 
be vector of matrices (with "2 or "_1) and matrix of vectors (with "1 or "_2).

Oleg


On Oct 6, 2007, at 15:23, Roger Hui <[EMAIL PROTECTED]> wrote:

"A Programming Language", 1962, page 39:

Although in certain fields, such as tensor analysis, it is
convenient to define more general arrays whose _rank_
specifies the number of levels of structure (i.e. zero for
a scalar, one for a vector of scalars, two for a vector
of vectors (matrix), three for a vector of matrices, etc.),
...



----- Original Message -----
From: Henry Rich <[EMAIL PROTECTED]>
Date: Saturday, October 6, 2007 12:04
Subject: RE: [Jgeneral] Empty dimensions confuse me
To: 'General forum' <[email protected]>

You can not use the normal English meaning of "array"
to make this argument.  Array has a special meaning
in mathematics/computer science, wherein its meaning 
is due in no small part to its usage in APL (and J).

I realize that J can use the terms any way it wants to,
but I suggest to you that you shouldn't depart from
standard meanings without sufficient reason.  It is up
to each of us to decide what is sufficient; we talk about
it to try to establish a common terminology.

[Sometimes the Dictionary terminology is so wrong, as
in using the term 'global assignment' for something like
abc_xyz_ =: 5, that agreement is impossible]


I would use 'noun' to mean 'array or atom' in the
cases you mention.

Why have two words to mean the same thing?  Currently,
'noun' = 'array'.

So you would say "functions apply to noun arguments
and return noun results".  That mixes two metaphors:

noun    
verb       adverb conjunction
array   function   operator

I would say 'verbs apply to nouns operands and produce noun
results'.

I would never use the word 'operator' because to a
mathematician/physicist it means a modifier, while to a
C programmer it means a verb.

I would also be wary about calling something a 'function'
when it can return different values on successive calls with
the same operand.

So when I'm talking J, I would say 'verb'.

I would use 'array' to mean a noun that has dimensions, and
'atom' to mean a noun that does not.  'Noun' covers both cases.



I want 'array' to mean rank > 0 to avoid
the clumsy 'non-atomic array'.

If "non-atomic array" is clumsy, then "array and atom"
is no less so, and would be used much more. e.g.
What does the monad [EMAIL PROTECTED] do?  It finds the rank
of an array (or atom).  For that matter, what does
the monad $ do?  Finds the shape of an array (or atom).

[EMAIL PROTECTED] finds the rank of a noun, and $ finds the shape of
a noun.  What's hard about that?

Once you get over thinking that 'array' must include
atoms, you can get down to the real issues:

0) Do we need a word for 'non-atomic noun'?  I say yes.

1) Is there a better word than 'array'?  I say no.

2) Would people be confused by a change in terminology?  I 
say no.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm



       
____________________________________________________________________________________
Moody friends. Drama queens. Your life? Nope! - their life, your story. Play 
Sims Stories at Yahoo! Games.
http://sims.yahoo.com/
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to