新聞中心
cmath —- 關(guān)于復(fù)數(shù)的數(shù)學(xué)函數(shù)
這一模塊提供了一些關(guān)于復(fù)數(shù)的數(shù)學(xué)函數(shù)。 該模塊的函數(shù)的參數(shù)為整數(shù)、浮點數(shù)或復(fù)數(shù)。 這些函數(shù)的參數(shù)也可為一個擁有 __complex__() 或 __float__() 方法的 python 對象,這些方法分別用于將對象轉(zhuǎn)換為復(fù)數(shù)和浮點數(shù),這些函數(shù)作用于轉(zhuǎn)換后的結(jié)果。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供下花園企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、HTML5、小程序制作等業(yè)務(wù)。10年已為下花園眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
備注
在具有對于有符號零的硬件和系統(tǒng)級支持的平臺上,涉及支割線的函數(shù)在支割線的 兩側(cè) 都是連續(xù)的:零的符號可用來區(qū)別支割線的一側(cè)和另一側(cè)。 在不支持有符號零的平臺上,連續(xù)性的規(guī)則見下文。
到極坐標(biāo)和從極坐標(biāo)的轉(zhuǎn)換
使用 矩形坐標(biāo) 或 笛卡爾坐標(biāo) 在內(nèi)部存儲 Python 復(fù)數(shù) z。 這完全取決于它的 實部 z.real 和 虛部 z.imag。 換句話說:
z == z.real + z.imag*1j
極坐標(biāo) 提供了另一種復(fù)數(shù)的表示方法。在極坐標(biāo)中,一個復(fù)數(shù) z 由模量 r 和相位角 phi 來定義。模量 r 是從 z 到坐標(biāo)原點的距離,而相位角 phi 是以弧度為單位的,逆時針的,從正X軸到連接原點和 z 的線段間夾角的角度。
下面的函數(shù)可用于原生直角坐標(biāo)與極坐標(biāo)的相互轉(zhuǎn)換。
cmath.phase(x)
將 x 的相位 (也稱為 x 的 參數(shù)) 返回為一個浮點數(shù)。phase(x) 相當(dāng)于 math.atan2(x.imag, x.real)。 結(jié)果處于 [-π, π] 之間,以及這個操作的分支切斷處于負(fù)實軸上,從上方連續(xù)。 在支持有符號零的系統(tǒng)上(這包涵大多數(shù)當(dāng)前的常用系統(tǒng)),這意味著結(jié)果的符號與 x.imag 的符號相同,即使 x.imag 的值是 0:
>>> phase(complex(-1.0, 0.0))3.141592653589793>>> phase(complex(-1.0, -0.0))-3.141592653589793
備注
一個復(fù)數(shù) x 的模數(shù)(絕對值)可以通過內(nèi)置函數(shù) abs() 計算。沒有單獨(dú)的 cmath 模塊函數(shù)用于這個操作。
cmath.polar(x)
在極坐標(biāo)中返回 x 的表達(dá)方式。返回一個數(shù)對 (r, phi),r 是 x 的模數(shù),phi 是 x 的相位角。 polar(x) 相當(dāng)于 (abs(x), phase(x))。
cmath.rect(r, phi)
通過極坐標(biāo)的 r 和 phi 返回復(fù)數(shù) x。相當(dāng)于 r * (math.cos(phi) + math.sin(phi)*1j)。
冪函數(shù)與對數(shù)函數(shù)
cmath.exp(x)
返回 e 的 x 次方,e 是自然對數(shù)的底數(shù)。
cmath.log(x[, base])
返回給定 base 的 x 的對數(shù)。如果沒有給定 base,返回 x 的自然對數(shù)。 從 0 到 -∞ 存在一條支割線,沿負(fù)實軸之上連續(xù)。
cmath.log10(x)
返回底數(shù)為 10 的 x 的對數(shù)。它具有與 log() 相同的支割線。
cmath.sqrt(x)
返回 x 的平方根。 它具有與 log() 相同的支割線。
三角函數(shù)
cmath.acos(x)
返回 x 的反余弦。這里有兩條支割線:一條沿著實軸從 1 向右延伸到 ∞,從下面連續(xù)延伸。另外一條沿著實軸從 -1 向左延伸到 -∞,從上面連續(xù)延伸。
cmath.asin(x)
返回 x 的反正弦。它與 acos() 有相同的支割線。
cmath.atan(x)
返回 x 的反正切。它具有兩條支割線:一條沿著虛軸從 1j 延伸到 ∞j,向右持續(xù)延伸。另一條是沿著虛軸從 -1j 延伸到 -∞j ,向左持續(xù)延伸。
cmath.cos(x)
返回 x 的余弦。
cmath.sin(x)
返回 x 的正弦。
cmath.tan(x)
返回 x 的正切。
雙曲函數(shù)
cmath.acosh(x)
返回 x 的反雙曲余弦。它有一條支割線沿著實軸從 1 到 -∞ 向左延伸,從上方持續(xù)延伸。
cmath.asinh(x)
返回 x 的反雙曲正弦。它有兩條支割線:一條沿著虛軸從 1j 向右持續(xù)延伸到 ∞j。另一條是沿著虛軸從 -1j 向左持續(xù)延伸到 -∞j。
cmath.atanh(x)
返回 x 的反雙曲正切。它有兩條支割線:一條是沿著實軸從 1 延展到 ∞,從下面持續(xù)延展。另一條是沿著實軸從 -1 延展到 -∞,從上面持續(xù)延展。
cmath.cosh(x)
返回 x 的雙曲余弦值。
cmath.sinh(x)
返回 x 的雙曲正弦值。
cmath.tanh(x)
返回 x 的雙曲正切值。
分類函數(shù)
cmath.isfinite(x)
如果 x 的實部和虛部都是有限的,則返回 True,否則返回 False。
3.2 新版功能.
cmath.isinf(x)
如果 x 的實部或者虛部是無窮大的,則返回 True,否則返回 False。
cmath.isnan(x)
如果 x 的實部或者虛部是 NaN,則返回 True ,否則返回 False。
cmath.isclose(a, b, **, rel_tol=1e-09, abs_tol=0.0*)
若 a 和 b 的值比較接近則返回 True,否則返回 False。
根據(jù)給定的絕對和相對容差確定兩個值是否被認(rèn)為是接近的。
rel_tol 是相對容差 —— 它是 a 和 b 之間允許的最大差值,相對于 a 或 b 的較大絕對值。例如,要設(shè)置5%的容差,請傳遞 rel_tol=0.05 。默認(rèn)容差為 1e-09,確保兩個值在大約9位十進(jìn)制數(shù)字內(nèi)相同。 rel_tol 必須大于零。
abs_tol 是最小絕對容差 —— 對于接近零的比較很有用。 abs_tol 必須至少為零。
如果沒有錯誤發(fā)生,結(jié)果將是: abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol) 。
IEEE 754特殊值 NaN , inf 和 -inf 將根據(jù)IEEE規(guī)則處理。具體來說, NaN 不被認(rèn)為接近任何其他值,包括 NaN 。 inf 和 -inf 只被認(rèn)為接近自己。
3.5 新版功能.
參見
PEP 485 —— 用于測試近似相等的函數(shù)
常量
cmath.pi
數(shù)學(xué)常數(shù) π ,作為一個浮點數(shù)。
cmath.e
數(shù)學(xué)常數(shù) e ,作為一個浮點數(shù)。
cmath.tau
數(shù)學(xué)常數(shù) τ ,作為一個浮點數(shù)。
3.6 新版功能.
cmath.inf
浮點正無窮大。相當(dāng)于 float('inf')。
3.6 新版功能.
cmath.infj
具有零實部和正無窮虛部的復(fù)數(shù)。相當(dāng)于 complex(0.0, float('inf'))。
3.6 新版功能.
cmath.nan
浮點“非數(shù)字”(NaN)值。相當(dāng)于 float('nan')。
3.6 新版功能.
cmath.nanj
具有零實部和 NaN 虛部的復(fù)數(shù)。相當(dāng)于 complex(0.0, float('nan'))。
3.6 新版功能.
請注意,函數(shù)的選擇與模塊 math 中的函數(shù)選擇相似,但不完全相同。 擁有兩個模塊的原因是因為有些用戶對復(fù)數(shù)不感興趣,甚至根本不知道它們是什么。它們寧愿 math.sqrt(-1) 引發(fā)異常,也不想返回一個復(fù)數(shù)。 另請注意,被 cmath 定義的函數(shù)始終會返回一個復(fù)數(shù),盡管答案可以表示為一個實數(shù)(在這種情況下,復(fù)數(shù)的虛數(shù)部分為零)。
關(guān)于支割線的注釋:它們是沿著給定函數(shù)無法連續(xù)的曲線。它們是許多復(fù)變函數(shù)的必要特征。 假設(shè)您需要使用復(fù)變函數(shù)進(jìn)行計算,您將會了解支割線的概念。 請參閱幾乎所有關(guān)于復(fù)變函數(shù)的(不太基本)的書來獲得啟發(fā)。 對于如何正確地基于數(shù)值目的來選擇支割線的相關(guān)信息,一個良好的參考如下:
參見
Kahan, W: Branch cuts for complex elementary functions; or, Much ado about nothing’s sign bit. In Iserles, A., and Powell, M. (eds.), The state of the art in numerical analysis. Clarendon Press (1987) pp165—211.
本文名稱:創(chuàng)新互聯(lián)Python教程:cmath—-關(guān)于復(fù)數(shù)的數(shù)學(xué)函數(shù)
網(wǎng)站鏈接:http://www.dlmjj.cn/article/cdspscc.html


咨詢
建站咨詢
