Sheng Wang

Solving Vandermonde Equation for FD

This post presents how to solve vandermonde equation in finite-difference. For 2N order accuracy finite-difference of derivatives, $C_k(k=1,2,…,N)$ is the solution of a vandermonde equation:

Gaussian Elimination

This linear equation could be solved by gaussian elimination.
Augmented matrix of linear equation $\eqref{equ}$ is:

An upper triangular matrix could be obtained by subtracting the row $(i+1)$ from row $i$:

Step 1

$row(i+1) - row(i) [i=1,2,3,4,5,…,N-1] $

Step 2

$row(i+1) - 2^2row(i) [i=2,3,4,5,…,N-1] $

Step 3

$row(i+1) - 3^2row(i) [i=3,4,5,…,N-1] $

Step k

$row(i+1) - k^2row(i) [i=k,k+1,…,N-1] $

Step N-1

$row(i+1) - k^2row(i) [i=N-1] $

Detail derivations are presented in fd_coef_vandermonde.pdf.

Result

Finally, the augmented matrix is:

Thus:

Value and Program

Values of $C_i$ are calculated by fd_coef.py.

order $C_{1}$ $C_{2}$ $C_{3}$ $C_{4}$ $C_{5}$ $C_{6}$
2 $1$
4 $4/3$ $-1/3$
6 $3/2$ $-3/5$ $1/10$
8 $8/5$ $-4/5$ $8/35$ $-1/35$
10 $5/3$ $-20/21$ $5/14$ $-5/63$ $1/126$
12 $12/7$ $-15/14$ $10/21$ $-1/7$ $2/77$ $-1/462$