scipy.linalg.

pascal#

scipy.linalg.pascal(n, kind='symmetric', точный=True)[источник]#

Возвращает матрицу Паскаля размером n x n.

Матрица Паскаля — это матрица, содержащая биномиальные коэффициенты как свои элементы.

Параметры:
nint

Размер создаваемой матрицы; то есть, результат - матрица n x n.

kindstr, optional

Должно быть одним из 'symmetric', 'lower' или 'upper'. По умолчанию 'symmetric'.

точныйbool, необязательно

Если точный если True, результат либо массив типа numpy.uint64 (если n < 35), либо массив объектов Python long integers. Если точный равно False, коэффициенты в матрице вычисляются с использованием scipy.special.comb с exact=False. Результатом будет массив с плавающей точкой, и значения в массиве не будут точными коэффициентами, но эта версия намного быстрее, чем exact=True.

Возвращает:
p(n, n) ndarray

Матрица Паскаля.

Смотрите также

invpascal

Примечания

См. https://en.wikipedia.org/wiki/Pascal_matrix для получения дополнительной информации о матрицах Паскаля.

Добавлено в версии 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