scipy.linalg.

pascal#

scipy.linalg.pascal(n, kind='symmetric', exact=True)[source]#

傳回 n x n 的 Pascal 矩陣。

Pascal 矩陣是一個包含二項式係數作為元素的矩陣。

參數:
nint

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

kindstr,選填

必須是 ‘symmetric’、‘lower’ 或 ‘upper’ 其中之一。預設值為 ‘symmetric’。

exactbool,選填

如果 exact 為 True,結果會是 numpy.uint64 類型的陣列 (如果 n < 35) 或是 Python 長整數的物件陣列。如果 exact 為 False,矩陣中的係數會使用 scipy.special.combexact=False 計算。結果會是一個浮點數陣列,且陣列中的值不會是精確的係數,但這個版本比 exact=True 快得多。

傳回值:
p(n, n) ndarray

Pascal 矩陣。

另請參閱

invpascal

說明

請參閱 https://en.wikipedia.org/wiki/Pascal_matrix 以取得更多關於 Pascal 矩陣的資訊。

在版本 0.11.0 中新增。

範例

>>> from scipy.linalg import pascal
>>> pascal(4)
array([[ 1,  1,  1,  1],
       [ 1,  2,  3,  4],
       [ 1,  3,  6, 10],
       [ 1,  4, 10, 20]], dtype=uint64)
>>> pascal(4, kind='lower')
array([[1, 0, 0, 0],
       [1, 1, 0, 0],
       [1, 2, 1, 0],
       [1, 3, 3, 1]], dtype=uint64)
>>> pascal(50)[-1, -1]
25477612258980856902730428600
>>> from scipy.special import comb
>>> comb(98, 49, exact=True)
25477612258980856902730428600