scipy.special.
jacobi#
- scipy.special.jacobi(n, alpha, beta, monic=False)[原始碼]#
雅可比多項式。
定義為以下方程式的解
\[(1 - x^2)\frac{d^2}{dx^2}P_n^{(\alpha, \beta)} + (\beta - \alpha - (\alpha + \beta + 2)x) \frac{d}{dx}P_n^{(\alpha, \beta)} + n(n + \alpha + \beta + 1)P_n^{(\alpha, \beta)} = 0\]對於 \(\alpha, \beta > -1\);\(P_n^{(\alpha, \beta)}\) 是 \(n\) 次多項式。
- 參數:
- nint
多項式的次數。
- alphafloat
參數,必須大於 -1。
- betafloat
參數,必須大於 -1。
- monicbool, optional
如果 True,則將前導係數縮放為 1。預設值為 False。
- 回傳值:
- Porthopoly1d
雅可比多項式。
註解
對於固定的 \(\alpha, \beta\),多項式 \(P_n^{(\alpha, \beta)}\) 在區間 \([-1, 1]\) 上,以權重函數 \((1 - x)^\alpha(1 + x)^\beta\) 正交。
參考文獻
[AS]Milton Abramowitz 和 Irene A. Stegun,編輯。《數學函數手冊,包含公式、圖表和數學表格》。紐約:Dover,1972 年。
範例
雅可比多項式滿足以下遞迴關係
\[P_n^{(\alpha, \beta-1)}(x) - P_n^{(\alpha-1, \beta)}(x) = P_{n-1}^{(\alpha, \beta)}(x)\]例如,對於區間 \([-1, 1]\) 上的 \(\alpha = \beta = 2\) 和 \(n = 1\),可以驗證此關係
>>> import numpy as np >>> from scipy.special import jacobi >>> x = np.arange(-1.0, 1.0, 0.01) >>> np.allclose(jacobi(0, 2, 2)(x), ... jacobi(1, 2, 1)(x) - jacobi(1, 1, 2)(x)) True
雅可比多項式 \(P_5^{(\alpha, -0.5)}\) 對於不同 \(\alpha\) 值的繪圖
>>> import matplotlib.pyplot as plt >>> x = np.arange(-1.0, 1.0, 0.01) >>> fig, ax = plt.subplots() >>> ax.set_ylim(-2.0, 2.0) >>> ax.set_title(r'Jacobi polynomials $P_5^{(\alpha, -0.5)}$') >>> for alpha in np.arange(0, 4, 1): ... ax.plot(x, jacobi(5, alpha, -0.5)(x), label=rf'$\alpha={alpha}$') >>> plt.legend(loc='best') >>> plt.show()