2012-10-31 メモ MIKU テンソル ラグラジアン R tensor tensorA 今日のMIKU(こちら) テンソルの定義について ベクトル空間が和とスカラー倍の通用する世界であるのに対して、内積も定義した制約のあるベクトル空間で考えることがテンソルには必要 どういう演算が通用するかという観点から、先週の代数の話とつながる 直交変換もテンソルには大事で、直交変換は、内積不変な変換という ラグラジアンが最小作用の原理から出る話があって、そこに、時間と空間の双方向性とか平行移動不変性とか方向一様性とかを入れる話が出てきた ラグラジアンやらハミルトニアンやら、あるわけだけれど、そこに、時空間の直交変換不変ルール(鏡像変換に対しては変わりそうだが…)とかを入れてもうまく行くように…と考えることが大事らしいのだが、そのような性質を持つものは上述のようにテンソルで表すことができるし便利だということで、この両者はつながるらしい そしておまけだけれど、テンソルは多次元分割表のようなものなので、その変換ルールもテンソルっぽいということも予想された Rのテンソル 数式やら定義やらで考えることもよいですが、所詮は計算の道具ですから、コンピュータにやってもらうのもよいでしょう。 "CRAN tensor"でグーグル検索すれば パッケージとして"tensor"、"tensorA"が見つかります。 install.packages(c("tensor","tensorA")) library(tensor) library(tensorA) それぞれのPDFtensor,tensorAを見れば、tensorパッケージはシンプルなものであり、tensorAパッケージは結構いろいろなものが実装されていることがわかります。 多次元分割表(Rではarrayオブジェクト)をテンソルで表すとして、分割表から分割表への変換をするテンソルも扱えそうな感じです。 実装の厚いtensorAパッケージの何がよいって、inv.tensor()という関数名もあって、多分、変換テンソルの逆テンソル(逆行列のようなもの)も算出できそうなこと、でしょうか。