題:
為什麼macOS和iOS計算器中的0 ^ 0在不同版本上給出不同的結果?
mspanc
2018-07-06 23:44:01 UTC
view on stackexchange narkive permalink

我已經在不同版本的計算器中檢查了0 ^ 0的結果:

  • iOS 10.3 => 1
  • iOS 11.4 =>錯誤
  • macOS 10.12.6 => 1
  • macOS 10.13.5 =>不是數字

造成差異的原因是什麼?

我將不得不堅持上高山脈,因為我愛吃NaaN麵包;-))
https://math.stackexchange.com/questions/11150/zero-to-the-zero-power-is-00-1
還https://news.ycombinator.com/item?id=8502968 <(蘋果停止發布其數學庫libm的版本)
您是要讓自己理解數學,還是要讓Apple多次更改其對0 ^ 0的解釋?如果是前者,則會發布一個可接受的答案。如果是後者,則不一定是負責任的。
在版本10.11.6中,結果為1
五 答案:
undercat applauds Monica
2018-07-07 05:12:48 UTC
view on stackexchange narkive permalink

雖然0⁰通常是未定義的,但是某些數學分支確實將其明確定義為 為1,因為如您所見,這是函數y(x)=xˣ在n = 0處收斂。

正式減少,請注意0.5 0.5 sup> = 0.707…;0.2 0.2 sup> = 0.725…;0.1 0.1 sup> = 0.794…和0.01 0.01 sup> = 0.955…。當您接近0時,結果將接近1,這使得將定義 i> 0 ^ 0定義為1 在某些情況下非常合邏輯且方便。

因此,這3個結果中的任何一個本質上都不正確,相反,它們都反映了此未定義表達式的值的不同約定。

有一篇很好的維基百科文章解釋了該問題。另請參見歸零功率–是0⁰= 1?

您的意思是x = 0,而不是n = 0。
我從來沒有遇到過設置0 ^ 0 = 1的特殊理由。畢竟,x ^ y沒有(x,y)→(0,0)的限制。*但是*,如果您以∑ c_n x ^ n的形式編寫一般多項式,其中n的總和範圍為0到n(多項式的次數),則必不可少的是0 ^ 0 = 1,否則“恆定”一詞畢竟不是那麼恆定。[另請參閱此處。](https://math.stackexchange.com/questions/11150/zero-to-the-zero-power-is-00-1)
@HaraldHanche-Olsen這是一個非常有見地的觀點,請考慮編寫答案,或者隨時編輯我的答案。我的直覺是基於這樣一個事實,即大多數形式為e ^ {αx^β* ln ^ {ξx^γ+μ}}的函數將收斂到1(除了β= 0以及其他一些邊緣情況)在工程應用程序中經常會遇到這種情況,即人們可能會使用計算器應用程序的那種東西,但是我知道這有些牽強。
儘管此答案很好地解釋了0 ^ 0被定義為/可以定義為0 ^ 0的原因,但是它並不能解釋Apple為什麼幾次更改了它們的解釋。
那可能是數學的哪個分支?當然,主流數學的答案是“未定義”,這絕對是“ NaN”的代名詞。
-1
我不是說它從來沒有用過。只是沒有人以這種方式定義它。關於該問題的答案之一中關於集合論的爭論並沒有真正成立-這是對解析定義的數字的運算,而不是對集合理論實體的運算。“未定義”或“ NaN”確實是唯一可辯護的答案。
Michael Kay
2018-07-07 13:51:17 UTC
view on stackexchange narkive permalink

浮點算術的大多數實現都遵循IEEE 754-2008標準,該標準指定pow(0,0)返回1(請參見第9.2.1節)。

但是它還定義了其他兩個函數:pown(0,0)= 1和powr(0,0)= NaN。

Wikipedia將其總結如下

IEEE 754-2008浮點標準用於設計 大多數浮點庫。它建議一些操作 計算能力:[20]

pow將0 0 sup>視為1。如果冪是正整數,則結果為 與pown相同,否則結果與powr相同(某些除外) 例外情況。)

pown將0 0 sup>視為1。冪必須精確 整數。該值是針對負基數定義的;例如pown(−3,5)是 −243。 powr將0 0 sup>視為NaN(非數字-未定義)。值是 對於底數小於零的powr(-3,2)這樣的情況也為NaN。 該值由epower×log(base)定義。

戰俘變種的靈感 由C99的pow函數提供,主要是為了兼容性。[21]它是 主要用於具有單一冪函數的語言。袍子和 由於使用衝突,因此引入了powr變體 冪函數和不同的觀點(如前所述 以上)。[22]

當然,這與正確的數學結果無關:正如其他人所指出的,答案不只一個,而且IEEE必須做出任意決定。

nohillside
2018-07-06 23:51:53 UTC
view on stackexchange narkive permalink

蘋果公司的某人發現0 ^ 0是無效操作,並將其修復。

Allan
2018-07-06 23:52:01 UTC
view on stackexchange narkive permalink

