外積代数 - kyoto u...4 第1 章 外積代数 ごとにwr = 0 b @ n r 1 c a i=1 f r i (x)gr i...
Post on 16-Feb-2021
0 Views
Preview:
TRANSCRIPT
-
1
第 1章
外積代数
1.1 外積と外積代数
??Rで行列を勉強するの記事で行列の積に関連してベクトルの外積の話題が出た。
その外積を一般化して出来上がる外積代数に関する記事である。
3次元ベクトル空間 R3 でのベクトル積 (外積)は、a = (a1, a2, a3), b = (b1, b2, b3)に対
して、a× b = (|
(a2 a3
b2 b3
)|, |
(a3 a1
b3 b1
)|, |
(a1 a2
b1 b2
)|) というR3 のベクトル。
他方、内積は < a, b >=∑3
i=1 aibi
内積の定義は n次元においてもそのまま通用するが、ベクトル積はそうはなっていない。
その理由を含めて考えると、ベクトル積・外積代数というものが出てくる。それを以下に
示す
1.2 n次元のベクトル積とべき集合の要素数
n次元空間ベクトルが n-1個あったとき、そのベクトル積は、n次元ベクトルになる
今、n-1個のベクトルを x2, x3, ..., xn とし、もう一つ n次元ベクトル x1 を置く
x1, ..., xn を行ベクトルとする行列 X を考えると、その Determinant(det(X))が算出で
きる
x2, ..., xn のベクトル積は n次元ベクトル v であって、x1 と v との内積はX の Determi-
nantである (< x1, v >= det(X))という関係にある
それを Rで書くと次のようになる
l i b r a r y (MCMCpack)
# 複素数行列の De t e rm inan tの計算用関数
detComplex
-
2 第 1章 外積代数
r e t
-
1.3 Gauss-Stokesの公式 3
外積代数はベクトル解析につながっている
外積・微分形式・外微分…時空間軌道の解析から始まった「曲線」「曲面」「多様体」に関
する話題の一端であるこの記事につながる
1.3 Gauss-Stokesの公式
外積代数を用いて、微分形式・外微分などを用いることで積分に関する以下の公式がわ
かりやすくなる
Gauss-Stokesの公式
「ベクトル場の回転を曲面上で面積分したものが、元のベクトル場を曲面の境界で線積分
したものに一致する」∫∂S
ω =∫Sdω
1.4 外積代数・微分形式・外微分を自分の言葉で説明して
みる
自分なりに外積代数・微分形式・外微分・Gauss-Stokesの公式を書いてみる
n次元空間には、n個の線形独立なベクトルがおける。簡単に考えるなら、n本のベクト
ルからなる正規直交基底を考える
1.4.1 外積代数
外積代数では、1,2,...,nを要素とする集合のべき集合の要素である部分集合に対応した
ものを考える
そのような要素は 2n 個ある
この 2n 個は、部分集合であるが、部分集合としての要素数が、0,1,2,...,n のいずれかで
あって、それぞれの要素数は
(n
i
); r = 0, 1, ...nとなっている
それらは符号の取り方の工夫をすることで、あるルールづけがなされている
1.4.2 微分形式
外積代数では「単位ベクトル」を考えたが、こちらは微分なので、「微小ベクトル」を
考える。
微小ベクトルだが、方向については、「単位ベクトル」をそのままひきつぐ
外積代数と同様に 2n 種類あるそれぞれに、関数がある
fri (x); r = 0, 1, ..., n; i = 1, 2, ...,
(n
r
)外積代数では、対応する部分集合の要素数で 0,1,...,n通りに分類できたが、この要素数 r
http://d.hatena.ne.jp/ryamada/20110925http://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%88%E3%83%BC%E3%82%AF%E3%82%B9%E3%81%AE%E5%AE%9A%E7%90%86
-
4 第 1章 外積代数
ごとに wr =∑
nr
i=1 f
ri (x)G
ri のように G
ri (部分集合として要素数 r の外積代数の一つ)
に関して足し合わせたものを r次の微分形式と呼ぶ
1.4.3 外微分
r次の微分形式 wr の外微分 dwr を次のように定義する
dwr =∑
nr
i=1 df
ri G
ri
ここで外積代数 Gri の交代性が功を奏して、ぱたぱたと項が消える
1.4.4 Gauss-Stokesの公式
∫∂S
ω =
∫S
dω
の w や dw はこのようにして定めた微分形式と外微分であって、この表現法を使うと、r
次の微分形式を境界に関して積分したものと、その外微分を領域全体について積分したも
のとが一致する、ということが導ける
これは、空間が1次元のときには、外微分を領域 (ここからここまで)について積分した
ものと、微分形式を境界 (1次元線分の境界は2点)について向き・正負に注意して積分
したものに一致することに対応する
f(b)− f(a) =∫ ba
f ′(x)dx
1.5 外積代数の計算を Rでやってみる
次元 nのとき、要素数は、nから i個を取り出して、その順列になる (それ以外は、0に
なる)から、∑n
i=0
(n
i
)× i!。それらが、2n の基本要素で張られる
以下のソースでは elemListが基本要素、allElemがすべての要素。Mは allElemの演算
結果を基本要素数の長さのベクトルで表している。またM2は、基本要素のどれに相当す
るかを符号つきで表している
> # 集合のパッケージ
> library(sets)
> library(gtools)
> # 次元
> n s # 順列・置換に関して、その符号を計算するには、置換を表す行列の determinantが使える
-
1.5 外積代数の計算を Rでやってみる 5
> s2 M det(M)
[1] 1
> # それを使って、演算を、要素の組 (集合)と符号とで表すことにする
> # その関数
> SignaturePermutation SignaturePermutation(a2)
$set
{}
$sign
[1] 1
-
6 第 1章 外積代数
> Zerocheck # これは、基本要素のセットとなる
> pow.t # 2^n個の基本要素をリストにする
> # ID、要素数の等しいものごとに束ねたときの束内 ID、集合
> elemList cnt numcnt cntINnumcnt currentn elemList[[1]] for(i in pow.t){
+ ncurrentn){
+ cntINnumcnt
-
1.5 外積代数の計算を Rでやってみる 7
{2L}
[1] 1
{3L}
[1] 2
{1L, 2L}
[1] 2
{1L, 3L}
[1] 2
{2L, 3L}
[1] 3
{1L, 2L, 3L}
> # 演算順を自由にした、すべてについての情報をリストにする
> allElem cnt v tmp allElem[[cnt]] cnt for(i in 1:n){
+ tmpperm
-
8 第 1章 外積代数
[[2]]
[[2]]$id
[1] 2
[[2]]$v
[1] 1
[[2]]$set
{1L}
[[2]]$sign
[1] 1
[[3]]
[[3]]$id
[1] 3
[[3]]$v
[1] 2
[[3]]$set
{2L}
[[3]]$sign
[1] 1
[[4]]
[[4]]$id
[1] 4
[[4]]$v
[1] 3
[[4]]$set
{3L}
[[4]]$sign
[1] 1
-
1.5 外積代数の計算を Rでやってみる 9
[[5]]
[[5]]$id
[1] 5
[[5]]$v
[1] 1 2
[[5]]$set
{1L, 2L}
[[5]]$sign
[1] 1
[[6]]
[[6]]$id
[1] 6
[[6]]$v
[1] 1 3
[[6]]$set
{1L, 3L}
[[6]]$sign
[1] 1
[[7]]
[[7]]$id
[1] 7
[[7]]$v
[1] 2 1
[[7]]$set
{1L, 2L}
[[7]]$sign
[1] -1
-
10 第 1章 外積代数
[[8]]
[[8]]$id
[1] 8
[[8]]$v
[1] 2 3
[[8]]$set
{2L, 3L}
[[8]]$sign
[1] 1
[[9]]
[[9]]$id
[1] 9
[[9]]$v
[1] 3 1
[[9]]$set
{1L, 3L}
[[9]]$sign
[1] -1
[[10]]
[[10]]$id
[1] 10
[[10]]$v
[1] 3 2
[[10]]$set
{2L, 3L}
[[10]]$sign
[1] -1
-
1.5 外積代数の計算を Rでやってみる 11
[[11]]
[[11]]$id
[1] 11
[[11]]$v
[1] 1 2 3
[[11]]$set
{1L, 2L, 3L}
[[11]]$sign
[1] 1
[[12]]
[[12]]$id
[1] 12
[[12]]$v
[1] 1 3 2
[[12]]$set
{1L, 2L, 3L}
[[12]]$sign
[1] -1
[[13]]
[[13]]$id
[1] 13
[[13]]$v
[1] 2 1 3
[[13]]$set
{1L, 2L, 3L}
[[13]]$sign
[1] -1
-
12 第 1章 外積代数
[[14]]
[[14]]$id
[1] 14
[[14]]$v
[1] 2 3 1
[[14]]$set
{1L, 2L, 3L}
[[14]]$sign
[1] 1
[[15]]
[[15]]$id
[1] 15
[[15]]$v
[1] 3 1 2
[[15]]$set
{1L, 2L, 3L}
[[15]]$sign
[1] 1
[[16]]
[[16]]$id
[1] 16
[[16]]$v
[1] 3 2 1
[[16]]$set
{1L, 2L, 3L}
[[16]]$sign
[1] -1
-
1.5 外積代数の計算を Rでやってみる 13
> N M M2 for(i in 1:N){
+ for(j in 1:N){
+ vi
-
14 第 1章 外積代数
[1] 1
$id
[1] 2
$id2
[1] 1
$set
{1L}
$n
[1] 1
[1] 0 0 0 0 0 0 0 0
[1] 0 1 0 0 0 0 0 0
[1] 2
$id
[1] 3
$id2
[1] 2
$set
{2L}
$n
[1] 1
[1] 0 0 0 0 0 0 0 0
[1] 0 0 1 0 0 0 0 0
[1] 3
$id
[1] 4
$id2
[1] 3
$set
{3L}
$n
[1] 1
-
1.5 外積代数の計算を Rでやってみる 15
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 1 0 0 0 0
[1] 1 2
$id
[1] 5
$id2
[1] 1
$set
{1L, 2L}
$n
[1] 2
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 1 0 0 0
[1] 1 3
$id
[1] 6
$id2
[1] 2
$set
{1L, 3L}
$n
[1] 2
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 1 0 0
[1] 2 1
$id
[1] 5
$id2
[1] 1
$set
{1L, 2L}
-
16 第 1章 外積代数
$n
[1] 2
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 -1 0 0 0
[1] 2 3
$id
[1] 7
$id2
[1] 3
$set
{2L, 3L}
$n
[1] 2
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 1 0
[1] 3 1
$id
[1] 6
$id2
[1] 2
$set
{1L, 3L}
$n
[1] 2
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 -1 0 0
[1] 3 2
$id
[1] 7
$id2
[1] 3
-
1.5 外積代数の計算を Rでやってみる 17
$set
{2L, 3L}
$n
[1] 2
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 -1 0
[1] 1 2 3
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 1
[1] 1 3 2
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 -1
[1] 2 1 3
$id
[1] 8
-
18 第 1章 外積代数
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 -1
[1] 2 3 1
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 1
[1] 3 1 2
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 1
-
1.5 外積代数の計算を Rでやってみる 19
[1] 3 2 1
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 -1
[1] 1
$id
[1] 2
$id2
[1] 1
$set
{1L}
$n
[1] 1
[1] 0 0 0 0 0 0 0 0
[1] 0 1 0 0 0 0 0 0
[1] 1 2
$id
[1] 5
$id2
[1] 1
$set
{1L, 2L}
$n
[1] 2
-
20 第 1章 外積代数
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 1 0 0 0
[1] 1 3
$id
[1] 6
$id2
[1] 2
$set
{1L, 3L}
$n
[1] 2
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 1 0 0
[1] 1 2 3
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 1
[1] 1 3 2
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
-
1.5 外積代数の計算を Rでやってみる 21
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 -1
[1] 2
$id
[1] 3
$id2
[1] 2
$set
{2L}
$n
[1] 1
[1] 0 0 0 0 0 0 0 0
[1] 0 0 1 0 0 0 0 0
[1] 2 1
$id
[1] 5
$id2
[1] 1
$set
{1L, 2L}
$n
[1] 2
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 -1 0 0 0
[1] 2 3
$id
[1] 7
$id2
[1] 3
-
22 第 1章 外積代数
$set
{2L, 3L}
$n
[1] 2
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 1 0
[1] 2 1 3
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 -1
[1] 2 3 1
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 1
[1] 3
$id
[1] 4
-
1.5 外積代数の計算を Rでやってみる 23
$id2
[1] 3
$set
{3L}
$n
[1] 1
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 1 0 0 0 0
[1] 3 1
$id
[1] 6
$id2
[1] 2
$set
{1L, 3L}
$n
[1] 2
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 -1 0 0
[1] 3 2
$id
[1] 7
$id2
[1] 3
$set
{2L, 3L}
$n
[1] 2
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 -1 0
-
24 第 1章 外積代数
[1] 3 1 2
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 1
[1] 3 2 1
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 -1
[1] 1 2
$id
[1] 5
$id2
[1] 1
$set
{1L, 2L}
$n
[1] 2
-
1.5 外積代数の計算を Rでやってみる 25
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 1 0 0 0
[1] 1 2 3
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 1
[1] 1 3
$id
[1] 6
$id2
[1] 2
$set
{1L, 3L}
$n
[1] 2
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 1 0 0
[1] 1 3 2
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
-
26 第 1章 外積代数
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 -1
[1] 2 1
$id
[1] 5
$id2
[1] 1
$set
{1L, 2L}
$n
[1] 2
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 -1 0 0 0
[1] 2 1 3
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 -1
[1] 2 3
$id
[1] 7
$id2
[1] 3
-
1.5 外積代数の計算を Rでやってみる 27
$set
{2L, 3L}
$n
[1] 2
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 1 0
[1] 2 3 1
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 1
[1] 3 1
$id
[1] 6
$id2
[1] 2
$set
{1L, 3L}
$n
[1] 2
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 -1 0 0
[1] 3 1 2
$id
[1] 8
-
28 第 1章 外積代数
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 1
[1] 3 2
$id
[1] 7
$id2
[1] 3
$set
{2L, 3L}
$n
[1] 2
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 -1 0
[1] 3 2 1
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 -1
-
1.5 外積代数の計算を Rでやってみる 29
[1] 1 2 3
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 1
[1] 1 3 2
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 -1
[1] 2 1 3
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
-
30 第 1章 外積代数
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 -1
[1] 2 3 1
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 1
[1] 3 1 2
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 1
[1] 3 2 1
$id
[1] 8
$id2
[1] 1
$set
{1L, 2L, 3L}
-
1.5 外積代数の計算を Rでやってみる 31
$n
[1] 3
[1] 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 -1
> M2
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16]
[1,] 1 2 3 4 5 6 -5 7 -6 -7 8 -8 -8 8 8 -8
[2,] 2 0 5 6 0 0 0 8 0 -8 0 0 0 0 0 0
[3,] 3 -5 0 7 0 -8 0 0 8 0 0 0 0 0 0 0
[4,] 4 -6 -7 0 8 0 -8 0 0 0 0 0 0 0 0 0
[5,] 5 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0
[6,] 6 0 -8 0 0 0 0 0 0 0 0 0 0 0 0 0
[7,] -5 0 0 -8 0 0 0 0 0 0 0 0 0 0 0 0
[8,] 7 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[9,] -6 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0
[10,] -7 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[11,] 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[12,] -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[13,] -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[14,] 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[15,] 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[16,] -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
top related