The Pascal matrix is the symmetric matrix defined by
It contains the rows of Pascal’s triangle along the anti-diagonals. For example:
In MATLAB, the matrix is pascal(n)
.
The Pascal matrix is positive definite and has the Cholesky factorization
where the rows of are the rows of Pascal’s triangle. For example,
From (1) we have . Form this equation, or by inverting (1), it follows that
has integer elements. Indeed the inverse is known to have
element
The Cholesky factor can be factorized as
where is unit lower bidiagonal with the first
entries along the subdiagonal of
zero and the rest equal to
. For example,
The factorization (3) shows that is totally positive, that is, every minor (a determinant of a square submatrix) is positive. Indeed each bidiagonal factor
is totally nonnegative, that is, every minor is nonnegative, and the product of totally nonnegative matrices is totally nonnegative. Further results in the theory of totally positive matrices show that the product is actually totally positive.
The positive definiteness of implies that the eigenvalues are real and positive. The total positivity, together with the fact that
is (trivially) irreducible, implies that the eigenvalues are distinct.
For a symmetric positive semidefinite matrix with nonnegative entries, we define
, which is the matrix with every entry raised to the power
. We say that
is infinitely divisible if
is positive semidefinite for all nonnegative
. The Pascal matrix is infinitely divisible.
It is possible to show that
where . In other words,
is involutory, that is,
. It follows from
that
so and
are similar and hence have the same eigenvalues. This means that the eigenvalues of
appear in reciprocal pairs and that the characteristic polynomial is palindromic. Here is an illustration in MATLAB:
>> P = pascal(5); evals = eig(P); [evals 1./evals], coeffs = charpoly(P) ans = 1.0835e-02 9.2290e+01 1.8124e-01 5.5175e+00 1.0000e+00 1.0000e+00 5.5175e+00 1.8124e-01 9.2290e+01 1.0835e-02 coeffs = 1 -99 626 -626 99 -1
Now
where for the equality we used a binomial coefficient summation identity. The fact that is positive definite with reciprocal eigenvalues implies that
. Hence, using Stirling’s approximation (
),
Thus is exponentially ill conditioned as
.
The matrix is obtained in MATLAB with
pascal(n,1)
; this is a lower triangular square root of the identity matrix. Turnbull (1927) noted that by rotating through 90 degrees one obtains a cube root of the identity matrix. This matrix is returned by
pascal(n,2)
. For example, with :
The logarithm of is explicitly known: it is the upper bidiagonal matrix
Notes
For proofs of (2) and (4) see Cohen (1975) and Call and Velleman (1993). respectively. For (5), see Edelman and Strang (2004). The infinite divisibility of the Pascal matrix is infinitely is shown by Bhatia (2006). For the total positivity property see Fallat and Johnson (2011).
References
- Rajendra Bhatia, Infinitely Divisible Matrices, Amer. Math. Monthly 113, 221–235, 2006
- Gregory Call and Daniel Velleman, Pascal’s Matrices, Amer. Math. Monthly 100, 372–376, 1993
- A. M. Cohen, The Inverse of a Pascal Matrix, Math, Gaz. 59(408), 111–112, 1975.
- Alan Edelman and Gilbert Strang, Pascal Matrices, Amer. Math. Monthly 111, 189–197, 2004.
- Shaun Fallat and Charles Johnson, Totally Nonnegative Matrices, Princeton University Press, 2011.
- H. W. Turnbull, The Matrix Square and Cube Roots of Unity, J. London Math. Soc. 2, 242–244, 1927.
Related Blog Posts
- What Is a Symmetric Positive Definite Matrix? (2020)
- What Is a Totally Nonnegative Matrix? (2021)
- What Is the Matrix Logarithm? (2020)
This article is part of the “What Is” series, available from https://nhigham.com/index-of-what-is-articles/ and in PDF form from the GitHub repository https://github.com/higham/what-is.
Dear Professor Higham:
I am glad to see a new post dealing with totally nonnegative matrices (related to your previous post “What Is a Totally Nonnegative Matrix”). Your paragraph explaining the bidiagonal factorization of a Pascal matrix (only ones) suggests my new comment: the matrix containing the nontrivial entries of that factorization (called BD(A) by Plamen Koev) is constructed in MATLAB by means of the instruction
>> B = ones(n,n).
Starting from it (the exact bidiagonal factorization), and using the algorithms included in the package TNTool of P. Koev, we can compute with high relative accuracy the Pascal matrix, the eigenvalues and the inverse (this last task by using an algorithm written by Ana Marco and mself, and included in that package):
>> B=ones(5,5)
B =
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
>> A=TNExpand(B)
A =
1 1 1 1 1
1 2 3 4 5
1 3 6 10 15
1 4 10 20 35
1 5 15 35 70
>>
>> vp=TNEigenValues(B)
vp =
92.290434830153131
5.517487909311952
1.000000000000000
0.181241901466115
0.010835359068796
>>
>> AI=TNInverseExpand(B)
AI =
5 -10 10 -5 1
-10 30 -35 19 -4
10 -35 46 -27 6
-5 19 -27 17 -4
1 -4 6 -4 1
>>
Thank you always for your great work.