オープン戸田格子とその離散化の解の一致

2002年11月にやった計算の紹介

黒木 玄

函数の定義

toda_open(x) はLax 形式でのオープン戸田格子の定義.

x は正方行列をベクトル化したもの.

オープン戸田格子はLax方程式で定義される.

sqreshape(x) は正方行列をベクトル化したものを正方行列に戻すための函数.

In [1]:
## open Toda lattice
##
## Example: To integrate the open Toda lattice from t = 0 to t = 1,
##
## solution = lsode('toda_open', vec(L0), 0:1)
## L1 = sqreshape(sol(2,:))

function xdot = toda_open(x)

  L = sqreshape(x);
  M = diag(diag(L))/2 + triu(ones(rows(L),columns(L)), 1).* L;
  Ldot = M * L - L * M;
  xdot = reshape(Ldot, rows(x), columns(x));

endfunction
In [2]:
## Reshape rectangulat matrix to square matrix
##
## retval = sqreshape(x)
##
## x = matrix
## retval = square matrix

function retval = sqreshape(x)

  size = prod(size(x));
  n = ceil(sqrt(size));
  retval = reshape(x, n, n);

endfunction

戸田格子の初期条件 L0 を CCC と定義

等間隔で質点が並んでおり、運動量は -2, -1, 1, 2.

In [3]:
CCC = [
-2,1,0,0;
1,-1,1,0;
0,1,1,1;
0,0,1,2
];
CCC
CCC =

  -2   1   0   0
   1  -1   1   0
   0   1   1   1
   0   0   1   2

In [4]:
L0=CCC
L0 =

  -2   1   0   0
   1  -1   1   0
   0   1   1   1
   0   0   1   2

X0はオープン戸田格子の離散化の初期条件

In [5]:
X0 = expm(L0)
X0 =

    0.26161    0.38561    0.43429    0.24631
    0.38561    1.08150    1.93478    1.41954
    0.43429    1.93478    5.93631    5.94709
    0.24631    1.41954    5.94709   10.46386

L0とX0の固有値を計算

In [6]:
eig(L0)
ans =

  -2.70493
  -0.82667
   0.82667
   2.70493

In [7]:
eig(X0)
ans =

   14.953210
    2.285684
    0.066875
    0.437506

オープン戸田格子の離散化の時刻を1進める

In [8]:
X1 = chol(X0) * chol(X0).'
X1 =

   1.78285   2.78489   2.17629   0.94154
   2.78489   5.95483   5.55793   2.88354
   2.17629   5.55793   6.18306   4.02311
   0.94154   2.88354   4.02311   3.82254

オープン戸田格子の連続時間を1進める

In [9]:
sol = lsode('toda_open', vec(L0), 0:1)
sol =

 Columns 1 through 7:

  -2.00000   1.00000   0.00000   0.00000   1.00000  -1.00000   1.00000
  -0.52601   1.40051   0.00000   0.00000   1.40051   0.04909   1.94886

 Columns 8 through 14:

   0.00000   0.00000   1.00000   1.00000   1.00000   0.00000   0.00000
   0.00000   0.00000   1.94886  -0.04909   1.40051   0.00000   0.00000

 Columns 15 and 16:

   1.00000   2.00000
   1.40051   0.52601

In [10]:
L1 = sqreshape(sol(2,:))
L1 =

  -0.52601   1.40051   0.00000   0.00000
   1.40051   0.04909   1.94886   0.00000
   0.00000   1.94886  -0.04909   1.40051
   0.00000   0.00000   1.40051   0.52601

連続時間版と離散時間版の比較

expm(L1)とX1は一致する.

このようにLax形式の微分方程式で定義されたオープン戸田格子の時間発展の整数時刻での解の値のexponentialは、コレスキー分解で定義した離散オープン戸田格子の値に一致する.

In [11]:
expm(L1)
ans =

   1.78285   2.78489   2.17629   0.94154
   2.78489   5.95483   5.55793   2.88354
   2.17629   5.55793   6.18306   4.02311
   0.94154   2.88354   4.02311   3.82254

In [12]:
X1
X1 =

   1.78285   2.78489   2.17629   0.94154
   2.78489   5.95483   5.55793   2.88354
   2.17629   5.55793   6.18306   4.02311
   0.94154   2.88354   4.02311   3.82254

In [0]: