For me, intuition-wise, I'd order it "undefined, 1, 0".
There are 3 cases for 1 and one case for 0 that immediately spring to my mind when considering the problem:
0) Limit of 0^x, as x approaches 0 (from above).
1a) Limit of x^0 as x approaches 0 (from either direction).
1b) Limit of x^x as x approaches 0 (from above).
1c) "What did you multiply by 3 once, to get 3^1? So, multiplying 1 by zero, zero times..."
Limits here, simplified to intuition level, being "what would you need to fill that hole in the graph?" The fact that these disagree would be why I'd assume undefined, but the case for 1 seems stronger (to me).
The limit in 1b is 1 from below as well, right? I'm not sure how limits work with complex numbers, but the imaginary part of x^x approaches zero as x approaches zero from below, so can we say that the limit of x^x as x approaches zero from below is also zero?
Yes, perhaps "intuition" isn't the best word. Formal limits certainly aren't "intuitive" to me, at least by one definition of the word. I suppose I used "intuitive" to mean "according to my mathematical understanding, ignoring the mathematics explicitly dealing with 0^0."
Even for things as "objective" as mathematics, definitions ultimately come down to what makes it convenient to manipulate symbols like an expert would.
This comes up all the time in fields as diverse as software engineering, law, finance, business, even hard sciences like physics - things are "right" because they're convenient, and because the consequences of them being that way make it possible to build on those results with new constructs, while doing it a different, more intuitive way would result in those constructs being impossible.
What the article is saying is that your intuition for it being 0 or undefined is because you've been exposed only to exponentiation as repeated multiplication or as the limit of some series; if you consider other theorems like the binomial theorem, and figure out what is necessary for them to hold without special casing, you'll decide otherwise.
Not really - the explanation from the "mathematician" perspective gives some of the rationale, and it makes perfect sense & in line with intuition.
Defining 0^0 as anything but 1 is weird since x^0 is 1 given the other definitions we have adopted, i.e. x^n = x * x * ... * x (n times) for positive integers, (x^n)^(-1) being defined as the unique number such that x^n * (x^n)^(-1) = 1, (x^n)^(-1) * x^n = 1 for non-zero numbers x, and the simple result that (x^n)^(-1) = (x^(-1))^n from proof by induction & the uniqueness condition of the multiplicative inverse, we then get the natural formula that 1 = x^n * x^(-n) = x^(n - n) = x^0 for non-zero numbers. Defining 0^0 = 0 or undefined doesn't agree with the formula given for all non-zero real numbers, and goes against the limit of x^x as x approaches 0 (as detailed in the article), making x^x a discontinuous function at x = 0 if it is defined as another value.
That's a rather long text to say "it's an arbitrary -- and conveniently chosen -- definition of a special case of the power function similar to how 1 is not prime". I also think the presentation was chosen poorly: lots of wrong information before the correct approach is presented.
In no way was wikipedia better, it was confusing and basically incomprehensible unless you already understood the material.
His presentation was much better because it leads you to the answer instead of dropping it on you from the sky. (The difference between learning by rote vs learning by understanding.)
I love Wikipedia. It's amazing. It makes the world a better place. I'm a pretty decent programmer. I do video games so I do lots of 3d math. I'd say I'm decent at that as well.
I hate Wikipedia for math. Absolutely hate it. Unless you are a mathematician by trade Wikipedia is damn near useless for learning new math concepts. I don't even bother checking it anymore.
I had an idea for a couple of years now of creating a wikipedia-style mathematics textbook that will be crowd-sourced, standardized and cover all of math in a way that's accessible to learn from on your own. It would have a kind of a zoom function where you can expand details on explanations and calculations to a depth that you prefer. Ideally this kind of thing would start off with basic math and get progressively further into mathematics like the roots of a tree.
That's a good question. In the spirit of making learning easier it would perhaps "start" with what we teach children. However, that might be ultimately misguided because that would just mimic the curriculum and force the whole thing into a box. But then again the math knowledge itself forces a structure on any such textbook because to know A you need to know B, C, D, etc.
This is further complicated by the fact that most subjects in math can be approached from multiple equivalent angles. For example, complex analysis can be taught from the complex derivative perspective or from the power series perspective equally well. Ideally the format of the whole thing will allow the student to naturally learn things from the angle they understand better.
That is not a bad idea at all.,, It will be a lot of work but it could be done. Crowd sourcing might lead to the wikipedia-style schizophrenic-author voice of writing, though. See [1] for a prev discussion.
Interestingly, if the book is organized so it is aligned to the common core math standard[2], it would make a killing in the US market since current textbooks are so bad.
I have also found Wikipedia to be a convenient math reference, but it is not always the "best" that is easily available on the internet. If I'm looking at a topic, it's usually fruitful to Google "introduction to X theory" and go through a few possibilities to find a literature review. Often there is a review which is a good "companion" to the Wikipedia article in terms of explanation, since the style will be different and you get some breadth of perspective.
>that that's attributable to math being hard
(an easily underestimated property of mathematics)
I disagree. There are math concepts that I've found impossible to pick up from wikipedia but can easily be learned in 5 minutes by having a conversation with someone who already understands them.
Honestly this article in question is a perfect example. I'd wager than almost everyone who reads Hacker News can read the blog post and understand every single step from start to finish. The same can not be said for the Wikipedia article.
For questions about mathematical correctness I highly prefer wikipedia. To me it's far more specific and clear, while the original article makes rather short work of proofs.
When it comes down to questions that involve first principles, I would much rather have rigor over a less time consuming but potentially wrong understanding of the material, and wikipedia does quite well in providing that rigor.
My experience has usually been that Wikipedia is an abysmally bad tool for learning mathematics. The articles seem to be written by someone who has zero clue how to teach the concepts and merely is trying to wow the reader with their proof-writing skills.
That is because the majority of Wikipedia's math articles are actually from Planet Math, a website full of math knowledge similar to MathWorld that is geared towards mathematicians.
That's because Wikipedia isn't a tool to learn mathematics. Wikipedia articles (on anything) are not meant to teach about a subject (in the sense of schooling) but rather to give an exposition of a subject. It is considered to be very bad style on Wikipedia to write articles that try to teach the reader as a textbook or a class would.
Missing Q and A: But if mathematicians insist it is 1, why do high school teachers act like they know more than the mathematicians do?
A: They don't. The statement that mathematicians uniformly say it is 1 is simply false. My high school teacher had a PhD in math, I think it's fair to say she was a mathematician. And yes, she said it was undefined.
No, because there's no such thing. Either we can define 0^0 to have a value, or we can not do so. Either way, there's no separate option "indeterminate" that is different from "undefined".
Now, it's common to teach in calculus classes that 0^0 is one of the "indeterminate forms", along with 0/0 and so forth, which, so the story goes, is a different thing from being undefined, like 1/0. Since, after all, if f(x) approaches 1 and g(x) approaches 0, then the limit of f(x)/g(x) is undefined, whereas if f(x) and g(x) both approach 0, then the limit of f(x)/g(x) cannot be predicted in advance. So 1/0 is undefined, but 0/0 is indeterminate.
Now this certainly is getting at a real distinction! But it's not a distinction between the value of 1/0 and that of 0/0; both are undefined. "Indeterminate" is not some separate actual value. Rather, they are getting at the distinction of the behavior of the division function near the point (1,0) vs. how it behaves near the point (0,0). Not at the points! At both those points, the function is not defined.
And similarly with 0^0. Of course, it's pretty common to define that 0^0=1, and it's a definition I'd agree with -- but this is not inconsistent with the calculus teacher's statement that 0^0 is "indeterminate", because the latter (once made sense of) is not really a statement about the value of 0^0 at all; it's a statement about how the exponentiation function behaves near the point (0,0) (not at it; at it, it's equal to 1, or at least by my definition it is, at any rate).
In short, there's no such value as "indeterminate"; the calculus teacher's "indeterminate forms" (as opposed to "undefined"), while getting at a real destinction, is not actually about the value of the function at the point at all.
I thought "most of the time" was implied in these sorts of things by now. And you will note the mathematicians don't "say it is 1"... they say they are choosing to follow the convention of defining it as 1, with reasons listed below.
I could come up with whatever crazy definitions in math I wanted to, and sometimes even get useful results. However, this view is not... convenient for teaching, so they pretend that you are learning "math", as opposed to "a particular math".
>"The statement that mathematicians uniformly say it is 1 is simply false"
Not really. No serious mathematician would dispute the fact that for every real x,
e^x=sum(n=0 to infinity)x^n/n!.
But the above fails at x=0 if we don't define 0^0=1. So even mathematicians who claim to not use 0^0=1, can almost always be convinced to admit that they do indeed use 0^0=1, using the Taylor series for e^x.
And because if you're Isaac Newton and you're writing pages and pages of proofs, you naturally want to use a shorthand in order to save yourself time, energy, and from repetitive strain injury.
Not really. We have some very good reasons for using the definitions we use every day. Those reasons are more related to us than our technology, although our tech is getting so good that we already need to think about it. And by the way, people changed almost all the usual definitions at the XX century.
Now, mathematicians do throw the usual definitions away all the time. It's important to know when to reuse other people's coding, or roll your own.
My favourite algebra professor always said something to the effect of "we always have to be careful about abusing notation but if we make good choices of notation we can abuse it right." Definitions are sort of the same deal.
Well of course we made it up. No one handed us any stone tablets with 0^0 on them.
Mathematicians are always making definitions, and working out which of them should be kept and which should be discarded. We keep the definitions that make the most sense, that make our lives the easiest, that make theorems easy to state, that give math a sense of being natural. Indeed, in the early days of algebraic geometry there were big debates over which definitions to adopt.
It is like deciding on a convention when you design a new programming language. In this case, experience has shown that it is pretty much always better to say that 0^0 is 1 and not 0. Among other reasons, there is exactly one map from the empty set to the empty set.
But if you say 0^0 = 0, you don't get math blowing up in some big contradiction. You just get a little more kludge here and there, a few extra special cases of lemmas that have to be spelled out in more detail. Nothing too awful.
Correct me if I'm wrong, but I infer that you're using "we made it all up" as a pejorative toward mathematicians. Of course mathematicians invented the terminology, notation, and methodology, but that's not a bad thing. It's a great thing, just like it's great that engineers "make up" bridges, chemists "make up" pharmaceuticals, writers "make up" novels, etc.
Mathematicians are engaged in a dramatically different kind of project than almost any other human discipline. Mathematical details emerge from definitions, but they appear exactly the same way for everyone else using the same definitions. And what's really surprising is how robustly those purely rational results compare to messy empirical reality. There is no good reason to believe that this should be the case!
In most other human endeavors, when something doesn't work we just work until find something else that does work, and marvel at our ingenuity. Mathematics doesn't quite give you that option. There are right and wrong answers to questions that we create ourselves, but those answers are fixed once we ask the questions, even if we didn't know what they were.
I don't think the fifth axiom is considered particularly mysterious anymore. The traditional fifth axiom clearly isn't a logical result of the first four, since it can be replaced with other parallel postulates to yield non-Euclidean geometries which are themselves perfectly workable and consistent. In fact, that section of the Wikipedia article notes that Beltrami proved the independence of the parallel postulate.
It's mysterious because it is only clear in retrospect. The fact that you can negate the parallel postulate and get a system that is still self-consistent is incredibly mysterious. This is what sets mathematics apart. We "make it up" like other human accomplishments, and yet we can't actually just make it up. If we arbitrarily defined 0^0 = π, we'd just be speaking nonsense.
It's not mysterious that negating the parallel postulate is consistent; you just have to divorce the axioms from their originally intended meanings, and realize that they apply to other objects besides those meanings.
It's kind of like this. A biologist independently discovers directed graphs, but refers to the nodes as "organisms" and edges as "parenthoods", and then spends five hundred years trying to prove that every organism has only finitely many parenthoods, thinking it must be true since it's obvious biologically! Without realizing that graphs are far more general and apply elsewhere.
Arbitrarily defining 0^0=π would not be speaking nonsense, it would just be speaking a little arbitrarily. Nonsense would be defining 0^0=rainbow
Not at all pejorative. In my experience, the odd thing about mathematics is that the people who seem to treat it the least seriously are mathematicians. Everyone else thinks of "math" as a set of immutable laws. Mathematicians are the only ones who can see & treat math for what it is: a set of human languages designed to interpret and communicate ideas.
0^0, like any indeterminate form, can be made to equal anything via sufficient cleverness. Consider the limit:
y = lim_[x->0] x^[a / log(x)]
We have log y = lim_[x->0] (a / log(x)) log(x) = a. So 0^0 equals any number at all! Of course, nobody in their right mind would define exponents this way, but the indeterminacy is inherent in the definition of the symbols.
It's perhaps more than a convention because this is also the limit that the function x log(x) naturally takes as x approaches 0 in the domain of the logarithm. Well, this is just a rehash of what the "cleverest" student does anyway.
I understand the "math"...the numbers...the work on paper. But how does that translate to something useful in the real world? That, after all, is what useful math helps us do...solve problems for the real, tangible world. Saying that 0^0 = 1 is a cool math game; but translate 0 into something in the real world (i.e. nothing, none, etc.)...and trying to make something out of it other than 0 or "indeterminate" starts to make less sense.
> But how does that translate to something useful in the real world?
I think this is a by-product of the way we are taught maths at the very start; that it must somehow relate to real things. We start our understanding of maths by using real world objects like apples and we show how addition works and subtraction. I think perhaps it sticks in our head that everything must somehow relate to real objects and the real world.
We somehow get past that when we are introduced to things like square roots and integrals and higher mathematical concepts, but even with those we often try and relate them back to the real world.
I wonder of there are other ways to start teaching maths that doesn't start by using balls or apples? How would that work?
Perhaps not really great examples - I mean you can relate to the length of a diagonal line in a square room, but you can't really relate to the square root of three apples, can you? I'm not trying to say that those example don't relate to the physical world. My point is we abstract more and more away from the "real world" until you get something like this post.
What about complex numbers - the square root of -1, incredibly, is useful in electronics and other real physical systems, but you cannot really relate it to physical objects - or at least not obviously. Or more incredibly something like Banach Tarski [1].
From the article's example the simplicity of the binomial formula is extremely useful compared to a formula that would have to account for the case where k=0. Another commenter pointed out the useful elegance of 0log0=0 for physicists. These are the real world applications for mathematicians choosing definitions directly. Saying that an idea may be defined in many ways is correct, but choosing a working definition for the system helps to apply the definition to appropriate concepts. This is what mathematicians are doing when choosing a specific definition instead of saying that any definition will work.
One could argue the entire field of Real Analysis was formed because Calculus showed the world that we didn't really have those definitions, but they were needed. There are cases where the integral of the derivative does not equal the derivative of the integral (violation of the fundamental theorem of calculus) without having a specific epsilon-delta definition of limit.
Also, zero is not always the same as nothing or none. Zero is an abstract number that some have decided is useful to represent nothing or an empty set, but really comes from an abstract idea that you can count nothing and have a number. This goes back to the fact that numbers are pretty useful ideas regardless if you may consider one of them a function or not.
The strongest value of math is the most consistently efficient approach for solving non-trivial abstract problems, not necessarily the answer to the question solved by the article. This is due to understanding how to probe a problem, experiment with possibilities, and repeat in a logical manner until you strike gold - it is a skill that is applicable in just about every walk of life.
I thought quantum mechanics was riddled with complex numbers? What is it about QM which means we're "using" complex numbers without having "found" them in nature?
(I realise that this is kindof a horrible question to try and answer on an internet forum, please try your best physicists ;)
Another good reminder on how math itself is arbitrary and made up by humans (often for what's simplest/easiest), and not handed down to us by God. Luckily it's an extremely useful and extendable made up system.
I see this all the time with AI/machine learning. Most algorithms are based on assumptions that make the math work out better rather than being aligned with some "fundamental truth." The world is not linear, but it's much easier to approach it as if it were!
It is. We invented the arabic numerals because they were easy to draw and we could written any numbers with them. Just like we invented higher lever computer languages instead of using assembly.
If I have three objects and you give me two more then I'll always have five objects. You can call it cinco or 五 but there are still five of them.
Likewise, you'll always be able to determine the length of the hypotenuse of a right triangle by its two legs. No matter what system you set up, if you're cutting three boards to build a triangle the length of the big one is absolutely defined by the length of the other two, assuming Euclidian geometry. The symbols (a, b, =, c, +, superscript 2) are all totally arbitrary but if you're working with three boards there is absolutely an intrinsic correctness to the Pythagorean theorem.
There are branches of math which are just exploring the internal consistency of the system we've set up but much of physics is spent describing the real world and applying our math symbols to the universe. The amazingly cool thing is that our system is so good that we can use our abstract symbols to make predictions about physical laws and they actually come out to be true! I would argue that all of physics is basically "math that's a fundamental truth of the universe".
> No matter what system you set up, if you're cutting three boards to build a triangle the length of the big one is absolutely defined by the length of the other two, assuming Euclidian geometry. The symbols (a, b, =, c, +, superscript 2) are all totally arbitrary but if you're working with three boards there is absolutely an intrinsic correctness to the Pythagorean theorem.
This is only true because we are assuming Euclidean geometry, and as I had said earlier, this implies that we can logically conclude these facts because mathematics is logical and internally consistent given these axioms, so we cannot say that they are intrinsically true; that would require us to know without a doubt that the axioms are correct. Since we can use Gödel's incompleteness theorem to show that our axioms are necessarily assumed, we can say that we do not know if they are correct or not, only that assuming they are, we can make a lot of really good predictions about the world around us.
> The amazingly cool thing is that our system is so good that we can use our abstract symbols to make predictions about physical laws and they actually come out to be true!
This is definitely amazing, however it does not mean that our system is necessarily correct, in fact it is demonstrably lacking in Quantum mechanics for example, where we need to renormalize infinities, which makes almost no mathematical sense whatsoever, but we do it because our experiments tell us that if we do, we can make predictions about how things work.
> I would argue that all of physics is basically "math that's a fundamental truth of the universe".
I agree with the spirit of what you are saying here, but think I would phrase it in the following way:
I would argue that physics is basically fundamental truths about the universe that we can describe to the best of our ability using an abstract framework such as math. The fact that we can do that does not mean mathematics consists of these fundamental truths.
EDIT: Modified last paragraph to be slightly clearer.
The fact that you count something as an object or see the world in discreet terms is also similarly arbitrary. You could see "objects" as something that's more interconnected and thus would count them differently. If we were far smaller and "looking" at things on an atomic level, putting that grouping together would not be quite as likely. And even still, you're focusing on the "discreet" positive space versus the negative space.
There are many ways to view the world that also would create its own system of abstraction and eventually "come out to be true." You're just used to one particular variety and it's all you know, so you call it the truth.
But if you're unlucky, you pick a set of axioms that makes the whole system inconsistent, which means that you can prove anything, which means that the whole system is useless. To say that it is purely arbitrary is in a sense right, but it seems to undermine the care that you have to go through in order to be reasonably sure that the system is not set up to fail.
> It is [arbitrary]. We invented the arabic numerals because...
Then it's not arbitrary; chosen at random or on a fleeting whim, without reference to a reason or system. It was invented to fill a specific need based on certain limitations.
I doubt many people would agree that you were doing maths if you made your rules and symbols up randomly.
It's true enough that mathematicians define certain things certain ways, but they generally have reasons for doing so that tie into other aspects of whatever system they're working within at the time, or with particular areas of investigation: 'If I alter this rule, or make this assumption, what does it do to the system as a whole? Does it let me find some answer more easily than another way? Does it preserve consistency/truth values? Under what conditions?'
That's far from being dependent solely on their individual whim, the decisions they make in that regard, and the answers they will get, are strongly influenced by the form the system has taken and it's uses and limitations.
Of course if you want to maintain that maths as a whole is arbitrary because you could make whatever you liked up and say you were doing maths... well, I won't argue you're not, but it seems to me you've made the objection general enough that it could safely be ignored. Anyone doing something purposeful could simply assert: 'Your's, maybe. We're trying to do our-maths-goal.' And move on.
I don't know that I accept this argument. You're saying that because there are slight inconsistencies that we have to reconcile, math can't possibly given to us from God? Has God never handed anything to humans that had slight inconsistencies in it?
I... okay, but you're not really responding to the intent of the message which was saying that math isn't a bastion of purity and fundamentally and wholly right and perfectly designed.
And if math had been handed down it would all be in an old holy book, which it clearly isn't.
Exactly. God here is representative of some singular fundamental truth about the universe, assuming such a thing even exists. And math wasn't created in such a fashion.
Math was designed by humans to be useful, which it very much is. But ultimately it's just a system we made up, and then kept building on top of ad infinitum. Just go exploring into the topology branch of math (one example of many) just to see how remote from what you see around you math can get.
I do think there is some "fundamental truth" (whether it was "handed down to us by God" or not. Sure, maybe our math system is not able to fully express that truth (and in fact, we are pretty sure it is incomplete--that is unable to proof certain truths), but that doesn't mean it's arbitrary..
It's arbitrary when we create a system out of thin air -- given different axioms (and findings over time) "math" would be extremely different.
Think about it this way -- there's no particular reason computers HAVE to be on a binary system. It's convenient for many a reasons, but there was an era where computers were analog and continuous, and it's feasible to engineer systems using a higher base and be discreet (and many have researched exactly this.) Quantum computers work even more differently too.
This is a problem of definitions. The definitions are arbitrary and are chosen to make the life (of the mathematicians) easier. It’s easier to write a lot of results if we define 0^0=1.
On the other hands, he proofs express a fundamental truth and are handed down to us by God (or whatever deity you believe in).
The definitions only decorate the truths. By unwrapping the definitions, the truths can be expressed using just the barest predicates and function symbols of the background language, and logical operators. Whether you define 0^0 to be 1 or not doesn't change the unwrapped truth.
0 is not defined as 0 * x = 0 - that is a derived formula. 0 is defined as the additive identity, i.e. x + 0 = x = 0 + x. It is a unique number.
0 * x = 0 is proven by noting that 0 * x = (0 + 0) * x = 0 * x + 0 * x (distributive property) and then subtracting the additive inverse of 0 * x from both sides to get that 0 = 0 * x.
However, this says nothing about 0^0, and one cannot talk about 0^(-n) for natural number n since 0 has no multiplicative inverse.
Also your argument on limits is not correct - you chose a particular path of approach for the expression y^x fixed along y = 0. Looking at another angle, the limit of x^x as x approaches 0 is clearly 1 as reasoned in the article, so this causes a clear disagreement here since you can argue for different values to make sense by tweaking the path of approach of the two dimensional function y^x appropriately.
I feel like in discrete mathematics (especially combinatorics), since we don't use continuous functions, it's useful to say 0^0 is 1, along with 0! = 1, and so on. Makes a lot of things around Binomial theorem and the like easier. I'm not so sure if it's safe to use that when doing and calculus proofs or anything along those lines, but there, you have more useful tools for dealing with limits that might approach 0^0.
0! really is 1 in a much more reasonable sense. The empty product is the multiplicative identity. The continuous notion of ! also agrees: http://en.wikipedia.org/wiki/Gamma_function
Edit: To be clear, this is good practice when linking to arXiv in general. From the abstract, one can easily click through to the PDF; not so the reverse. And the abstract allows one to do things like see different versions of the paper, search for other things by the same authors, etc.
I really like that Knuth paper: the Iverson bracket in particular is some really handy notation. Mathematicians would do well to spend more effort on notation. Currently it doesn’t seem nearly as valued as theorem proving, but in my opinion it’s just as important, because it defines how we think about the structures we’re working with.
I think computer programming would actually be quite excellent exercise for a mathematician, because it involves such heavy intimate experience with the problems of naming things, working with notation, and defining the boundaries of various abstractions. From kindergarten up through the end of an undergraduate degree, mathematics students mostly take existing notation and definitions for granted, and don’t get much hands-on experience with the problems which result from inventing bad notation or bad names. As a result, they have a less visceral understanding of the importance of good notation and good names.
[I also think programming students should spend at least a bit of time working with as many different abstraction styles and notations as they can, as well as e.g. trying to implement new toy programming languages with new semantics.]
In any case, zero is a different animal than any other number. It can't actually exist in the physical world like other numbers; it's definition is non-existence. Zero is merely conceptual. Therefore, it can't easily fit into the picture of mathematics; at least not without requiring the definition of special cases.
- "0^0. Why? Because mathematicians said so. No really, it’s true."
- [Detailed explanation of the tradeoffs involved in choosing different definitions of exponentiation.]
So, it's not "because mathematicians said so", it's because of a deep review of the tradeoffs of defining how exponentiation generalizes, the kind of thing that mathematicians happen to study more than other identifiable groups.
This is exactly why you have things like 0! = 1, 0 choose 0 = 1, 0^0 = 1, the empty sum is 0 and the empty product is 1, and so on. These are DEFINITIONS and they make notation easier. They basically help the flow of mathematics. It's often difficult to watch someone try to explain "intuitively" why some of these things are the way they are and completely miss the point that they are like this because they help make other things easier.
Why is that even a question? It should return the correct answer, of course.
Edit: At the very least, that behaviour should be a configurable option for those who desire something other than what most mathematicians accept as being the correct answer.
The whole point of this is that there isn't necessarily a single right answer. As another user pointed out, mathematicians define 0^0 to be 1, but you don't necessarily have to accept that as truth in the way that 1+1=2.
If the calculator is powerful enough (as in the case of Mathematica) to evaluate Taylor series, for example the Maclaurin series for e^x when x=0, then in doing so it implicitly admits 0^0=1. If it simultaneously says 0^0 is not 1, then the calculator is inconsistent. (Mathematica IS inconsistent in this example)
Mathematica (or do we call it Wolfram Language now?) evaluates 0^0 as Indeterminate and warns: `Power::indet: "Indeterminate expression 0^0 encountered."`
Math libraries (and language standards) should follow the guidance in IEEE-754 unless they have a very good reason not to do so.
"pow(x, +/-0) is 1 for any x (even a zero, quiet NaN, or infinity)."
"pown(x, 0) is 1 for any x (even a zero, quiet NaN, or infinity)."
- but -
"powr(+/-0, +/-0) signals the invalid operation [and returns NaN]."
"pown" refers to the function on R x N defined by repeated multiplication; "powr" is the function on R x R defined by exp(y log(x)). "pow" refers to the mental hodgepodge of the two that most people intend when they write x^y without really thinking about it.
I think that the most intuitive way to get the idea of why 0^0 = 1 is to take the example from combinatorics. n^k is the number of distinct sequences for the sampling with replacement and ordering (for example ball picking from repository of n different balls and counting the number of distinct ways that k balls can be picked and ordered - with replacement). I think that there is only one way of ordering results of drawing zero balls from a set of 0 different balls :)
While high schoolers try to prove their own intuitions about their understanding of exponents (intuition drilled into them through rote learning), mathematicians just say "we defined it that way".
It speaks to the tragedy that is the high school math curriculum.
I have a problem with this part of the explanation:
>However, this definition extends quite naturally from the positive integers to the non-negative integers, so that when x is zero, y is repeated zero times, giving y^{0} = 1,
which holds for any y. Hence, when y is zero, we have 0^0 = 1.
When y is zero, don't we have 0^0 = 1 x [y zero times]? Maybe I'm conceptualizing it incorrectly, but I'm envisioning an empty space where y would be, akin to an empty set. 1 times an 'empty set' is _not_ 1, it's one empty set, which rubs me as another way of saying nothing/zero, not 1.
I know my language is imprecise and I'm probably describing empty sets and the definition of zero incorrectly. The point is that the last step of his explanation doesn't sit right with me. Just because Y exists zero times does not mean you can just throw it out of the multiplication.
I did not encounter this convention while working on my math degree. I am surprised that none of the characters in the article said "0^0 is nothing, but limits of the form 0^0 can be any nonnegative real number or infinite".
Yes, you did. It may not have been stated explicitly, but it was implied in a couple places:
1. Binomial theorem. Its statement does not conventionally include any caveats about the x^0 case.
2. D(x^n) = n x^(n-1). When n = 1 and x = 0, you get a 0^0 on the RHS. If 0^0 is taken to be 1, the derivative rule holds. Else, the statement gets messy: D(x^n) = n x^(n-1) if (x,n) != (0,1)
The real problem here is that x^y is a single shorthand which refers to a few fundamentally different mathematical concepts (which happen to have significant overlap with each other).
First, it refers to a function f:C x N --> C, defined in terms of repeated multiplication. f(x,0) is 1 for all x != 0, and so we adopt the convention that f(0,0) is also 1.
But it also refers to a function g:C x C --> C, defined as g(x,y) = exp(y log(x)), which has a branch cut on the negative real axis of the first argument and an essential singularity at (0,0), and so g(0,0) is necessarily undefined.
The value of 0^0 depends entirely on what sort of mathematics one is doing at the time, and therefore which function one is referring to.
But if you define 0^0=1 in general, it doesn't cause a problem here -- that definition never disagrees with x^y=exp(ylog(x)), it just defines it at the point 0^0, while the latter leaves it undefined. In other words, it's possible to make a common extension of the two; they don't actually give different values in any case.
Of course, doing this makes exponentiation discontinuous at (0,0), but seeing as it already had an essential singularity there, this isn't really a loss.
Right, but when you're working with the function on C x C, it doesn't really add anything either to arbitrarily pick 0^0 = 1, except for consistency with that other function that happens to be written the same way.
I'm not really opposed to saying 0^0 = 1; it's the only reasonable choice if we're going to insist on using the same notation for these two functions, and I don't expect that's going to change.
In fact, exponentiation f : C x N -> C has a natural generalization to any monoid C, where f(x,n) is x "multiplied" by itself using the monoid operator n times. In this setting, the only sensible choice is that x^0 = 1 for any x, where 1 is the unit of the monoid in question. In particular, that is the only definition of exponentiation which is parametric in our choice of monoid.
Naive Haskell example code (using Int for Nat):
f :: Monoid m => (m,Int) -> m
f (x,0) = mempty
f (x,n) = x `mappend` f (x,n-1)
-- or equivalently
f (x,n) = msum (replicate n x)
Had a set theory professor who taught us that for the non-negative integers, m^n was just the number of unique mappings from a set of cardinality n to one of cardinality m. Ergo, for all sets A such that |A| = k, k^0 is just all mappings from Ø, which is necessarily the one with empty image and pre-image. So 0^0 = 1.
255 comments
[ 220 ms ] story [ 4780 ms ] threadWithout context, 0 is no more intuitive to me than 1. These two statements are equally intuitive to me, but they give different results for 0^0:
"Zero raised to any power is still just zero."
"Any number raised to the zeroth power is one."
There are 3 cases for 1 and one case for 0 that immediately spring to my mind when considering the problem:
Limits here, simplified to intuition level, being "what would you need to fill that hole in the graph?" The fact that these disagree would be why I'd assume undefined, but the case for 1 seems stronger (to me).Even for things as "objective" as mathematics, definitions ultimately come down to what makes it convenient to manipulate symbols like an expert would.
This comes up all the time in fields as diverse as software engineering, law, finance, business, even hard sciences like physics - things are "right" because they're convenient, and because the consequences of them being that way make it possible to build on those results with new constructs, while doing it a different, more intuitive way would result in those constructs being impossible.
What the article is saying is that your intuition for it being 0 or undefined is because you've been exposed only to exponentiation as repeated multiplication or as the limit of some series; if you consider other theorems like the binomial theorem, and figure out what is necessary for them to hold without special casing, you'll decide otherwise.
Defining 0^0 as anything but 1 is weird since x^0 is 1 given the other definitions we have adopted, i.e. x^n = x * x * ... * x (n times) for positive integers, (x^n)^(-1) being defined as the unique number such that x^n * (x^n)^(-1) = 1, (x^n)^(-1) * x^n = 1 for non-zero numbers x, and the simple result that (x^n)^(-1) = (x^(-1))^n from proof by induction & the uniqueness condition of the multiplicative inverse, we then get the natural formula that 1 = x^n * x^(-n) = x^(n - n) = x^0 for non-zero numbers. Defining 0^0 = 0 or undefined doesn't agree with the formula given for all non-zero real numbers, and goes against the limit of x^x as x approaches 0 (as detailed in the article), making x^x a discontinuous function at x = 0 if it is defined as another value.
http://www.wolframalpha.com/input/?i=y%3Dx%5Ex
Wikipedia is probably a better source here: https://en.wikipedia.org/wiki/0%5E0#Zero_to_the_power_of_zer...
His presentation was much better because it leads you to the answer instead of dropping it on you from the sky. (The difference between learning by rote vs learning by understanding.)
I hate Wikipedia for math. Absolutely hate it. Unless you are a mathematician by trade Wikipedia is damn near useless for learning new math concepts. I don't even bother checking it anymore.
This is further complicated by the fact that most subjects in math can be approached from multiple equivalent angles. For example, complex analysis can be taught from the complex derivative perspective or from the power series perspective equally well. Ideally the format of the whole thing will allow the student to naturally learn things from the angle they understand better.
Interestingly, if the book is organized so it is aligned to the common core math standard[2], it would make a killing in the US market since current textbooks are so bad.
[1] https://news.ycombinator.com/item?id=7456397 [2] http://www.corestandards.org/Math/
>that that's attributable to math being hard
(an easily underestimated property of mathematics)
Honestly this article in question is a perfect example. I'd wager than almost everyone who reads Hacker News can read the blog post and understand every single step from start to finish. The same can not be said for the Wikipedia article.
When it comes down to questions that involve first principles, I would much rather have rigor over a less time consuming but potentially wrong understanding of the material, and wikipedia does quite well in providing that rigor.
A: They don't. The statement that mathematicians uniformly say it is 1 is simply false. My high school teacher had a PhD in math, I think it's fair to say she was a mathematician. And yes, she said it was undefined.
Now, it's common to teach in calculus classes that 0^0 is one of the "indeterminate forms", along with 0/0 and so forth, which, so the story goes, is a different thing from being undefined, like 1/0. Since, after all, if f(x) approaches 1 and g(x) approaches 0, then the limit of f(x)/g(x) is undefined, whereas if f(x) and g(x) both approach 0, then the limit of f(x)/g(x) cannot be predicted in advance. So 1/0 is undefined, but 0/0 is indeterminate.
Now this certainly is getting at a real distinction! But it's not a distinction between the value of 1/0 and that of 0/0; both are undefined. "Indeterminate" is not some separate actual value. Rather, they are getting at the distinction of the behavior of the division function near the point (1,0) vs. how it behaves near the point (0,0). Not at the points! At both those points, the function is not defined.
And similarly with 0^0. Of course, it's pretty common to define that 0^0=1, and it's a definition I'd agree with -- but this is not inconsistent with the calculus teacher's statement that 0^0 is "indeterminate", because the latter (once made sense of) is not really a statement about the value of 0^0 at all; it's a statement about how the exponentiation function behaves near the point (0,0) (not at it; at it, it's equal to 1, or at least by my definition it is, at any rate).
In short, there's no such value as "indeterminate"; the calculus teacher's "indeterminate forms" (as opposed to "undefined"), while getting at a real destinction, is not actually about the value of the function at the point at all.
I could come up with whatever crazy definitions in math I wanted to, and sometimes even get useful results. However, this view is not... convenient for teaching, so they pretend that you are learning "math", as opposed to "a particular math".
Not really. No serious mathematician would dispute the fact that for every real x, e^x=sum(n=0 to infinity)x^n/n!.
But the above fails at x=0 if we don't define 0^0=1. So even mathematicians who claim to not use 0^0=1, can almost always be convinced to admit that they do indeed use 0^0=1, using the Taylor series for e^x.
Teachers: Let's do it by the book and come up (somehow) with conflicting answers.
Mathematicians: Yeah, sorry guys. We made it all up.
Pretty much captures most mathematicians I know.
However, definitions aren't chosen all willy-nilly - there are good arguments why definitions are adopted, as should have been seen in the article.
Now, mathematicians do throw the usual definitions away all the time. It's important to know when to reuse other people's coding, or roll your own.
Mathematicians are always making definitions, and working out which of them should be kept and which should be discarded. We keep the definitions that make the most sense, that make our lives the easiest, that make theorems easy to state, that give math a sense of being natural. Indeed, in the early days of algebraic geometry there were big debates over which definitions to adopt.
It is like deciding on a convention when you design a new programming language. In this case, experience has shown that it is pretty much always better to say that 0^0 is 1 and not 0. Among other reasons, there is exactly one map from the empty set to the empty set.
But if you say 0^0 = 0, you don't get math blowing up in some big contradiction. You just get a little more kludge here and there, a few extra special cases of lemmas that have to be spelled out in more detail. Nothing too awful.
In most other human endeavors, when something doesn't work we just work until find something else that does work, and marvel at our ingenuity. Mathematics doesn't quite give you that option. There are right and wrong answers to questions that we create ourselves, but those answers are fixed once we ask the questions, even if we didn't know what they were.
One enduring mystery in this vein was whether or not Euclid's fifth axiom was actually a logical result of the first four: https://en.wikipedia.org/wiki/Parallel_postulate#History
It's mysterious because it is only clear in retrospect. The fact that you can negate the parallel postulate and get a system that is still self-consistent is incredibly mysterious. This is what sets mathematics apart. We "make it up" like other human accomplishments, and yet we can't actually just make it up. If we arbitrarily defined 0^0 = π, we'd just be speaking nonsense.
It's kind of like this. A biologist independently discovers directed graphs, but refers to the nodes as "organisms" and edges as "parenthoods", and then spends five hundred years trying to prove that every organism has only finitely many parenthoods, thinking it must be true since it's obvious biologically! Without realizing that graphs are far more general and apply elsewhere.
Arbitrarily defining 0^0=π would not be speaking nonsense, it would just be speaking a little arbitrarily. Nonsense would be defining 0^0=rainbow
y = lim_[x->0] x^[a / log(x)]
We have log y = lim_[x->0] (a / log(x)) log(x) = a. So 0^0 equals any number at all! Of course, nobody in their right mind would define exponents this way, but the indeterminacy is inherent in the definition of the symbols.
I think this is a by-product of the way we are taught maths at the very start; that it must somehow relate to real things. We start our understanding of maths by using real world objects like apples and we show how addition works and subtraction. I think perhaps it sticks in our head that everything must somehow relate to real objects and the real world.
We somehow get past that when we are introduced to things like square roots and integrals and higher mathematical concepts, but even with those we often try and relate them back to the real world.
I wonder of there are other ways to start teaching maths that doesn't start by using balls or apples? How would that work?
[1] https://en.wikipedia.org/wiki/Banach%E2%80%93Tarski_paradox
x^2 = 1XX x^1 = 1*X x^0 = 1
One could argue the entire field of Real Analysis was formed because Calculus showed the world that we didn't really have those definitions, but they were needed. There are cases where the integral of the derivative does not equal the derivative of the integral (violation of the fundamental theorem of calculus) without having a specific epsilon-delta definition of limit.
Also, zero is not always the same as nothing or none. Zero is an abstract number that some have decided is useful to represent nothing or an empty set, but really comes from an abstract idea that you can count nothing and have a number. This goes back to the fact that numbers are pretty useful ideas regardless if you may consider one of them a function or not.
But for convenience, whatever the offspring is, we may call it a donkapple.
That's they beauty of math.
(I realise that this is kindof a horrible question to try and answer on an internet forum, please try your best physicists ;)
I see this all the time with AI/machine learning. Most algorithms are based on assumptions that make the math work out better rather than being aligned with some "fundamental truth." The world is not linear, but it's much easier to approach it as if it were!
See what Fibonacci used to say in his first book Liber Abaci about using arabic numerals. http://en.wikipedia.org/wiki/Liber_Abaci
Mathematics is an internally consistent (for the most part) logical framework that is extremely powerful in expressing our knowledge about the world.
However, that doesn't mean that there is some intrinsic correctness about it or its concepts.
Likewise, you'll always be able to determine the length of the hypotenuse of a right triangle by its two legs. No matter what system you set up, if you're cutting three boards to build a triangle the length of the big one is absolutely defined by the length of the other two, assuming Euclidian geometry. The symbols (a, b, =, c, +, superscript 2) are all totally arbitrary but if you're working with three boards there is absolutely an intrinsic correctness to the Pythagorean theorem.
There are branches of math which are just exploring the internal consistency of the system we've set up but much of physics is spent describing the real world and applying our math symbols to the universe. The amazingly cool thing is that our system is so good that we can use our abstract symbols to make predictions about physical laws and they actually come out to be true! I would argue that all of physics is basically "math that's a fundamental truth of the universe".
This is only true because we are assuming Euclidean geometry, and as I had said earlier, this implies that we can logically conclude these facts because mathematics is logical and internally consistent given these axioms, so we cannot say that they are intrinsically true; that would require us to know without a doubt that the axioms are correct. Since we can use Gödel's incompleteness theorem to show that our axioms are necessarily assumed, we can say that we do not know if they are correct or not, only that assuming they are, we can make a lot of really good predictions about the world around us.
> The amazingly cool thing is that our system is so good that we can use our abstract symbols to make predictions about physical laws and they actually come out to be true!
This is definitely amazing, however it does not mean that our system is necessarily correct, in fact it is demonstrably lacking in Quantum mechanics for example, where we need to renormalize infinities, which makes almost no mathematical sense whatsoever, but we do it because our experiments tell us that if we do, we can make predictions about how things work.
> I would argue that all of physics is basically "math that's a fundamental truth of the universe".
I agree with the spirit of what you are saying here, but think I would phrase it in the following way: I would argue that physics is basically fundamental truths about the universe that we can describe to the best of our ability using an abstract framework such as math. The fact that we can do that does not mean mathematics consists of these fundamental truths.
EDIT: Modified last paragraph to be slightly clearer.
There are many ways to view the world that also would create its own system of abstraction and eventually "come out to be true." You're just used to one particular variety and it's all you know, so you call it the truth.
Oi vey, engineers. Everything is so 1D.
I HIGHLY recommend reading this to understand a bit more about how differently the world can be understood given just your culture alone (read: its all arbitrary): http://www.amazon.com/Women-Dangerous-Things-George-Lakoff/d...
Then it's not arbitrary; chosen at random or on a fleeting whim, without reference to a reason or system. It was invented to fill a specific need based on certain limitations.
It's true enough that mathematicians define certain things certain ways, but they generally have reasons for doing so that tie into other aspects of whatever system they're working within at the time, or with particular areas of investigation: 'If I alter this rule, or make this assumption, what does it do to the system as a whole? Does it let me find some answer more easily than another way? Does it preserve consistency/truth values? Under what conditions?'
That's far from being dependent solely on their individual whim, the decisions they make in that regard, and the answers they will get, are strongly influenced by the form the system has taken and it's uses and limitations.
Of course if you want to maintain that maths as a whole is arbitrary because you could make whatever you liked up and say you were doing maths... well, I won't argue you're not, but it seems to me you've made the objection general enough that it could safely be ignored. Anyone doing something purposeful could simply assert: 'Your's, maybe. We're trying to do our-maths-goal.' And move on.
And if math had been handed down it would all be in an old holy book, which it clearly isn't.
Math was designed by humans to be useful, which it very much is. But ultimately it's just a system we made up, and then kept building on top of ad infinitum. Just go exploring into the topology branch of math (one example of many) just to see how remote from what you see around you math can get.
Think about it this way -- there's no particular reason computers HAVE to be on a binary system. It's convenient for many a reasons, but there was an era where computers were analog and continuous, and it's feasible to engineer systems using a higher base and be discreet (and many have researched exactly this.) Quantum computers work even more differently too.
On the other hands, he proofs express a fundamental truth and are handed down to us by God (or whatever deity you believe in).
0 ^ any negative power = 1/0 = undefined = +- inf
So strictly only the right limit as n --> 0 of 0^n = 0. Not the limit.
0 * x = 0 is proven by noting that 0 * x = (0 + 0) * x = 0 * x + 0 * x (distributive property) and then subtracting the additive inverse of 0 * x from both sides to get that 0 = 0 * x.
However, this says nothing about 0^0, and one cannot talk about 0^(-n) for natural number n since 0 has no multiplicative inverse.
Also your argument on limits is not correct - you chose a particular path of approach for the expression y^x fixed along y = 0. Looking at another angle, the limit of x^x as x approaches 0 is clearly 1 as reasoned in the article, so this causes a clear disagreement here since you can argue for different values to make sense by tweaking the path of approach of the two dimensional function y^x appropriately.
http://arxiv.org/pdf/math/9205211v1.pdf
See page 6.
Edit: To be clear, this is good practice when linking to arXiv in general. From the abstract, one can easily click through to the PDF; not so the reverse. And the abstract allows one to do things like see different versions of the paper, search for other things by the same authors, etc.
I think computer programming would actually be quite excellent exercise for a mathematician, because it involves such heavy intimate experience with the problems of naming things, working with notation, and defining the boundaries of various abstractions. From kindergarten up through the end of an undergraduate degree, mathematics students mostly take existing notation and definitions for granted, and don’t get much hands-on experience with the problems which result from inventing bad notation or bad names. As a result, they have a less visceral understanding of the importance of good notation and good names.
[I also think programming students should spend at least a bit of time working with as many different abstraction styles and notations as they can, as well as e.g. trying to implement new toy programming languages with new semantics.]
- [Detailed explanation of the tradeoffs involved in choosing different definitions of exponentiation.]
So, it's not "because mathematicians said so", it's because of a deep review of the tradeoffs of defining how exponentiation generalizes, the kind of thing that mathematicians happen to study more than other identifiable groups.
(Well, and because they can justify it, of course.)
Very nice blog post!
Edit: At the very least, that behaviour should be a configurable option for those who desire something other than what most mathematicians accept as being the correct answer.
In Python and Ruby, 0 asterisk asterisk 0 == 1.
In Windows Calculator, 0 [x^y] 0 == 1.
So I guess the consensus is that you should return 1.
"pow(x, +/-0) is 1 for any x (even a zero, quiet NaN, or infinity)."
"pown(x, 0) is 1 for any x (even a zero, quiet NaN, or infinity)."
- but -
"powr(+/-0, +/-0) signals the invalid operation [and returns NaN]."
"pown" refers to the function on R x N defined by repeated multiplication; "powr" is the function on R x R defined by exp(y log(x)). "pow" refers to the mental hodgepodge of the two that most people intend when they write x^y without really thinking about it.
It speaks to the tragedy that is the high school math curriculum.
>However, this definition extends quite naturally from the positive integers to the non-negative integers, so that when x is zero, y is repeated zero times, giving y^{0} = 1, which holds for any y. Hence, when y is zero, we have 0^0 = 1.
When y is zero, don't we have 0^0 = 1 x [y zero times]? Maybe I'm conceptualizing it incorrectly, but I'm envisioning an empty space where y would be, akin to an empty set. 1 times an 'empty set' is _not_ 1, it's one empty set, which rubs me as another way of saying nothing/zero, not 1.
I know my language is imprecise and I'm probably describing empty sets and the definition of zero incorrectly. The point is that the last step of his explanation doesn't sit right with me. Just because Y exists zero times does not mean you can just throw it out of the multiplication.
1. Binomial theorem. Its statement does not conventionally include any caveats about the x^0 case.
2. D(x^n) = n x^(n-1). When n = 1 and x = 0, you get a 0^0 on the RHS. If 0^0 is taken to be 1, the derivative rule holds. Else, the statement gets messy: D(x^n) = n x^(n-1) if (x,n) != (0,1)
First, it refers to a function f:C x N --> C, defined in terms of repeated multiplication. f(x,0) is 1 for all x != 0, and so we adopt the convention that f(0,0) is also 1.
But it also refers to a function g:C x C --> C, defined as g(x,y) = exp(y log(x)), which has a branch cut on the negative real axis of the first argument and an essential singularity at (0,0), and so g(0,0) is necessarily undefined.
The value of 0^0 depends entirely on what sort of mathematics one is doing at the time, and therefore which function one is referring to.
Of course, doing this makes exponentiation discontinuous at (0,0), but seeing as it already had an essential singularity there, this isn't really a loss.
I'm not really opposed to saying 0^0 = 1; it's the only reasonable choice if we're going to insist on using the same notation for these two functions, and I don't expect that's going to change.
Naive Haskell example code (using Int for Nat):