scipy.linalg.
帕斯卡#
- scipy.linalg.pascal(n, kind='symmetric', exact=True)[源代码][源代码]#
返回 n x n 的帕斯卡矩阵。
帕斯卡矩阵是一个包含二项式系数的矩阵,这些系数作为其元素。
- 参数:
- n整数
要创建的矩阵的大小;即结果是一个 n x n 的矩阵。
- 种类str, 可选
必须是 ‘symmetric’、’lower’ 或 ‘upper’ 之一。默认是 ‘symmetric’。
- 精确bool, 可选
如果 exact 为 True,结果要么是一个类型为 numpy.uint64 的数组(如果 n < 35),要么是一个 Python 长整数的对象数组。如果 exact 为 False,矩阵中的系数是通过使用
scipy.special.comb
计算的,且 exact=False。结果将是一个浮点数组,数组中的值将不是精确的系数,但此版本的计算速度比 exact=True 快得多。
- 返回:
- p(n, n) ndarray
帕斯卡矩阵。
参见
注释
有关Pascal矩阵的更多信息,请参见 https://en.wikipedia.org/wiki/Pascal_matrix。
Added in version 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