15 ms·
I've always thought (ever since university) that math notation should take inspiration from code. Instead of writing Xi, they should really write X[i]; because
by hasenj 11y ago
I've always thought (ever since university) that math notation should take inspiration from code. Instead of writing Xi, they should really write X[i]; because Xi is ambiguous. I find that dealing with all the ambiguity in syntax can be rather frustrating.
- mmarx 11y ago> Instead of writing Xi, they should really write X[i]; because Xi is ambiguous. How so, and in which cases would it be ambiguous to write X_i, but not X[i]?
- hasenj 11y agoX_i is a valid variable name. Although it seems in math you can only use single-letter variable names, which is kinda ridiculous (coming from a computer science background).
- Maken 11y agoUsing "ab" would lead to ambiguity, since it could mean "a*b". Also, there is no reason for using two letter variables when you can use any letter from the latin or greek alphabet, with any notation like ä or â or even create your new symbols like ∫, ℝ or ℕ when nothing matches the concept you want to express. Unlike programming languages, math notation evolved without being constrained by monospace ASCII characters and text lines.
- Retric 11y agoDraw a circle/oval/rectangle/cloud/whatever around your names and suddenly there is zero ambiguity. The only constraint was EGO. PS: For typesetting Just capitalize the first letter. Radious ^ 2 * Pi = Area is common and unambiguous.
- Retra 11y agoYou can use multiple letter variable names. Nobody is stopping you from doing that.
- niels_olson 11y ago> math notation should take inspiration from code I believe that's the pseudocode format? I grew up in physics before the web took off and am now teaching myself bioinformatics, transcribing problem statements and pseudocode into working python. There's several hundred years of pencil and paper math where these forms developed natively, unconstrained by $MY_KEYBOARD, which offers a far more limited range of expression. I am quite grateful for LaTeX, but I also understand the utility of suppressing that degree of expressiveness in code, where getting the point down quickly with a few more keys is a reasonable trade for the power of the machine that $MY_KEYBOARD interacts with. Personally, I find iPython's web notebook to be an amazing environment.
- chelovek 11y ago> Instead of writing Xi, they should really write X[i] In math, x_i is i-th element in a set/list and X[i] is the ring of polynomials.
- Someone 11y agoNo, both are whatever you want them to be. http://mathworld.wolfram.com/SquareBracket.html http://mathworld.wolfram.com/SquareBracket.html gives some options for square brackets. https://en.m.wikipedia.org/wiki/Bracket_(mathematics) https://en.m.wikipedia.org/wiki/Bracket_(mathematics) has quite a few more (do not forget to check out the 'See also' section) And x_i could for example mean 'x in base i' (http://mathforum.org/library/drmath/view/57226.html http://mathforum.org/library/drmath/view/57226.html) Mathematicians invent notation to suit them in whatever problem they are working on. That notation doesn't have to be globally consistent.
- chelovek 11y agoThat's true. These just so happen to be ubiquitous. We can agree to call 2 a unit. To most, though, it won't be.
- gizmo686 11y agoNitpick, under standard definitions, 2 is a unit, over the field of rationals (or reals, or many other systems). EDIT: for a less trivial example, 2 is a unit in the integers mod 9, but 3 isn't.
- john_b 11y ago> "Instead of writing Xi, they should really write X[i]; because Xi is ambiguous. I find that dealing with all the ambiguity in syntax can be rather frustrating." This is a feature of math, not a bug. The potential for ambiguity is the cost that one pays to have a flexible and extensible notation which can be adapted to concepts yet undiscovered. This is generally not the case with code [1]. When you are exploring new ideas you want the ability to redefine your notation to match the nature and structure of the abstactions you are examining. There is a finite number of symbols in the set of all human languages, and thus far we know of no reason that there should be a finite set of concepts in mathematics. Enforcing a one-to-one mapping from a given sequence of symbols to a given concept forces you to either limit the space of concepts you can consider or to eventually deal with impractically large sequences of symbols for relatively simple concepts. [1] Yes, Lisp and DSLs are a thing, but you still have to define what a given sequence of symbols means. In an interpreted language, the interpreter computes the meaning using inputs and any necessary state. In math, the meaning is necessarily dependent on context as well.
- hasenj 11y ago> deal with impractically large sequences of symbols for relatively simple concepts. I don't think they would ever have to be impractically large. Right now they are just impractically weird.
- jcfrei 11y agomathematical notation is usually contextual - due to the broad range of concepts
- Retra 11y agoThat seems like a rather selfish and narrow thing to say. I've always thought (ever since university) that code should take inspiration from math notation. Instead of writing: for (int i = 0; i < limit; i++) { acc += 1; } just write: acc = ∑_(int i=0)^(limit); I think maybe one should do some more math before telling a world of mathematicians what to do. Besides, it's far easier to create computer languages than the change math notation the world over.