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.

Notes

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
```