numpy.log1p#
- numpy.log1p(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature]) = <ufunc 'log1p'>#
返回輸入陣列加一後的自然對數,逐元素計算。
計算
log(1 + x)
。- 參數:
- xarray_like (類陣列)
輸入值。
- outndarray、None 或 ndarray 與 None 的元組,選用
儲存結果的位置。如果提供,則必須具有輸入廣播到的形狀。如果未提供或為 None,則會返回新分配的陣列。元組(僅可作為關鍵字參數)的長度必須等於輸出數量。
- wherearray_like (類陣列),選用
此條件會廣播到輸入。在條件為 True 的位置,out 陣列將設定為 ufunc 結果。在其他位置,out 陣列將保留其原始值。請注意,如果透過預設的
out=None
建立未初始化的 out 陣列,則其中條件為 False 的位置將保持未初始化。- **kwargs
對於其他僅限關鍵字參數的引數,請參閱 ufunc 文件。
- 返回:
- yndarray
1 + x 的自然對數,逐元素計算。如果 x 是純量,則這會是純量。
說明
對於實數值輸入,即使 x 非常小,以至於在浮點數精度中 1 + x == 1,
log1p
仍然準確。對數是多值函數:對於每個 x,都有無限多個 z 使得 exp(z) = 1 + x。慣例是返回虛部位於 [-pi, pi] 中的 z。
對於實數值輸入資料類型,
log1p
始終返回實數輸出。對於每個無法表示為實數或無限大的值,它會產生nan
並設定 invalid 浮點數錯誤標誌。對於複數值輸入,
log1p
是一個複數解析函數,它有一個分支切割 [-inf, -1],並且從上方連續。log1p
將浮點負零處理為無限小的負數,符合 C99 標準。參考文獻
[1]M. Abramowitz 與 I.A. Stegun,「Handbook of Mathematical Functions」,第 10 版,1964 年,第 67 頁。 https://personal.math.ubc.ca/~cbm/aands/page_67.htm
[2]Wikipedia,「Logarithm」。 https://en.wikipedia.org/wiki/Logarithm
範例
>>> import numpy as np >>> np.log1p(1e-99) 1e-99 >>> np.log(1 + 1e-99) 0.0