我想知道log(a + b)
的完整擴展。如何擴展並計算log(a + b)?
例如
log(a * b) = log(a) + log(b);
log(a/b) = log(a) - log(b);
此類似,是有日誌中的任何擴張(A + B)?
我想知道log(a + b)
的完整擴展。如何擴展並計算log(a + b)?
例如
log(a * b) = log(a) + log(b);
log(a/b) = log(a) - log(b);
此類似,是有日誌中的任何擴張(A + B)?
一般來說,一個不擴大log(a + b)
;你只是照原樣處理它。儘管如此,也有偶爾在有意義使用以下身份情況:
log(a + b) = log(a * (1 + b/a)) = log a + log(1 + b/a)
(事實上,這個身份經常在數學庫實現log
時使用)。
而且,我們還可以使用泰勒級數展開ln(1 + b/a)... – 2010-10-20 06:34:16
@ wiz kid:當然,假設「b」的數量級小於「a」。 (否則,交換它們)。 – 2010-10-20 06:36:14
非常感謝好友:) – 2010-10-20 06:36:46
爲什麼你會想要這樣做? log (a*b) = log a + log b
僅適用於此屬性,因爲它將乘法運算轉換爲加法運算。 log (a+b)
已經只涉及一個補充,所以沒有任何進一步的擴展是沒有意義的。
當然,您可以使用the several series之一來計算對數,但最快的方法是直接簡單計算log (a+b)
。對於這個問題,在大多數計算機上,即使log (a*b)
將比log a + log b
更快,因爲後者涉及額外的對數操作。
因爲有時你只能計算log(a)和log(b)而不是明確地a + b並取日誌 – Jing 2012-11-17 14:28:31
任何支持'log'的編程語言都可以在數值上計算'log(a + b)'。 – kennytm 2010-10-20 04:48:11
屬於http://math.stackexchange.com – 2010-10-20 06:57:59
我想我應該在這個問題下評論,因爲我已經結束了在這裏尋找這個問題的答案。在貝葉斯推斷的情況下,將後驗概率轉換爲日誌空間需要您記錄分數(它是積分的)(或通過求和的近似)。但是,這個總和必須轉化爲日誌空間,因爲它的計算是我們首先轉向記錄空間的原因。有一種常用的方法稱爲log-sum-exp技巧。谷歌這一點,你會看到它是如何使用它。不完全一樣的東西,但相關足夠:) – mahonya 2011-10-25 10:07:08