The biggest difference (other than the existence of infinity) is that the upper limit is inclusive in summation notation and exclusive in for loops. Threw me for a loop (hah) for a while.
i thought this was pretty weird too when i found out about it. i’m not entirely sure why it’s done this way but i think it has to do with conventions on where to start indexing. most programming languages start their indexing at 0 while much of the time in math the indexing starts at 1, so i=0 to n-1 becomes i=1 to n.
My abstract math professor showed us that sometimes it’s useful to count natural numbers from 1 instead of 0, like in one problem we did concerning the relation Q on A = N × N defined by (m,n)Q(p,q) iff m/n = p/q. I don’t hate counting natural numbers from 1 anymore because of how commonly this sort of thing comes up in non-computer math contexts.
yeah thats a good example and it shows weird the number 0 is compared to the positive integers. it seems like a lot of the time things are first “defined” for the positive integers and then afterwards the definition is extended to 0 in a “consistent way”. for example, the idea of taking exponents an makes sense when n is a positive integer, but its not immediately clear how to define a0. so, we do some digging and see that am+n = aman when m and n are positive integers. this observation makes defining a0=1 “consistent” with the definition on positive integers, since it makes am+n = aman true when n=0.
i think this sort of thing makes mathematicians think of 0 as a weird index and its why they tend to prefer starting at 1, and then making 0 the index for the “weird” term when it’s included (like the displacement vector in affine space or the constant term in a taylor series).
The biggest difference (other than the existence of infinity) is that the upper limit is inclusive in summation notation and exclusive in for loops. Threw me for a loop (hah) for a while.
Nah, look at the implementation above:
Means it’s inclusive.
You’re probably referring to some other implementation that doesn’t involve such fine control, like Python where
range(4)
means[0 1 2 3]
Oh yeah, I meant generally. Isn’t it most common if not best practice to say
for (i = 0; i < whatever; i++)
?Fair. I guess to accommodate zero-indexing so that it still happens
whatever
times, notwhatever + 1
times.i thought this was pretty weird too when i found out about it. i’m not entirely sure why it’s done this way but i think it has to do with conventions on where to start indexing. most programming languages start their indexing at 0 while much of the time in math the indexing starts at 1, so i=0 to n-1 becomes i=1 to n.
My abstract math professor showed us that sometimes it’s useful to count natural numbers from 1 instead of 0, like in one problem we did concerning the relation Q on A = N × N defined by (m,n)Q(p,q) iff m/n = p/q. I don’t hate counting natural numbers from 1 anymore because of how commonly this sort of thing comes up in non-computer math contexts.
yeah thats a good example and it shows weird the number 0 is compared to the positive integers. it seems like a lot of the time things are first “defined” for the positive integers and then afterwards the definition is extended to 0 in a “consistent way”. for example, the idea of taking exponents an makes sense when n is a positive integer, but its not immediately clear how to define a0. so, we do some digging and see that am+n = aman when m and n are positive integers. this observation makes defining a0=1 “consistent” with the definition on positive integers, since it makes am+n = aman true when n=0.
i think this sort of thing makes mathematicians think of 0 as a weird index and its why they tend to prefer starting at 1, and then making 0 the index for the “weird” term when it’s included (like the displacement vector in affine space or the constant term in a taylor series).