偏微分方程式 (Subscript[u, t]) = (Subscript[u, xx])を初期条件u(0, x) = 
                      sin x(0  <  x  < π),境界条件u(t, 0) = u(t, π) = 0のもとで解法

Clear[f]; f[x_] := Sin[x]; 
    Plot[f[x], {x, 0, π}, PlotStyle -> Hue[0.0], 
      AspectRatio -> Automatic, AxesLabel -> None, 
      Ticks -> {{π}, {0, 1}}]

Clear[v]; v[n_] := Table[N[f[π (k/n)]], {k, 1, n - 1}]; 
    v[4]

Δt = (1/m),Δx = (π/n)とする．このとき，行列  A (m, n)を次のように定義する.

Clear[o, z]; o[x_] = 0; z[n_] := Array[o, n - 4]; Clear[k]; 
    k[m_, n_] := (n^2)/m; Clear[r]; 
    r[m_, n_, i_] := 
      Insert[Insert[Insert[z[n], k[m, n], i - 1], 1 - 2  k[m, n], i], 
        k[m, n], i + 1]; Clear[rf]; 
    rf[m_, n_] := 
      Insert[Insert[Insert[z[n], 1 - 2  k[m, n], 1], k[m, n], 2], 0, 3]; 
    Clear[rl]; 
    rl[m_, n_] := 
      Insert[Insert[Insert[z[n], 0, n - 3], k[m, n], n - 2], 1 - 2  k[m, n], 
        n - 1]; Clear[M]; 
    M[m_, n_] := {rf[m, n], Table[r[m, n, i], {i, 2, n - 2}], rl[m, n]}; 
    Partition[Flatten[M[10, 6]], 10]; 
    A[m_, n_] := Partition[Flatten[M[m, n]], n - 1] // N

\(例えば\ A \((40, 
            4)\)\ を出力すると\)

{N[k[40, 4]], N[1 - 2 k[40, 4]], A[40, 4] // MatrixForm}

\(例えば\ A \((40, 
            4)\)\ の\ 10\ 乗を出力すると\)

MatrixPower[A[40, 4], 10] // MatrixForm

U(m, n, s) の定義

Clear[L]; L[m_, n_, s_] := MatrixPower[A[m, n], s]; Clear[U]; 
    U[m_, n_, s_] := L[m, n, s] . v[n]; U[100, 6, 0]

時間 t = Λt×s = (s/m)における u (t, x)の近似グラフ
　　　　　　　　　u[m, n, s]
             の定義.

u[m_, n_, s_] := Insert[Insert[U[m, n - 1, s], 0, n - 1], 0, 1]; 
    u[60, 5, 1]

ここで n,mを ((n^2)/m) < (1/2)を満たすように選んで     s = 0,1,2, ....kとして u (t, x)の挙動 
                                               S[m, n, k]
               を見る．

Do[ListPlot[u[200, 8, t], PlotJoined -> True, PlotStyle -> Hue[0.0], 
        PlotRange -> {0, 1}, AspectRatio -> 1/π, 
        AxesLabel -> None, Ticks -> {{}, {0, 1}}], {t, 0, 
        40}]