pascal — SciPy v1.15.2 Manual (original) (raw)

scipy.linalg.

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 usingscipy.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.

Notes

See https://en.wikipedia.org/wiki/Pascal_matrix for more information about Pascal matrices.

Added 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