From: Greg Berchin on
Every time I see this argument raise its ugly head in comp.dsp, I find myself
shaking my head and thinking: "Because that's the way we've always done it" is
rarely a legitimate reason for continuing to do things wrong.

If the 0-based arrays cannot be accommodated within the old nomenclature, then
invent a new nomenclature exclusively for 0-based arrays. Instead of using
parentheses for array indices, use something else -- I don't care what it is, as
long as it unambiguously denotes 0-based array indices. That way, those of us
who want to do signal processing can finally abandon the completely
inappropriate and extremely error-prone 1-based format altogether and actually
have a tool that is appropriate for the task.

Greg
From: Steve Pope on
Greg Berchin <gberchin(a)comicast.net.invalid> wrote:

>Every time I see this argument raise its ugly head in comp.dsp, I find myself
>shaking my head and thinking: "Because that's the way we've always done it" is
>rarely a legitimate reason for continuing to do things wrong.

I wonder which mathematician decided that matrices are indexed from one
instead of zero?

There is so much matrix theory published that is dependent upon
this decision that it's impossible to un-do it in the world of
math literature.

This of course does not imply that engineers need, or are better
off, doing it like this.

Steve
From: robert bristow-johnson on
On Jul 6, 10:42 pm, spop...(a)speedymail.org (Steve Pope) wrote:
> Greg Berchin  <gberc...(a)comicast.net.invalid> wrote:
>
> >Every time I see this argument raise its ugly head in comp.dsp, I find myself
> >shaking my head and thinking:  "Because that's the way we've always done it" is
> >rarely a legitimate reason for continuing to do things wrong.
>
> I wonder which mathematician decided that matrices are indexed from one
> instead of zero?
>
> There is so much matrix theory published that is dependent upon
> this decision that it's impossible to un-do it in the world of
> math literature.

i do not think, nor have ever believed, that this is an "either or"
thing. it's not a dichotomy. it not a forced choice. no one needs
to choose between one convention (the long established matrix index
convention) and another (the "Dykstra" convention
http://www.cs.utexas.edu/users/EWD/ewd08xx/EWD831.PDF ). in fact,
it's just a generalization. neither convention need be adopted and,
as we do with non-causal impulse responses, we can start counting from
some negative index.

it's a generalization to or an extension to the present way of doing
things in MATLAB. and even though it doesn't favor any particular
origin in use, it *does* favor the present 1-based origin in MATLAB
because every new array created *defaults* to having 1 as the origin
for every dimension. the only way to change it would be to call this
"reorigin()" function (similarly to reshape()) or to create a non-1
based array from other non-1 based arrays. this makes it backward
compatible. old code would not break with this extension to the
language implemented.

r b-j
From: Greg Berchin on
On Wed, 7 Jul 2010 02:42:35 +0000 (UTC), spope33(a)speedymail.org (Steve Pope)
wrote:

>There is so much matrix theory published that is dependent upon
>this decision that it's impossible to un-do it in the world of
>math literature.

With all due respect, your undoubtedly true statement is irrelevant to the
argument. In signal processing, an array index of "0" often has physical
significance. In a Discrete Fourier Transform, for example, it represents zero
radians per second. Exp(j0) represents a phase rotation of zero radians. Etc.

If the mathematicians are happy with 1-based indexing, I have no problem with
that. But for signal processing, 1-based indexing is a real liability. RB-J
would like to have generalized n-based indexing. I'd be content with 0-based
indexing.

>This of course does not imply that engineers need, or are better
>off, doing it like this.

Exactly.

Greg