For an analytical expression of Vandermonde inverse matrix, a new derivation process based
on Wronskian matrix and Lagrange interpolation polynomial basis is presented. Recursive
formula and implementation cases for the direct formula of Vandermonde inverse matrix are
given based on deriving the unified formula of Wronskian inverse matrix. For the calculation of
symbol-type Vandermonde inverse matrix, the direct formula and recursive method are verified
to be more efficient than Mathematica which is good at symbolic computation by comparing
the computing time in Mathematica. The process and steps of recursive algorithm are relatively
simple. The derivation process and idea both have very important values in theory and practice
of Vandermonde and generalized Vandermonde inverse matrix.
1. Introduction
Vandermonde matrix and generalized Vandermonde matrix and their inverses are always widely concerned in many research fields, such as numerical analysis, data and signal processing, and control theory [1–8]. There are many effective ways to calculate the Vandermonde inverse matrix. Fox example, Tou [1] and Reis [2] obtained the matrix formula from the coefficients of polynomial terms. Neagoe [3] deduced an analytic formula of complex-type Vandermonde inverse matrix based on symmetric polynomials. Eisinberg and Fedele [4] presented a general explicit formula for the elements of inverse matrix and two different algorithms were deduced. In this paper, based on results in [1, 2], a new derivation process of an analytical expression of Vandermonde inverse matrix is presented based on Wronskian matrix and Lagrange interpolation polynomial basis, and recursive formula and implementation cases for the direct formula of Vandermonde inverse matrix are presented based on deducing the unified formula of Wronskian inverse matrix.
The rest of this paper is arranged as follows. Firstly, we summarize the main idea and analytical formulas presented in [3] and give a new derivation process for the formula in Section 2. In Section 3, a recursive formula of Vandermonde inverse matrix is deduced. In Section 4, numerical simulations are presented with some cases in Mathematica and conclusion and prospect are given by comparing and analyzing the numerical results in the last section.
2. A New Derivation of Vandermonde Inverse Matrix
If x1,x2,…,xn(n≥1) are different numbers, that is to say, they are not equal to each other, then we define the n-order matrix(1)Vnx1,x2,…,xn=vijn×n=xji-1n×n=11⋯1x1x2⋯xn⋮⋮⋮x1n-1x2n-1⋯xnn-1,where i,j=1,2,…,n as a Vandermonde matrix. For the inverse of this matrix, Neagoe [3] obtained the calculation formula (2) according to relations between the determinant of the matrix (1) and the determinant of the matrix which was obtained by adding a row whose elements were xjn(j=1,2,…,n) and a column whose elements were xi(i=0,1,2,…,n) to (1) and based on the calculation formula of inverse matrix by using the matrix determinant:(2)Vn-1=vij-1n×nT=-1i+jσn-ij∏k=1j-1xj-xk∏k=j+1nxk-xjn×nT,where i=1,2,…,n are column subscripts and j=1,2,…,n are row subscripts and(3)σ0x1,x2,…,xn=1,σkx1,x2,…,xn=∑1≤j1<⋯<jk≤nxj1xj2⋯xjk,k=1,2,…,n,σkj=σkx1,…,xj-1,xj+1,…,xn.
Here we will use a new method entirely different from [3] to deduce formula (2).
For a group of linearly independent functions Φ={φ1(x),φ2(x),…,φn(x)}, where φi(x)(i=1,2,…,n) has the (n-1)th derivative, Wronskian matrix is defined as(4)Wφ1x,φ2x,…,φnx=wijn×n=φjin×n,j=1,2,…,n;i=0,1,…,n-1.If there is another group of functions Φ~=φ~1(x),φ~2(x),…,φ~n(x) which satisfy(5)∑i=1nφixφ~it=x-tn-1n-1!,then the inverse matrix W-1φ1(x),φ2(x),…,φn(x) of (4) can be obtained [9] as(6)W-1φ1x,…,φnx=-1n-jφ~in-jxn×n,where j=1,2,…,n and i=1,…,n.
If we set yi(x)=1/(n-1)!(x-xi)n-1(i=1,2,…,n), then we can verify that the Lagrange interpolation polynomial basis(7)lix=1w′xi∏j=1j≠inx-xji=1,2,…,n,where w(x)=∏i=1n(x-xi) satisfy (5); that is to say,(8)∑i=1nyixlit=x-tn-1n-1!.For Wronskian matrix W[y1(x),…,yn(x)],(9)Wy1x,…,ynx=1n-i!x-xjn-in×n=1n-1!x-x1n-11n-1!x-x2n-1⋯1n-1!x-xnn-11n-2!x-x1n-21n-2!x-x2n-2⋯1n-2!x-xnn-2⋮⋮⋯⋮x-x1x-x2⋯x-xn11⋯1.From (6), the inverse matrix of W[y1(x),…,yn(x)] is(10)W-1y1x,…,ynx=-1n-jlin-jxn×n=-1n-1l1n-1x-1n-2l1n-2x⋯l1x-1n-1l2n-1x-1n-2l2n-2xl2x⋮⋮⋮⋮-1n-1lnn-1x-1n-2lnn-2xlnx,where i=1,2,…,n are row subscripts and j=1,2,…,n are column subscripts in the above two matrices.
Denote by Dn the diagonal matrix composed of {(-1)n-i(n-i)!}i=1,2,…,n-1,n; that is,(11)Dn=-1n-1n-1!0⋯00-1n-2n-2!⋯0⋮⋮⋱⋮00⋯1.It is easily proved that(12)Dn·Wy1x,…,ynx=xj-xn-in×n=x1-xn-1x2-xn-1⋯xn-xn-1x1-xn-2x2-xn-2⋯xn-xn-2⋮⋮⋮⋮x1-xx2-x⋯xn-x11⋯1.Denoted by(13)Anx,x1,…,xn=xj-xn-in×n,using inverse matrix formula of matrix multiplication, we have(14)Dn·Wy1x,…,ynx-1=W-1y1x,…,ynx·Dn-1=An-1x,x1,…,xn.From (10) and (14), we can get(15)An-1x,x1,…,xn=-1n-jn-j!·-1n-jlin-jxn×n=lin-jxn-j!n×n.
Let x=0; then (12) changes to(16)An0,x1,…,xn=x1n-1x2n-1⋯xnn-1x1n-2x2n-2⋯xnn-2⋮⋮⋮⋮x1x2⋯xn11⋯1.Its inverse matrix is(17)An-10,x1,…,xn=lin-j0n-j!n×n.For the values of σk(x1,…,xn)(k=1,2,…,n) in (2), we specify them by the following case. For example, taking n=3, from (3), we can get(18)σ0x1,x2,x3=1,σ1x1,x2,x3=x1+x2+x3,σ2x1,x2,x3=x1x2+x1x3+x2x3,σ3x1,x2,x3=x1x2x3.Then we have(19)lin-j0=-1i+jn-j!σj-1i∏k=1i-1xi-xk·∏k=i+1nxk-xi,where i=1,2,…,n are row subscripts and j=1,2,…,n are column subscripts, and from (17) and (19), we can get(20)An-10,x1,…,xn=-1i+jσj-1i∏k=1i-1xi-xk·∏k=i+1nxk-xin×n.Thus, according to the corresponding relations of elements between An(0,x1,…,xn) and Vn(x1,…,xn) and An-1(0,x1,…,xn) and Vn-1(x1,…,xn), we can obtain (2); that is, (21)Vn-1x1,…,xn=-1i+jσn-ji∏k=1i-1xi-xk·∏k=i+1nxk-xin×n,where i=1,2,…,n are row subscripts and j=1,2,…,n are column subscripts.
3. Recursive Algorithm of Vandermonde Inverse Matrix
By the above method of function matrix, we denote Vn(x,x1,…,xn) as(22)Vnx,x1,…,xn=xj-xi-1n×n=11⋯1x1-xx2-x⋯xm-xx1-x2x2-x2⋯xm-x2⋮⋮⋮⋮x1-xn-1x2-xn-1⋯xm-xn-1.According to the property of Vandermonde determinant, we have(23)detVnx,x1,…,xn=∏1≤i<j≤nxj-x-xi-x=∏1≤i<j≤nxj-xi.
For the convenience of description, we introduce the following notations.
An(i,j,x) denotes the algebraic complement of the element of Vn(x,x1,…,xn) whose row subscript is i and column subscript is j. An(k)(i,j,x) denotes kth derivative on x of An(i,j,x) and(24)Bnjx=∏1≤k≤nk≠jxk-x,Cnj=∏1≤i<k≤ni,k≠jxk-xi,j=1,2,…,n.
It is easily obtained that(25)An1i-1,j,x=i-1Ani,j,x,(26)Bnjx=xn-xBn-1,jx,Bnnx=xj-xBn-1,jxj=1,2,…,n-1.From (25) and (26), we can get(27)Ani,j,x=1i-1!Ani-11,j,xi=1,2,…,n,An1,j,x=-1j+1CnjBnjx,1≤j≤n,Ani,j,x=-1j+1i-1!CnjBnji-1x,1≤i,j≤n.
Calculating kth derivative on x at both sides of (26), we can obtain(28)Bnjxk=xn-xBn-1,jkx-kBn-1,jk-1x,Bnnxk=xj-xBn-1,jkx-kBn-1,jk-1x,j=1,2,…,n-1.They can lead to(29)Ani,j,x=-1j+1Cnji-1!xn-xBn-1,ji-1x-i-1Bn-1,ji-2x,1≤i≤n,1≤j≤n-1,Ani,n,x=-1n+1Cnni-1!xn-1-xBn-1,n-1i-1x-i-1Bn-1,n-1i-2x,1≤i≤n.It is easy to know that(30)Cnj=∏1≤k≤n-1k≠jxn-xk·Cn-1,j1≤j≤n-1,Cnn=∏1≤k≤n-2xn-1-xk·Cn-1,n-1,detVnt=∏1≤k≤n-1xn-xkdetVn-1x.Denoted by Vn-1(x,x1,…,xn)=v~n(i,j,x)n×n, then(31)v~ni,j,x=Anj,i,xdetVnx.From (29)–(31), we can get(32)v~ni,j,x=1xn-xixn-xv~n-1i,j,x-v~n-1i,j-1,x,1≤i≤n-1,1≤j≤n,v~nn,j,x=pnxn-1-xv~n-1n-1,j,x-v~n-1n-1,j-1,x,1≤j≤n.And set v~n(i,j,x)=0 when i≤0, i≤0, j≤0, i>n, and j>n.
Let x=0 in (32); the recursion formula of elements of Vandermonde inverse matrix Vn-1(0,x1,…,xn)=v~n(i,j,0)n×n can be obtained.
For simplicity, denote v~n(i,j,0)=v~n(i,j). Because x=0, all elements do not contain x, so we denote n-order Vandermonde matrix composed of x1,…,xn as(33)Vn-1x1,…,xn=vni,jn×n=-1i+1v~ni,jn×n.Thus, each element of Vandermonde inverse matrix can be determined by the following recursive formula:(34)v~ni,j=1xn-xixnv~n-1i,j-v~n-1i,j-1,1≤i≤n-1,1≤j≤n,pnxn-1v~n-1n-1,j-v~n-1n-1,j-1,1≤j≤n,where pn=∏1≤k≤n-2(xn-1-xk)/∏1≤k≤n-1(xn-xk) and set v~n(i,j)=0 when i≤0, i≤0, j≤0, i>n, and j>n.
When n=1, ∏1≤k≤n-1(xn-xk)=1 and ∏1≤k≤n-2(xn-xk)=1.
When n=2, ∏1≤k≤n-2(xn-xk)=1.
4. Application Case and Simulation
We will take the 3-order Vandermonde inverse matrix as an example to illustrate the recursive steps of (34) in detail.
Let(35)V3x1,x2,x3=111x1x2x3x12x22x32.From (34), we have(36)V3-1x1,x2,x3=v3i,j3×3=-1i+1v~3i,j3×3.
Taking v~1(1,1)=1 and p1=1 as the initial values to calculate each element of v~3(i,j)3×3, then we can get(37)v~31,1=1x3-x1x3v~21,1-v~21,0.Since v~2(1,0)=0(j=0≤0), then(38)v~31,1=x3x3-x1v~21,1.From (34) again, we can get(39)v~21,1=1x2-x1x2v~11,1-v~11,0.Since v~1(1,0)=0(j=0≤0), then(40)v~21,1=x2x2-x1v~11,1.Substituting v~1(1,1)=1 to (40), we have(41)v~31,1=x3x3-x1v~21,1=x2x2-x1·x3x3-x1=x2x3x2-x1x3-x1.As i=1 in v~3(1,1), so from (36), this leads to(42)v31,1=-11+1v~31,1=x2x3x2-x1x3-x1.Meanwhile, we can also obtain(43)v21,1=-11+1v~21,1=x2x2-x1.
For v~3(2,3), there is(44)v~32,3=1x3-x2x3v~22,3-v~22,2.As j=3>n=2 in v~2(2,3), so v~2(2,3)=0, and from (35), we can obtain(45)v~32,3=-1x3-x2v~22,2=-1x3-x2p2x1v~11,2-v~11,1.As j=2>n=1 in v~1(1,2), so v~1(1,2)=0 and v~1(1,1)=1 and(46)p2=∏1≤k≤0x1-xk∏1≤k≤1x2-xk=1x2-x1.From (45) and (36), i=2; then we can get v3(2,3); that is,(47)v32,3=-12+1v~32,3=-12+1-1x3-x2-1x2-x1=-1x1-x2x2-x3.Meanwhile, we can also get(48)v22,2=-12+1v~22,2=-12+1-p2v~11,1=p2=1x2-x1.
The other elements of v~3(i,j), 1≤i, j≤3, can be obtained by a similar process. Finally, we can get(49)v~3i,j3×3=x2x3x1-x2x1-x3-x2+x3x1-x2x1-x31x1-x2x1-x3x1x3x1-x2x2-x3-x1+x3x1-x2x2-x31x1-x2x2-x3x1x2x3-x1x3-x2-x1+x2x3-x1x3-x21x3-x1x3-x2.Meanwhile, we can get(50)v~2i,j2×2=x2x2-x11x1-x2x1x2-x11x1-x2.So, the 3-order Vandermonde inverse matrix of (35) is(51)V2-1x1,x2,x3=-1i+1v~3i,j,03×3=x2x3x1-x2x1-x3-x2+x3x1-x2x1-x31x1-x2x1-x3-x1x3x1-x2x2-x3x1+x3x1-x2x2-x3-1x1-x2x2-x3x1x2x3-x1x3-x2-x1+x2x3-x1x3-x21x3-x1x3-x2and the 2-order Vandermonde inverse matrix is(52)v2i,j2×2=-1i+1v2i,j2×2=x2x2-x11x1-x2x1x1-x21x2-x1.
We choose different order Vandermonde matrices to compare the computing time spent on calculating their inverse matrices in mathematical software Mathematica 10. We divide the calculations into two types: symbolic inverse matrix and numerical inverse matrix. For the limitation of computing time, we take only the order as n=3,…,10 and the total time of each calculation is the time spent by doing 100 repeated calculations; its unit is second. When we calculate the numerical Vandermonde inverse matrix, we take xi=i(i=1,…,n). We obtain the results as Tables 1 and 2.
The total time spent on symbolic Vandermonde inverse matrix.
n
3
4
5
6
7
8
9
10
MMA
0.0156
0.1248
0.8268
2.4648
38.5164
282.36
2549.04
26001
Equation (2)
0.0624
0.1092
0.2184
0.4212
0.7800
1.4508
2.8236
5.6940
Equation (34)
0.1560
0.3120
0.9360
2.4960
6.2400
15.4440
36.0360
82.3681
The total time spent on numerical Vandermonde inverse matrix.
n
3
4
5
6
7
8
9
10
MMA
0
0
0
0.0156
0.0156
0.0312
0.0468
0.0468
Equation (2)
0.0468
0.0936
0.1560
0.2652
0.4992
0.9204
1.7784
2.6364
Equation (34)
0.0624
0.2340
0.6552
1.7628
4.3836
10.6392
24.4920
55.8481
In Tables 1 and 2, n is the order of Vandermonde inverse matrix. MMA denotes the time which Mathematica spends on calculation by using its inner function “Inverse” to calculate the inverse matrix. Equations (2) and (34) denote the times which Mathematica spends on calculations by (2) and (34) separately.
Remark 1.
Here we only take Mathematica as the execution environment, mainly because Mathematica has the superiority of symbolic computation compared with other types of commonly used mathematical software. For example, when we calculate the 6-order symbolic Vandermonde inverse matrix by the inner functions of Mathematica, Maple, and MATLAB, the computing times are 0.187, 0.281, and 22.013 seconds separately.
5. Conclusion and Prospect
From Table 1, we can see that the total time spent by Mathematica on calculating the symbolic Vandermonde inverse matrix by using inner function “Inverse” is far more than that by (2) and (34). With the increase of dimensions, the time grows dramatically. For the 10-order matrix, it almost spends nearly 7 hours. From Table 2, we can see that the total time spent by Mathematica (0 in Table 2 means that the total time is less than 0.001 seconds) on calculating the numerical Vandermonde inverse matrix by using inner function “Inverse” is far less than that by (2) and (34). For numerical inverse matrix, Mathematica’s inner function has greater advantage than (2) and (34), and the time spent by (2) is less than that by (34). This is because our algorithms are not optimized in terms of numerical calculation. We do these calculations only by a few functions written by us in Mathematica. Therefore, the total computing times are much more. But for symbolic inverse matrix, (2) and (34) are better than Mathematica inner function.
In this paper we use the different methods from [2–5] to deduce (2) based on Wronskian function matrix and propose a recursive algorithm for Vandermonde inverse matrix. The process has a certain universality and some values for calculating inverse matrices of other special matrices. From Tables 1 and 2, we can see that two methods in this paper are more efficient than Mathematica inner function for symbolic Vandermonde inverse matrix. For numerical Vandermonde inverse matrix, how to optimize and design the effective algorithms to carry out our methods will be our future research.
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Acknowledgments
The authors thank the unknown reviewers for their careful reading and helpful comments. This work is supported by Science Research Project of Hunan Province Education Office (14C0650) and Research Project of National University of Defense Technology (JC12-02-01).
TouJ. T.Determination of the inverse Vandermonde matrix19649331410.1109/TAC.1964.1105716ReisG. C.A Matrix Formulation for the Inverse Vandermonde Matrix, 1967NeagoeV.-E.Inversion of the Van der Monde matrix19963411912010.1109/97.4890662-s2.0-0030127710EisinbergA.FedeleG.On the inversion of the Vandermonde matrix200617421384139710.1016/j.amc.2005.06.0142-s2.0-33644588299LuX. F.XuZ.LuQ.A fast algorithm of the inverse of Vandermonde-type matrix17Proceedings of the 7th International Conference on Matrix Theory and Its Application2006Chengdu, China246249XuZ.1997Xi'an, ChinaNorthwestern Polytechnic University PressZhaoL.XuZ.LuQ.An efficient and fast algorithm for the inverse of generalized Vandermonde matrix2011334312318ManeP. R.AdigaS. G.Sathish KumarM.Performance evaluation of random linear network coding using a Vandermonde matrix201410243010.1016/j.phycom.2013.11.0082-s2.0-84894621856ZhangX.2010Beijing, ChinaScience Press