scipy.linalg.pascal#
- scipy.linalg.pascal(n, kind='symmetric', exact=True)[source]#
Returns the n x n Pascal matrix.
The Pascal matrix is a matrix containing the binomial coefficients as its elements.
- Parameters
- nint
The size of the matrix to create; that is, the result is an n x n matrix.
- kindstr, optional
Must be one of ‘symmetric’, ‘lower’, or ‘upper’. Default is ‘symmetric’.
- exactbool, optional
If exact is True, the result is either an array of type numpy.uint64 (if n < 35) or an object array of Python long integers. If exact is False, the coefficients in the matrix are computed using
scipy.special.comb
with exact=False. The result will be a floating point array, and the values in the array will not be the exact coefficients, but this version is much faster than exact=True.
- Returns
- p(n, n) ndarray
The Pascal matrix.
See also
Notes
See https://en.wikipedia.org/wiki/Pascal_matrix for more information about Pascal matrices.
New in version 0.11.0.
Examples
>>> 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