s = $; RM1 = [[(s+1)/(s+2) (s+3)/(s+4)] [(s+5)/(s+6) (s+7)/(s+8)]]; RM2 = diag((s+1)/(s+2), (s+3)/(s+4), (s+5)/(s+6));
s = $; A = [[(s+1)/(s+2) , (s+3)/(s+4)] [(s+5)/(s+6) , (s+7)/(s+8)]];
=== [A] : ( 2, 2) === [ ( 1) ] [ ( 2) ] s + 1 s + 3 ( 1) ---------------- ---------------- s + 2 s + 4 s + 5 s + 7 ( 2) ---------------- ---------------- s + 6 s + 8となる。また,配列オペレータを使うことによって,有理多項式行列を簡単に 記述することができ,
s = $; X = [[1 3][5 7]]; Y = [[2 4][6 8]]; B = (ONE(2)*s + X) ./ (ONE(2)*s + Y);
複素有理多項式行列の入力方法には,複素有理多項式を成分として記述する方法と
一対の実有理多項式行列をコンマ ``,'' で区切って
丸括弧 ( と ) で囲む方法がある。
実部または虚部だけを指定し,もう一方に * を指定して
複素有理多項式行列を記述することもできる。
CRM1 = (RM1,RM2); // CRM1 = RM1 + RM2 i, // RM1とRM2は,実有理多項式行列 CRM1 = (RM1,*); // CRM1 = RM1 + Z(RM1) i, // RM1は,実有理多項式行列 CRM1 = (*,RM1); // CRM1 = Z(RM1) + RM1 i, // RM1は,実有理多項式行列
RM1 = Re((RM1, RM2)); // 実部有理多項式行列 RM2 = Im((RM1, RM2)); // 虚部有理多項式行列
s = $; RM1 = [[(s+1)/(s+2) (s+3)/(s+4)] [(s+5)/(s+6) (s+7)/(s+8)]]; RM2 = [[(s+3)/(s+2) (s+5)/(s+4)] [(s+7)/(s+6) (s+1)/(s+8)]; CRM1 = (RM1, RM2); CRM2 = [[((1,1)*s+(1,3))/(s+2) ((1,1)*s+(3,5))/(s+4)] [((1,1)*s+(5,7))/(s+6) ((1,1)*s+(7,1))/(s+8)]];