Prev: change diagonal to 1
Next: mysql and matlab problem
From: robert bristow-johnson on 6 Jul 2010 23:11 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 |