2014年4月29日火曜日

下付き完全反対称テンソルの負符号の起源

完全反対称テンソル$\epsilon^{{i}_1{i}_2\cdots{i}_n}$そのものが出てくる理由は体積素もといwedge積とかそういうところにある。だから平坦な場合
\[
\epsilon^{{i}_1{i}_2\cdots{i}_n} \equiv \mathrm{sgn}\begin{pmatrix} 1 & 2 & \cdots & n \\ i_1 & i_2 & \cdots & i_n \end{pmatrix}
\]
で、相対論なんかが関わるときに出てくる$\epsilon_{0123}=-1$のなぞについては
\begin{eqnarray}
\epsilon_{{j}_1{j}_2\cdots{j}_n} &\equiv &
\epsilon^{{i}_1{i}_2\cdots{i}_n} g_{i_1j_1}g_{i_2j_2}\cdots{g}_{i_nj_n} \\
&=& \mathrm{det} g \mathrm{sgn}\begin{pmatrix} 1 & 2 & \cdots & n \\ i_1 & i_2 & \cdots & i_n \end{pmatrix}\\
&=&\mathrm{det} g \epsilon^{{i}_1{i}_2\cdots{i}_n}
\end{eqnarray}
なので、$g$の性質いかんで符号や係数がつく。上の$i_n$はMinkowski添字で、一般座標の添字を考えれば曲線座標バージョンの定義についても納得がいく。

2014年4月4日金曜日

ダブルポインターのこころ?

文字列の集まりを管理しようと思ったら、それぞれの文字列の先頭のアドレスを集めておきたいですね。文字列そのものよりも文字列の場所を教えるほうが親切です。アドレスを格納するのがポインターでしたから、すなわちポインターの配列 *argv[] です。でも渡すのはこのポインターの配列の先頭のアドレス(と文字列の数)だけで十分ですから、ダブルポインター **argv (と argc )が渡されます。