Summation and Matrix Operations Package for

行列演算ならびに総和記号演算のための
Mathematica パッケージの開発
前川眞一
東京工業大学
大学院社会理工学研究科
統計モデルの開発
*
*
*
理論の開発
プログラム作成
データ解析
論文執筆
Beer!
Mathematica に出来ること
(行列演算)
行列の要素が定義されている場合の行列演算
• Semi-Symbolic Operations
Mathematica に出来ないこと
(行列演算)
行列の要素が定義されていないと
行列として認識されない。
Fully Symbolic Operations
行ベクトルと列ベクトルを区別しない.
Mathematica に出来ること
(総和記号演算)
総和記号のインデックスが数値的に定義さ
れて入れば、それを展開する。
その場合の、添え字付き変数に関する微分。
Mathematica に出来ないこと
(総和記号演算)
総和記号のインデックスが symbolic に
定義されている場合。
添え字付き変数に関する微分.
SuMOpack とは
Summation and Matrix Operations
Package for
Mathematica
SuMOpack に出来ること
1) Fully Symbolic Matrix Operations
(行列の要素が未定義の場合)
1.1.1 行列演算結果の単純化
1.1.2 分割行列演算結果の単純化
1.1.3 行列演算結果の総和記号による表示
1.1.4 スカラー値を返す行列の関数の微分
2) Fully Symbolic Summation Operations
(総和記号のインデックスが未定義の場合)
2.1 総和記号演算の単純化
2.2 総和記号による行列要素演算の行列表示
2.3 総和記号を含む式の添字付き変数による微分
SuMOpack に出来ること
行列の要素が記号として定義されている場合
(Semi-Symbolic)
1.2.1 行列の定義、小行列の抽出と変更
1.2.2 行列演算の結果表示
1.2.3 行列演算結果の単純化 *
1.2.4 分割行列の定義、小行列の抽出と変更
1.2.5 分割行列演算の結果表示
1.2.6 分割行列演算結果の単純化
1.2.7 線形独立な列の探索
行列演算の単純化
逆行列の単純化
分割行列
分割行列 (続き)
行列表記 <-> 総和記号 1
行列表記 <-> 総和記号 2
行列表記 <-> 総和記号 3
行列表記 <-> 総和記号 4
行列表記 <-> 総和記号 5
行列表記 <-> 総和記号 6
行列表記 <-> 総和記号 7
行列表記 <-> 総和記号 8
総和記号演算
2) Fully Symbolic Summation Operations
(総和記号のインデックスが未定義の場合)
2.1 総和記号演算の単純化
2.2 総和記号による行列要素演算の行列表示
2.3 総和記号を含む式の添字付き変数による微分
総和記号の単純化 1
総和記号の単純化 2
総和記号を含む関数の微分 1
総和記号を含む関数の微分 2
総和記号を含む関数の微分 3
行列の関数の微分
スカラー値を返す行列の関数(トレース、
行列式、固有値)の行列による微分
diag, inv, ginv, Ginv, CircleDot, MatrixPower
.
定義
行列の関数の微分1
行列の関数の微分 2
行列の関数の微分 3
行列の関数の微分 4
一般公式
特定公式
特定公式
変換公式
変換公式
変換公式
連鎖律と乗法公式
連鎖律の例
乗法公式
乗法公式の例
Mathematica への実装
再帰的かつPolymorphic な関数定義
特定公式 S2
変形公式 G2
乗法公式 P1
実行例
公開中
http://www.ms.hum.titech.ac.jp/
sumopack/sumopack.zip
[email protected]