Skip to main content
`Ctrl`+`K`
scipy.linalg.

# pascal

scipy.linalg.pascal(n, kind='symmetric', exact=True)

  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

  `invpascal`

  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