零為零是一個矛盾

  • 0等於0的任何數字
  • 0的任何數字都是1

應該會生成錯誤。您沒有看到正在生成錯誤的唯一原因是由於相關計算器的版本沒有捕獲該輸入錯誤。

_(非常生鏽的業餘愛好者)_數學家會想證明,當x接近0時**的極限為0 **,而當x接近0時**的極限為1 **,因此,一個不連續性,是[不確定性的非常定義](http://mathworld.wolfram.com/Indeterminate.html),這讓我聽到有人在一個真正的操作系統上看到NaN
*使我聽到的聲音很溫暖*-溫暖的綿羊的牧羊犬使用Sheppard,@bmike進行演算問題的圖像:-D
大聲笑-我現在無法編輯該錯字-最好能聽到一群溫暖的人說話,而不是書面。而且,我對這個問題,這個答案和這條評論的話題仍然感到溫暖。
-1
從零到零的冪並不是“矛盾”。它是由某些作者定義的,而沒有其他作者定義的。一些作者將其保留為未定義的原因是,理想的定義必須滿足您提供的兩個矛盾的屬性。
@TannerSwett“由某些作者定義而未被其他作者定義”不是數學的工作原理。有些事情沒有數字答案。與0/0相同。
@MrLister“由某些作者定義而未被其他作者定義”是*精確地*數學的工作方式。在幾乎所有情況下,0 ^ 0 = 1是正確的定義(例如,它是從空集到空集的函數數)。x ^ y不能連續擴展到原點的事實是不幸的,這是一些分析教育者更喜歡不加定義以防止混淆的原因,但是即使他們必須達到0 ^ 0 = 1電源系列。
@TannerSwett-*它是由一些作者定義的,而沒有由其他作者定義。**從字面上*解釋了什麼是矛盾。
每個人都應該注意,問題不是“ f(x)= x ^ 0`的極限是x = 0的多少”,而是為什麼* simple *計算器應用程序的一個版本給出的答案是1,而另一個說“錯誤”,第三個說“不是數字”。我們需要記住,這裡沒有使用“科學圖形計算器”,因此按準確度順序,正確的輸出應為“ NaN”或“ Error”。
@bmike無需涉及限制。僅僅因為** x ^ y **在**(0,0)**處是不連續的,並不意味著您不能將值分配給** 0 ^ 0 **
0 ^ 0 = 1絕對*不是*矛盾。0 ^ 0是[空產品](https://en.wikipedia.org/wiki/Empty_product),因此1。0 ^ 0是[功能集的基數](https://en.wikipedia.org / wiki / Cardinal_number#Cardinal_exponentiation)從[空集](https://en.wikipedia.org/wiki/Empty_set)到空集,並且正好有一個* [此類功能](https://en.wikipedia.org/wiki/Function_(mathematics)#Empty_function)。對於[多項式](https://en.wikipedia.org/wiki/Zero_to_the_power_of_zero#Polynomials_and_power_series)是必要的。清單繼續。
這不是“矛盾”,而是“未定義”(如果您使用的教科書實際上是未定義的,在某些情況下,您確實會定義它)。
user294112
2018-07-08 01:39:29 UTC
view on stackexchange narkive permalink

關於0⁰存在一些爭議,歸結為功能x ^ y在(x,y)->(0,0)處不連續。這是一個半爭論,因為禁止在函數上具有不連續值的函數在數學上是胡說八道。

通常的做法是將整數嵌入到實數中,以便在實數函數採用整數值時,實數上定義的函數與整數上定義的相同函數匹配。因此,將0.0 ^ 0與0.0 ^ 0.0區別不大。

現在,以整數0為指數的x⁰是一個恰好包含零個x因子的乘積。由於x的值中不包含x的因子,因此根據x為其分配值幾乎沒有意義,並且它的空乘積值很明顯為1,是乘法的中性元素。

這也很有意義,因為它不會將二項式定理任意地限制為非零值。從某種意義上說,這是一個基於試圖合理地在x = 0處完成函數x⁰的參數,從而使該函數在所有位置都定義並連續。

如果我們改為使用函數0 ^ x嘗試此操作,則x = 0 +處的限制可能為0,但由於未為負x定義該函數,因此將其定義為這樣仍然不能解決基本的不連續性。

現在,計算器傾向於將x ^ y計算為exp(y * ln(x))。當然對於x = 0來說這是個壞消息。因此,必須明確地編程這些值,否則您將得到一個非數字。對於顯式編程,您必須依靠程序員的數學直覺,並且與數學家相比,典型的程序員將更受偽數學直覺的指導,例如“在定義的地方函數必須是連續的”。

此外,您可能會期望來自不同用戶的大量評論,並且純數學家不會因為他們對數學真相的看法而完全依賴計算器,因此您不能期望他們的輸入會淹沒其他人的輸入。 >

因此,結果是民主的結果遠勝於數學的結果,民主多數派傾向於改變。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 4.0許可。
Loading...