SciPy - linalg.pascal() Function



The scipy.linalg.pascal() function generates Pascal matrices which are square matrices based on Pascal's triangle. These matrices are symmetric and positive definite and which often used in combinatorics, algebra and numerical analysis.

Pascal matrices can be created in three forms namely symmetric, lower triangular or upper triangular. The elements in these matrices correspond to binomial coefficients by making them valuable for solving problems involving matrix operations and linear systems.

Syntax

Following is the syntax of the scipy.linalg.pascal() function which is used to find the Pascal matrices −

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

Parameters

Following are the parameters of the function scipy.linalg.pascal()

  • n(int): The size of the matrix, which will have dimensions n x n.
  • kind (str, optional): Specifies the type of Pascal matrix:
    • symmetric: Creates a symmetric Pascal matrix which is the default.
    • lower: Generates a lower triangular Pascal matrix.
    • upper: Produces an upper triangular Pascal matrix.
  • exact (bool, optional): If this parameter set to True then the matrix elements are returned as integers. Otherwise, they are returned as floating-point numbers which is default value.

Return Value

This function returns an n x n Pascal matrix in the specified format.

Symmetric Pascal Matrix

A Symmetric Pascal Matrix is a square matrix where each element is derived from Pascal's triangle. The elements of the matrix are positive integers and the matrix is symmetric which means it is equal to its transpose. Following is the representation of the symmetric Pascal matrix of size n x n

P[i,j]=C(i+j,j)

Following is the example of the 4 x 4 Pascal Matrix created with the help of the scipy.linalg.pascal() function −

from scipy.linalg import pascal

# Generate a 4x4 symmetric Pascal matrix
matrix = pascal(4)

# Display the matrix
print(matrix)

Following is the output of the function scipy.linalg.pascal() which creates the Symmetric pascal triangular matrix −

[PS D:\Tutorialspoint> python sample.py
[[ 1  1  1  1]
 [ 1  2  3  4]
 [ 1  3  6 10]
 [ 1  4 10 20]]

Lower Triangular Pascal Matrix

A Lower Triangular Pascal Matrix is a lower triangular matrix where each element is derived from Pascal's triangle. The elements of the matrix are binomial coefficients and it is lower triangular, meaning that all elements above the main diagonal are zero. A lower triangular Pascal matrix of size n x n the matrix can be represented as follows −

L[i,j]=C(i,j) forij
and
L[i,j]=0 fori<j

This example shows how to create a 5x5 lower triangular Pascal matrix by using the scipy.linalg.pascal() function −

from scipy.linalg import pascal

# Generate a 5x5 lower triangular Pascal matrix
lower_matrix = pascal(5, kind='lower')

# Display the matrix
print(lower_matrix)

Below is the output of the function scipy.linalg.pascal() which creates the lower pascal triangular matrix −

[[1 0 0 0 0]
 [1 1 0 0 0]
 [1 2 1 0 0]
 [1 3 3 1 0]
 [1 4 6 4 1]]

Pascal Matrix with Integer Elements

A Pascal Matrix with Integer Elements is a matrix in which each element is a binomial coefficient and the matrix is symmetric or lower triangular. This matrix is derived from Pascal's Triangle and its elements are integer values representing combinations.

Here is the example of a 3x3 Pascal matrix with integer elements is generated −

from scipy.linalg import pascal

# Create a 3x3 Pascal matrix with integer elements
int_matrix = pascal(3, exact=True)

# Display the matrix
print(int_matrix)

Here is the output of the pascal matrix with integer elements −

[[1 1 1]
 [1 2 3]
 [1 3 6]]
scipy_special_matrices_functions.htm
Advertisements