"Chaos Control in Three Dimensional Cancer Model by State Space Exact Linearization Based on Lie Algebra"をなぞる

こちらの文献をだいたいなぞる。

始めましょうか。

 

  • 概要
    • (癌細胞の、健康な細胞の、免疫細胞の)カオス的な挙動を扱う
    • TDCM
      • 3次元癌モデル
    • State Space Exact Linearization 法
      • これがLie代数に基づく
    • 非線形フィードバック制御
  • SSEL
    •  \dot{x} = f(x) = g(x) u(x)
    • 状態ベクトルx、制御変数U、f、gは滑らかなベクトル場
    • リーブラケット
      •  ad_f^k g(x) = [ f, ad_f^{k-1} g](x)
      •  ad_f^0 g(x) = g(x)
    • 行列
      •  M = [g(x_0) , \cdots, ad_f^{n-1} g(x_0)
      • rank=nで、 span\{ g, ad_f g, \cdots, ad_f^{n-2}g \}対合(逆写像がそれ自身)
        • 対合つきの群、環
        • n次全行列環と転置写像の組は、対合つき多元環
      • なら、
      • 実関数で、Lie微分
    • 行列のランクが3で対合的
    • どんな3次微分可能な関数について、滑らかな変換 z = [ \Psi, L_f \Psi, L_f^2 \Psi]^T
    • xをzに換え、zをxに逆変換していく。
      • 変換することによって、扱いやすく、
      • 逆変換することで、その情報(意味)をまた取り出せるようにしている、ということ。
    • 似たような話は、フーリエ変換と、逆フーリエ変換という話がある。
    • このように、何かを別の角度から見た時、そこで操作を行った後、もう一度、元の見方に戻すことを探るのは大事。
  • 下はリー微分の練習。(3次元)
  • Bye!
from sympy import *
x = Symbol("x")
y = Symbol("y")
z = Symbol("z")

class Lie:
  def __init__(self,a):
    self.dim = 3
    self.g = [a[i]*0+1 for i in range(3)]
    
  def gnew(self,a):
    self.g = self.adfg(a)

  def f(self,a):
    return [a[i]*2+1 for i in range(3)]

  def adfg(self,a):
    answer = [0] * 3
    for i in range(3):
        bracket0 = (self.f(a)[i]*self.g[0].diff(x) - self.g[i]*self.f(a)[0].diff(x))
        bracket1 = (self.f(a)[i]*self.g[1].diff(y) - self.g[i]*self.f(a)[1].diff(y))
        bracket2 = (self.f(a)[i]*self.g[2].diff(z) - self.g[i]*self.f(a)[2].diff(z))
        answer[0] += bracket0
        answer[1] += bracket1
        answer[2] += bracket2
    return answer
    
l = Lie([x,y,z])
l.gnew([x,y,z])
l.gnew([x,y,z])
l.adfg([x,y,z])