next up previous contents index
Next: 多項式行列の評価 Up: 多項式行列 Previous: 多項式行列

多項式行列の記述方法

多項式行列は,多項式を成分とする行列である。 多項式行列の操作は実行列や複素行列といった数値行列と同じである。

  s = $;

  PM1 = [[s + 1  s + 2]    PM2 = [[s + 5  s + 6]
         [s + 3  s + 4]];         [s + 7  s + 8]];

  PM1 = diag(s+1, s+2, s+3, s+4);


多項式行列を記述する便利な方法には,少なくとも2つある。1つは,


  s = $;

  A = [[1 2][3 4]]*s^2 + [[5 6][7 8]]*s
      + [[9 10][11 12]];


であり,もう1つは


  s = $;

  A = [[  s^2+5*s+9 , 2*s^2+6*s+10]
       [3*s^2+7*s+11, 4*s^2+8*s+12]];


で,どちらも同じ多項式行列を作る。 前者は,行列を多項式の係数として用い,後者は,4つの多項式を陽に行列の 成分として使っている。

複素多項式行列の記述方法には,複素多項式を成分として記述する方法と 一対の実多項式行列をコンマ ``,'' で区切って丸括弧 () で囲む方法がある。 実部または虚部だけを指定し,もう一方に * を指定して 複素多項式行列を記述することもできる。  


CPM1 = (PM1,PM2); // CPM1 = PM1 + PM2 i,
                  // PM1とPM2は,実多項式行列
CPM1 = (PM1,*);   // CPM1 = PM1 + Z(PM1) i,
                  // PM1は,実多項式行列
CPM1 = (*,PM1);   // CPM1 = Z(PM1) + PM1 i,
                  // PM1は,実多項式行列


実部多項式行列と虚部多項式行列は, 関数Re()Im()を用いて取り出すことができる。    


PM1 = Re((PM1, PM2));  // 実部多項式行列
PM2 = Im((PM1, PM2));  // 虚部多項式行列


2個の実多項式行列PM1とPM2から複素多項式行列CPM1を作る。


  s = $;

 PM1 = [[s + 1  s + 2]    PM2 = [[s + 5  s + 6]
         [s + 3  s + 4]];         [s + 7  s + 8]];

  CPM1 = (PM1, PM2);
  CPM2 = [[(1,1)*s+(1,5) (1,1)*s+(2,6)]
          [(1,1)*s+(3,7) (1,1)*s+(4,8)]];




Masanobu KOGA 平成10年8月19日