Lotka Volterra 競争モデルの局所安定性解析

モデル式の定義

fn1 = r1(1-(n1 + a12 n2)/  k1)n1 ;
fn2 = r2(1-(n2 + a21 n1 )/ k2)n2 ;

平衡点を求める

eqms=Solve[{fn1==0,fn2==0},{n1,n2}]

D[x^2+Cos[x],x]

ヤコビ行列

jacobiMat=Outer[D,{fn1,fn2},{n1,n2}]

MatrixForm[jacobiMat]

各平衡点についてのコミュニティ行列

jacobiMat1=jacobiMat/.eqms[[1]]//Simplify

MatrixForm[jacobiMat1]

jacobiMat2=jacobiMat/.eqms[[2]]//Simplify

MatrixForm[jacobiMat2]

Eigenvalues[%]

jacobiMat3=jacobiMat/.eqms[[3]]//Simplify

MatrixForm[jacobiMat3]

jacobiMat4=jacobiMat/.eqms[[4]]//Simplify

MatrixForm[jacobiMat4]

パラメーター値の設定

para = {r1->1, k1->1, a12->0.8, r2->1, k2->1, a21->0.6}

fn1N = fn1/.para
fn2N = fn2/.para

giso1=ContourPlot[fn1N==0,{n1,-0.1,2},{n2,-0.1,2},ContourStyle->RGBColor[0,0,1],PlotPoints->100]

giso2=ContourPlot[fn2N==0,{n1,-0.1,2},{n2,-0.1,2},ContourStyle->RGBColor[0,1,0],PlotPoints->100]

Show[giso1,giso2]

eqms/.para

コミュニティ行列の固有値

jacobiMat1/.para

Eigenvalues[%]

jacobiMat2/.para

Eigenvalues[%]

jacobiMat3/.para

Eigenvalues[%]

jacobiMat4/.para

Eigenvalues[%]