基本行列
http://ja.wikipedia.org/wiki/%E8%A1%8C%E5%88%97%E3%81%AE%E5%9F%BA%E6%9C%AC%E5%A4%89%E5%BD%A2
を簡単に作る方法を教えてください
Wikipediaにある通り、単位行列を生成して、
* Pi, j は、単位行列の i 行目と j 行目を取り換えた行列
* Qi, c は、単位行列の (i, i) 成分を c にした行列
* Ri, j, c は、単位行列の (i, j) 成分を c にした行列
を生成すれば良いのではないでしょうか?
単位行列の生成はご存知の通りeye(n)です。
---------------------------------------------------------------
基本行列Pの生成例と掛算結果の確認
* Pi, j は、単位行列の i 行目と j 行目を取り換えた行列
(単位行列の2行目と5行目を入れ替えて基本行列P(2,5)を作る例)
---------------------------------------------------------------
>> test = [1 2 3 4 5;2 3 4 5 6;3 4 5 6 7;4 5 6 7 8;5 6 7 8 9]
test =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
>> p=eye(5)
p =
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
>> p([2,5],:) = p([5,2],:)
p =
1 0 0 0 0
0 0 0 0 1
0 0 1 0 0
0 0 0 1 0
0 1 0 0 0
>> test*p
ans =
1 5 3 4 2
2 6 4 5 3
3 7 5 6 4
4 8 6 7 5
5 9 7 8 6
>> p*test
ans =
1 2 3 4 5
5 6 7 8 9
3 4 5 6 7
4 5 6 7 8
2 3 4 5 6
---------------------------------------------------------------
基本行列Qの生成例と掛算結果の確認
* Qi, c は、単位行列の (i, i) 成分を c にした行列
(単位行列の2行2列目を2に変えて基本行列Q(2,2)を作る)
---------------------------------------------------------------
>> test=ones(5)
test =
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
>> q=eye(5)
q =
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
>> q(2,2)=2
q =
1 0 0 0 0
0 2 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
>> test*q
ans =
1 2 1 1 1
1 2 1 1 1
1 2 1 1 1
1 2 1 1 1
1 2 1 1 1
>> q*test
ans =
1 1 1 1 1
2 2 2 2 2
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
---------------------------------------------------------------
基本行列Rの生成例と掛算結果の確認
* Ri, j, c は、単位行列の (i, j) 成分を c にした行列
(単位行列の2行4列目を2に変えて基本行列R(2,4,2)を作る)
---------------------------------------------------------------
>> test=ones(5)
test =
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
>> r=eye(5)
r =
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
>> r(2,4)=2
r =
1 0 0 0 0
0 1 0 2 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
>> test*r
ans =
1 1 1 3 1
1 1 1 3 1
1 1 1 3 1
1 1 1 3 1
1 1 1 3 1
>> r*test
ans =
1 1 1 1 1
3 3 3 3 3
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
---------------------------------------------------------------
コメント(3件)
matlabに入っている計算ソフトは
mapleと同等だったと思います。
こちらが参考になるとおもいます
http://math.josai.ac.jp/~toshiko/insei/sakata/HTML/maple/index12.html
かつてmapleと同等だったとの情報ありがとうございます。
別途メッセージにて40ポイント頂きました。
ありがとうございます。