當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy linalg.invpascal用法及代碼示例


本文簡要介紹 python 語言中 scipy.linalg.invpascal 的用法。

用法:

scipy.linalg.invpascal(n, kind='symmetric', exact=True)#

返回 n x n 帕斯卡矩陣的逆矩陣。

帕斯卡矩陣是包含二項式係數作為其元素的矩陣。

參數

n int

要創建的矩陣的大小;也就是說,結果是一個 n x n 矩陣。

kind str,可選

必須是 ‘symmetric’, ‘lower’ 或 ‘upper’ 之一。默認為‘symmetric’。

exact 布爾型,可選

如果精確的為 True,結果是以下類型的數組numpy.int64(如果n<= 35) 或 Python 整數的對象數組。如果精確的為假,矩陣中的係數使用計算scipy.special.comb準確=假.結果將是一個浮點數組,對於大n,數組中的值將不是確切的係數。

返回

invp (n, n) 數組

帕斯卡矩陣的逆矩陣。

注意

參考

[2]

Cohen, A. M.,“帕斯卡矩陣的逆”,《數學公報》,59(408),111-112 頁,1975 年。

例子

>>> from scipy.linalg import invpascal, pascal
>>> invp = invpascal(5)
>>> invp
array([[  5, -10,  10,  -5,   1],
       [-10,  30, -35,  19,  -4],
       [ 10, -35,  46, -27,   6],
       [ -5,  19, -27,  17,  -4],
       [  1,  -4,   6,  -4,   1]])
>>> p = pascal(5)
>>> p.dot(invp)
array([[ 1.,  0.,  0.,  0.,  0.],
       [ 0.,  1.,  0.,  0.,  0.],
       [ 0.,  0.,  1.,  0.,  0.],
       [ 0.,  0.,  0.,  1.,  0.],
       [ 0.,  0.,  0.,  0.,  1.]])

kind 和 exact 用法的一個例子:

>>> invpascal(5, kind='lower', exact=False)
array([[ 1., -0.,  0., -0.,  0.],
       [-1.,  1., -0.,  0., -0.],
       [ 1., -2.,  1., -0.,  0.],
       [-1.,  3., -3.,  1., -0.],
       [ 1., -4.,  6., -4.,  1.]])

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.linalg.invpascal。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。