I've found some times, while playing with combinatorics, that Mathematica can't calculate some functions because $0^0$ is not defined as $1$.
(I know that some people think that $0^0$ should be left undefined. I'm convinced that $0^0$ should be defined as $1$ and this question doesn't intend to open a discussion of that).
My question is this:
If I redefine $0^0$ as $1$ in Mathematica like this:
Unprotect[Power]
Power[0,0]=1
Protect[Power]
could I be breaking some internal algorithms of Mathematica?
I did redefined FactorInteger[1] as {} a while ago (and that help me to simplify many function definitions) and I haven't find any issues as a result of that, but I'm afraid that messing with Power could be more delicate.
0^0should be 1, define usingInternel`InheritedBlock, and the change will be localized. – Jason B. Jan 20 '21 at 20:18MichaelJacksonEatingPopcorn.gif– Chris K Jan 20 '21 at 20:190^0is avoided? Otherwise, define a custom function likemyPower = If[#2 == 0, 1, #1^#2] &and use that instead. – J. M.'s missing motivation Jan 21 '21 at 03:36