2016-02-18
変分問題を関数プログラミングしてみる

変分問題は 汎関数 (関数を変数とする関数)を対象に、その最小化や最大化などを扱います。

関数を変数とする関数、ということで JavaScript で関数プログラミングするとどんな感じになるか試してみました。

  • なお小生、いまだに JavaScript に不自由な方、です。。。(自慢すんな!)
  • 一部だけですが、恐る恐る ECMAScript 6 の機能を使ってみました

例題

ここでは古典力学のラグランジアンと最小作用の原理を例にします。また簡単のため1粒子の1次元運動のみを扱います。

ラグランジアン

エネルギーの次元をもつ以下の量を表す関数をラグランジアンといいます。ここで x は粒子の位置座標、 v は速度。

$$
\begin{eqnarray}
L(x, v) &=& \mathbf{運動エネルギー - ポテンシャルエネルギー} \\
&=& \frac{1}{2} M v^2 - U(x)
\end{eqnarray}
$$

例えば、質量 $M$ バネ定数 $K$ の振動子のラグランジアンは以下になります。

$$
L_{oscillator}(x, v) = \frac{1}{2} M v^2 - \frac{1}{2} K x^2
$$

作用積分

あるラグランジアンに対して、以下の形の時間積分を作用あるいは作用積分といいます。

$$
S[x(t)] = \int_{t0}^{t1} L(x(t), \dot{x}(t)) dt
\ \ ただし \ \dot{x}(t) = \dfrac{d x(t)}{dt}
$$

ここで、t0, t1 は任意に固定した時刻、$x(t)$ は粒子の運動を表す 任意の関数 です。
$S$ は任意の関数 $x(t)$ を変数とする関数、すなわち汎関数で、汎関数であることを示すために、$S[x(t)]$ と書きます。

最小作用の原理

上の作用積分 $S[x(t)]$ の変数 x(t) は任意の関数でよいのですが、
$S[x(t)]$ を最小にするような関数が 実際に起こる運動 となることが知られています。(正しくは「最小」でなく「停留」です)

このための必要条件は、関数 $x(t)$ を少し変えた関数 $x(t) + \delta x(t)$ を考えたとき、$S$ が変化しないこと、すなわち以下で表せます。

$$
\delta S[x(t)] = S[x(t) + \delta x(t)] - S[x(t)] = 0 \hspace{5em} (A)
$$

ただし 境界条件 として、積分の両端では値が変わらないとします。すなわち

$$\delta x(t0) = \delta x(t1) = 0 \hspace{5em} (B)
$$

プログラム

通常は作用積分の停留条件から得られるオイラー・ラグランジュの方程式(2階の微分方程式)を解いて実際の運動を求めるのですが、
ここでは上の作用積分 $S[x(t)]$ を数値的に求めるプログラムを作成し、$x(t)$ を変化させて $S[x(t)]$ の変化を調べてみます。

振動子のラグランジアン

以下は、質量 M, バネ定数 K の振動子のラグランジアン $L(x,v)$ を作成します。

1
function oscillator(M,K) {
    return function(x,v) {
	return 0.5*(M*v*v - K*x*x);
    };
}

数値微分演算子

以下はきざみ幅 dt で、与えられた関数を数値微分する微分演算子を作成します。

1
function D_t(dt) {
    return function(func_t) {
	return function(t) {
	    return (func_t(t + 0.5*dt) - func_t(t - 0.5*dt)) / dt;
	};
    };
}

D_t(dt)(func) は関数 func の微分を表す関数(すなわち導関数)を返します。
(これも関数を変数にとる関数だが、通常、値・数値を返す関数を 汎関数
 別の関数を返す関数は 演算子,作用素 というようです)

テストをかねて、以下の f, df, ddf を google chart でプロットしてみます。

1
var d_t = D_t(0.0001); // 数値微分演算子
var f = Math.cos;      // 微分する関数
var df  = d_t(f);      // その導関数
var ddf = d_t(d_t(f)); // 2次の導関数

数値定積分演算子

以下は、区間 [t0, t1] を分割数 ndiv で数値積分する数値定積分演算子を作成します。

1
function Int_t(t0, t1, ndiv) {
    var dt = (t1 - t0)/ndiv;
    return function(func_t) {
	var t = t0 + 0.5*dt;
	var s = 0.0;
	for (var i = 0; i < ndiv; i++) {
            s += func_t(t);
	    t += dt;
	}
	return s * dt;
    };
}

作用積分

以下は、与えられたラグランジアンに対して、作用積分汎関数 $S[x(t)]$ を作成します。
int_t は上の定積分演算子、d_t は微分演算子です。

1
function ActionIntegral(int_t, d_t, lagrangian) {
    return function(xt) {
	var dxdt = d_t(xt);
        var func_t = function(t) {
	    return lagrangian(xt(t), dxdt(t));
	};
	return int_t(func_t);
    };
}

トライアル

準備ができたので、試行関数 $x(t)$ をいろいろ変えて $S[x(t)]$ の変化を調べてみます。
$x(t)$ は 任意の関数 ですが、もちろんそんなことはできないので、いくつかのパラメータで $x(t)$ を表し、パラメータを変化させてみることになります。

ここではごくごく単純に 1つのパラメータ k を持つ以下を試行関数にして、以下の条件で調べてみます。

  • ラグランジアン: 上の振動子のものを使用
    (解は $x(t) = Asin(\omega t) + B cos(\omega t)$ ($\omega = \sqrt{K/M}, A, B は定数$)
  • 積分範囲: $[t_0, t_1]=[0,1]$
  • 境界条件:$x(t0)=0、x(t1)=1$
  • 試行関数:$x(t;k) = sin(kt)/sin(k t_1)$

また積分範囲は とし、境界条件は とします。

1
function trialFunc(t, w) {
    return Math.sin(w*t)/Math.sin(w*t1);
}

Read More

2015-09-02
補足:オイラー・ラグランジュ方程式の座標非依存性(クロメル著)

ここではオイラー・ラグランジュ方程式の座標非依存性(クロメル著)
http://hooktail.maxwell.jp/kagi/f3288afa475db3d1f07454c5b931ea03.html
の補足として、座標変換が時間に依存する場合でも成り立つことを示します。

 変更履歴

  • 2015-09-03 式番号と説明を追加

座標変換

元の座標系を ${q_i}$, 時間依存の新座標を ${r_k}$ とします。

$$
q_i = q_i(r_1, \cdots, r_n, t) \ (i=1,\cdots, n) \tag{1) (座標の変換}
$$

いくつか計算しておきます。
以下変数を明示しませんが、関数としての $q_i, \dot{q_i}$ (偏微分の分子にくる場合)の独立変数は $(r_1,\dot{r_1}, \cdots, r_n, \dot{r_n}, t)$ です。

また例の簡約記法で、同じ添字同士は和をとるものとして $\sum$ を省略します。

$$
\begin{eqnarray}
\dfrac{\partial q_i}{\partial \dot{r_j}} &=& 0 \tag{2)(座標変換は速度に非依存}\\
\dot{q_i} &=& \dfrac{d q_i}{dt} \\
&=& \dfrac{\partial q_i}{\partial r_k} \dot{r_k} + \dfrac{\partial q_i}{\partial t} \tag{3)(速度の変換} \\
\end{eqnarray}
$$

上の $\dot{q_i}\ の式を\ r_j, \dot{r_j} $ で偏微分すると

$$
\begin{eqnarray}
\dfrac{\partial \dot{q_i}}{\partial r_j}
&=& \dfrac{\partial^2 q_i}{\partial r_j \partial r_k} \dot{r_k}
+ \dfrac{\partial^2 q_i}{\partial t \partial r_j}
\\
&=& \dfrac{d}{dt} (\dfrac{\partial q_i}{\partial r_j}) \tag{速度の座標微分の変換}\\
\dfrac{\partial \dot{q_i}}{\partial \dot{r_j}} &=& \dfrac{\partial q_i}{\partial r_j} \tag{速度の速度微分の変換} \\
\end{eqnarray}
$$

ラグランジアンの変換

元のラグランジアンを $L(q_1, \dot{q_1}, \cdots)$ とすると、
これを座標変換したラグランジアン $L’(r_1, \dot{r_1}, \cdots)$ は

$$
\begin{eqnarray}
L’(r_1,\dot{r_1},\cdots) &=&
L(q_1(r_1,\dot{r_1},\cdots,t), \dot{q_1}(r_1,\dot{r_1},\cdots,t), \cdots) \\
\\
\dfrac{\partial L’}{\partial r_i} &=&
\dfrac{\partial L}{\partial q_k} \dfrac{\partial q_k}{\partial r_i} +
\dfrac{\partial L}{\partial \dot{q_k}} \dfrac{\partial \dot{q_k}}{\partial r_i} \\
&=& \dfrac{\partial L}{\partial q_k} \dfrac{\partial q_k}{\partial r_i}
+ \dfrac{\partial L}{\partial \dot{q_k}}
\dfrac{d}{dt} (\dfrac{\partial q_k}{\partial r_i}) \\
\dfrac{\partial L’}{\partial \dot{r_i}} &=&
\dfrac{\partial L}{\partial q_k} \dfrac{\partial q_k}{\partial \dot{r_i}}
+ \dfrac{\partial L}{\partial \dot{q_k}} \dfrac{\partial \dot{q_k}}{\partial \dot{r_i}} \\
&=& \dfrac{\partial L}{\partial \dot{q_k}} \dfrac{\partial q_k}{\partial r_i} \\
\end{eqnarray}
$$

作用積分の変分の変換

変分の変換は

$$
\begin{eqnarray}
\delta q_i(t) &=&
\dfrac{\partial q_i}{\partial r_k} \delta r_k(t)
\tag{時間の偏微分は入らないことに注意} \\
\delta \dot{q_i}(t) &=& \dfrac{d}{dt} \delta q_i(t) \\
&=& \dfrac{d}{dt}(\dfrac{\partial q_i}{\partial r_k}) \delta r_k(t)+
\dfrac{\partial q_i}{\partial r_k} \delta \dot{r_k}(t)
\end{eqnarray}
$$

作用積分とその変分の変換は

$$
\begin{eqnarray}
S’[r_1(t),\cdots,r_n(t)] = \int_A^B dt L’(r_1(t),\dot{r_1}(t),\cdots) \\
(左辺は r_1(t),\cdots,r_n(t) の「汎関数」の意味) \\
\delta S’ = \int_A^B dt (\dfrac{\partial L’}{\partial r_i} \delta r_i
+ \dfrac{\partial L’}{\partial \dot{r_i}} \delta \dot{r_i}) \\
\end{eqnarray}
$$

積分の中の2つ目の項は

$$
\begin{eqnarray}
\dfrac{\partial L’}{\partial \dot{r_i}} \delta \dot{r_i}
&=& \dfrac{\partial L}{\partial \dot{q_k}}
\dfrac{\partial q_k}{\partial r_i} \delta \dot{r_i} \\
\end{eqnarray}
$$

最初の項は

$$
\begin{eqnarray}
\dfrac{\partial L’}{\partial r_i} \delta r_i &=&
\dfrac{\partial L}{\partial q_k} \dfrac{\partial q_k}{\partial r_i} \delta r_i
+ \dfrac{\partial L}{\partial \dot{q_k}} \dfrac{\partial \dot{q_k}}{\partial r_i} \delta r_i \\
&=& \dfrac{\partial L}{\partial q_k} \delta q_k
+ \dfrac{\partial L}{\partial \dot{q_k}} \dfrac{d}{dt} (\dfrac{\partial q_k}{\partial r_i}) \delta r_i \\
&=& \dfrac{\partial L}{\partial q_k} \delta q_k
+ \dfrac{\partial L}{\partial \dot{q_k}} (\delta \dot{q_k} -
\dfrac{\partial q_k}{\partial r_j} \delta \dot{r_j}) \\
&=& \dfrac{\partial L}{\partial q_k} \delta q_k
+ \dfrac{\partial L}{\partial \dot{q_k}} \delta \dot{q_k} -
\dfrac{\partial L}{\partial \dot{q_k}} \dfrac{\partial q_k}{\partial r_j} \delta \dot{r_j}
\end{eqnarray}
$$

2つを加えて積分すると、元の座標でのオイラー・ラグランジュ方程式から

$$
\begin{eqnarray}
\delta S’
&=& \int_A^B dt \delta q_k (\dfrac{\partial L}{\partial q_k} -
\dfrac{d}{dt}(\dfrac{\partial L}{\partial \dot{q_k}})) \\
&=& 0
\end{eqnarray}
$$

一方 $\delta S’$ を $\delta r_i$ で表すと

$$
\begin{eqnarray}
\delta S’ &=&
\int_A^B dt \delta r_i (\dfrac{\partial L’}{\partial r_i}
- \dfrac{d}{dt}(\dfrac{\partial L’}{\partial \dot{r_i}}))
\end{eqnarray}
$$

上は $i$ についての和ですが、$\delta r_i$ は任意なので、

$$
\dfrac{d}{dt}(\dfrac{\partial L’}{\partial \dot{r_i}}) =
\dfrac{\partial L’}{\partial r_i}
$$

結局、(時間依存の)座標変換後も同じ形の オイラー・ラグランジュ方程式が成り立つことがわかりました。

オイラー・ラグランジュ方程式を直接変換

変分を使わずに、方程式を直接座標変換してももちろんできます。

$$
\begin{eqnarray}
\dfrac{d}{dt} ( \dfrac{\partial L’}{\partial \dot{r_i}} ) &=&
\dfrac{d}{dt} (
\dfrac{\partial L}{\partial q_k} \dfrac{\partial q_k}{\partial \dot{r_i}}
+ \dfrac{\partial L}{\partial \dot{q_k}} \dfrac{\partial \dot{q_k}}{\partial \dot{r_i}}) \\
&=& \dfrac{d}{dt} ( \dfrac{\partial L}{\partial \dot{q_k}} \dfrac{\partial q_k}{\partial r_i}) \\
&=& \dfrac{d}{dt} ( \dfrac{\partial L}{\partial \dot{q_k}}) \dfrac{\partial q_k}{\partial r_i}
+ \dfrac{\partial L}{\partial \dot{q_k}}
\dfrac{d}{dt} (\dfrac{\partial q_k}{\partial r_i}) \\
\end{eqnarray}
$$

一方

$$
\begin{eqnarray}
\dfrac{\partial L’}{\partial r_i} &=&
\dfrac{\partial L}{\partial q_k} \dfrac{\partial q_k}{\partial r_i}
+ \dfrac{\partial L}{\partial \dot{q_k}} \dfrac{\partial \dot{q_k}}{\partial r_i} \\
&=& \dfrac{\partial L}{\partial q_k} \dfrac{\partial q_k}{\partial r_i}
+ \dfrac{\partial L}{\partial \dot{q_k}}
\dfrac{d}{dt}(\dfrac{\partial q_k}{\partial r_i}) \\
\end{eqnarray}
$$

2つの差をとれば、

$$
\begin{eqnarray}
\dfrac{d}{dt} (\dfrac{\partial L’}{\partial \dot{r_i}} ) -
\dfrac{\partial L’}{\partial r_i} &=&
(\dfrac{d}{dt} (\dfrac{\partial L}{\partial \dot{q_k}}) -
\dfrac{\partial L}{\partial q_k})
\dfrac{\partial q_k}{\partial r_i}
&=& 0
\end{eqnarray}
$$

結局、時間依存の座標変換の場合でも

$$
\dfrac{\partial \dot{q_i}}{\partial r_j}
= \dfrac{d}{dt} (\dfrac{\partial q_i}{\partial r_j}) \tag{速度の座標微分の変換}\\
$$

が成り立ち、オイラー・ラグランジュ方程式は不変(共変的)となることが分かりました。

なお上の変換はラグランジアンの具体的な形には依存していないので、

へんなこと?

上で説明した変分の場合、直接座標変換の場合いずれでも、
座標変換が1対1(逆変換を持つ)であることは、(表面的には)一切使っていません。

極端な場合、各座標の変数の数が違ってもよいことになります。

$$
q_i = q_i(r_1, \cdots, r_m, t) \ (i=1,\cdots, n)
$$

これはどういうことなんでしょうか? それとも、単にわたしの勘違い??


ここでは変換後の変分 $\delta r_k$ から元の座標系での変分 $\delta q_i$ を導いていますが、
元のクロメルさんの記事では、逆に、元の座標系での変分 $\delta q_i$ から変換後の変分 $\delta \eta_k$ を導いています。

このためクロメルさんの (7) 式は、逆変換を持つことが前提になっています。
また (8) (9) 式は間違ってる気がしますが?

とりあえず以上です。疲れた~

Read More

2015-07-25
間違い報告: オイラー・ラグランジュ方程式の座標非依存性(クロメル著)

http://hooktail.sub.jp/analytic/coodindep/

式の書き方だけの問題 と思いますが、いくつかへんです。

$$
q_i = f_i(\eta_j) \ \ \ (i,j = 1,2, \cdots n) \tag{2}
$$

これでは $f_i$ は $\eta_j$ の1変数関数になってしまい、意味不明です。
以下の意味では?

$$
q_i = f_i(\eta_1, …, \eta_n) \ \ \ (i = 1,2, \cdots n) \tag{2’}
$$

以下も同様です。

$$
S = \sum_{i=1}^n \int_A^B L(q_i , \dot{q}_i) dt \tag{3}
$$

これでは以下のように、異なる座標間で何の相互作用もない、つまらないラグランジアンしか作れません。

$$
\int_A^B dt \{ L(q_1 , \dot{q}_1) + … + L(q_n , \dot{q}_n) \}
$$

以下の意味では?

$$
\int_A^B dt L(q_1, \dot{q}_1, …, q_n , \dot{q}_n)
$$

従って (4) 式は以下のような感じになると思います。
要は $\delta q_i, \delta \dot{q}_i$ を外に出してからでないと、$\sum$ の形にはなりません。

$$
\begin{eqnarray}
\delta S &=& \delta \int_A^B L(q_1 , \dot{q}_1, …) dt \\
&=& \int_A^B \left\{ L(q_1 + \delta q_1, \dot{q}_1+\delta \dot{q}_1, …) - L(q_1 , \dot{q}_1, …) \right\} dt \\
&=& \sum_{i=1}^n \int_A^B \left( \dfrac{\partial L(q_1, \dot{q}_1, …)}{\partial q_i} \delta q_i + \dfrac{\partial L(q_1, \dot{q}_1, …)}{\partial \dot{q}_i} \delta \dot{q}_i \right) dt \tag{4’} \\
&=& …
\end{eqnarray}
$$

とりあえず以上です。

Read More

2015-07-25
間違い報告: 既約と可約(Joh著)などなど

間違い報告:既約と可約(Joh著)などなど

Johさんは一杯書いてくれていてうれしいのですが、
ときどきへんな・間違った思い込みで突っ走ってしまうときがあるようです :-)

ざっと見ただけで、また全然詳しくはないのですが、
明らかな間違いがいくつかあるので報告しておきます。

(7/26)参考情報として、「多項式の因数分解と微分」を最後に追加

既約と可約(Joh著)

http://hooktail.sub.jp/algebra/Reducible/ の最後

定理

(標数 0 の係数体上の)既約な代数方程式は、重解を持ちません。 

証明(完全にまちがい!) ※1

体 $F$ 上既約な多項式 $f(x)=c_{0}+c_{1}x+…+c_{n}x^{n}$ を考えます。
もしも $f(x)$ が $m$ 重解 $\alpha$ を持つとすると、
$f(x)=c(x-\alpha )^{m}(x-{\alpha}_{1})\cdot \cdot \cdot (x-{\alpha}_{n-m})$ と書けるはずです。
これは、 $f(x)$ が $(x-\alpha )$ で可約だということを意味しますから、既約な多項式だという仮定に反します。

間違い箇所 ※2

$f(x)$ は $F$ 上既約なので、上の $\alpha$ はもちろん $F$ の元ではなく、
$f(x)$ が $(x-\alpha )$ で可約だということを 意味しません

たとえば 有理数体上の多項式 $f(x)$ が拡大体上で
$f(x)=(x - \sqrt{2})^{2}g(x)$ と分解できたとしても、
$(x - \sqrt{2})^2 = (x^2- 2\sqrt{2}x + 2)$ は有理数体上の多項式ではありません。

実は $g(x)$ のほうが必ず $(x + \sqrt{2})^2$ を因子にもつため、
これと合わさって $f(x) = (x^2 - 2)^{2}h(x)$ となり、有理数体上で可約になるのです。

以降、これと類似した間違いがいくつかあります。訂正は ※3 に後述。

代数的拡大体と最小多項式(Joh著)

http://hooktail.sub.jp/algebra/AlgebraicExtension/#id4

注および説明(へん!)

例えば 2 は x−2=0 の解ですが, (x−4)(x−3)(x−2)=0 の解でもあります.本質的に, 2 は (x−2) の部分だけから出てくるわけですが,このように関係ない因数を加えて次数を上げていけば, 2 を解とする代数方程式自体は無限にあることが分かります.

説明

最小多項式には次の重要な性質があります.

最小多項式は F 上既約です.
最小多項式は α を解とする, F 上の全ての多項式を割ることが出来ます.
これらの性質は,上の注に補足したイメージを持っていれば明らかでしょう.

へんな箇所

上の注の例は無意味で、そのイメージでは全然明らかでないです。

ポイントは F 上の多項式が F 上にない α を根に持つなら、
必ず F 上にない他の根(α に共役な根)も持たなければいけない、ということです。

  • 共役な根は1つ以上のときもあります
  • 根と係数の関係、を満たすためには F 上にない他の根が必要ということ
  • Joh さん自身が書いているではないですか
    http://hooktail.sub.jp/algebra/NormalExtension/

証明は簡単です。

  • α は代数的数、よってそれを根とする F 上の多項式が存在
  • そのうち次数が最小のものの1つを h(x) とする(定数倍を除いて1つに決まる). 当然 h(a) = 0
  • F 上で h(x)=g(x)k(x) なら g(α)=0 or k(α)=0 ‥(A)
  • α を根とする F 上の多項式を h(x) で割った余りを r(x) とすれば r(α)=0 ‥(B)

h(x) は最小次数だったので、h(x) は (A)より F 上既約で、(B)より α を根とする F上のすべての多項式を割り切ることがわかります。

段落最後の例 (まちがい!)

$Q(\omega)$ ($\omega$ は 1 の三乗根)の元が $a+\omega b+\omega^{2} c$ の形に書ける

訂正

$\omega$ は $\omega^{2} + \omega + 1=0$ の根なので、$\omega^{2}=-(\omega+1)$です。
すなわち $Q(\omega)$ は2次の拡大で、その元は $a’+\omega b’$ と書けます。

なお $\alpha=\sqrt[3]{2}$ なら最小多項式は $(x^3 - 2)$ で、
$Q(\sqrt[3]{2})$ は3次の拡大で、$a + b \sqrt[3]{2} + c \sqrt[3]{2}^2$ と書けます。
しかし $(x^3 - 2)$ の他の2根 $\sqrt[3]{2} \omega$ $\sqrt[3]{2} \omega^2$ は $Q(\sqrt[3]{2})$ にはありません。
すべての根を含むには 6次の拡大 $Q(\sqrt[3]{2}, \omega)$ が必要です。

標数(Joh著)

http://hooktail.sub.jp/algebra/Characteristic/#id6

定理

有限体 F の位数を |F|=q ,標数を p , 素体を F0 とします. [F:F0]=n のとき,
$q=p^n$ がなりたちます.

その証明(不完全)

これでは 位数 $q=p^n$ の体が存在すること、が示されていません.

分離拡大体(Joh著)

標数0の場合(※1と同じ。完全にまちがい!)

http://hooktail.sub.jp/algebra/SeparableExtension/#id2

公約元 $(x−\alpha)$ を持ちますので,既約ではありません.

$(x−\alpha)$ は F 上の多項式ではないので、これはとんでもないまちがいです。

訂正 ※3

公約元として α の最小多項式をもつので、既約ではありません.

$f(x)$ と $f’(x)$ が共通因子 $(x - \alpha)$ を持つとする。
$\alpha$ の最小多項式を $h(x)$ とすると、$h(x)$ は $f(x),f’(x)$ を割り切るが、
$f’(x)$ の次数は $f(x)$ より 1 小さいので、$h(x)$ の次数は $f(x)$ より 1 以上小さい。
したがって $f(x)$ は $h(x)$ の定数倍ではなく、従って可約である。

標数≠0の場合、の説明(完全にまちがい!)

http://hooktail.sub.jp/algebra/SeparableExtension/#id3

… この体 F 上で,方程式 $f(x)=x^p+a$ を考えて見ましょう.
これは確かに 既約 ですが…

$x^n+a^n=(x+a)^n$
左辺は 既約 ですが…

間違い理由

とんでもないです。上の2つとも既約であるとは限りません。

例えば 標数 3 の素体 $F_{3} = \{0,1,2\}$ 上では、以下のように因数分解できます。

$$
x^3 + 1 = x^3 + 1^3 = (x + 1)^3 \\
x^3 + 2 = x^3 + 2^3 = (x + 2)^3 \\
$$

標数 p が素数の素体では、任意の元 $a$ に対して $a^p=a$ (フェルマーの小定理!)、すなわち自分自身が自分の p 乗根です。

さらに、標数 p の有限体 K では、$\forall \beta \in K$ に対して、$\beta$ の p 乗根 $\beta^{1/p}$ がただ1つ存在し、
有限体 K の任意の代数的拡大は分離拡大である、とのことです。

  • 松坂和夫 代数系入門 p.272 問題 4, 5

従って、既約だが重根をもつ例をつくるには、
標数 p ≠ 0 の無限体、例えば有限体上の有理関数、などを考える必要があります。

とりあえず以上です。疲れた~


参考: 多項式の因数分解と微分 (7/26 追記)

重根の有無の判定に微分を使いますが、誰が考えたのか賢い方法ですね。
y = f(x) のグラフを描くと、重根のときには x 軸に接する、すなわち f(x) = 0, f’(x) = 0 となる x が重根になるわけです。

これに関連して、(おおきな)多項式を因数分解するときには、まず微分して重根を持つかを調べる
というのが鉄則みたいです。

すなわち f(x) をまず $f(x) = a_1(x) a_2(x)^2 a_3(x)^3 .. a_k(x)^k$ の形に因数分解します。
square-free factorization

これは高速かつ簡単にできます。

  • f(x) の微分 f’(x) を求める ~ 多項式の微分は簡単!
  • f(x) と f’(x) の最大公約因子 m(x) を求める
    • これはユークリッドの互除法により高速にできます
  • 最大公約因子 m(x) が 0 次でなければ、それで f(x) を割っていけば、
    $f(x) = m(x)^k g(x)$ の k (≧ 2)と g(x) が求まります.
    すなわち因数分解が一段階できたことになります。
    多項式の割り算は手動では面倒ですが、プログラムを作れば簡単
  • 次に g(x) に対して同じことを繰り返せば、上の square-free factorization の形になります
  • そのあと、 $a_1(x), a_2(x) …$ それぞれの因数分解を試みます
    • この因数分解の決定的な方法は知られていません.
      しかしラッキーなら $a_1(x), a_2(x) …$ それぞれの次数は元の f(x) より大幅に小さいくなっているはずです

因数分解には通常、なんらかの 試行錯誤 が必要ですが、
square-free factorization までは、多項式の微分、割り算、ユークリッドの互除法という決定的かつ効率のよい方法でできてしまう、ということです。

以上、参考情報でした。

Read More

2015-06-09
HTTP Refefer ヘッダー問題

知る人ぞ知る、知らない人は知らない(あたりまえだけど)、
セキュリティに間する HTTP Refefer ヘッダー問題 というのがある。

HTTP Refefer ヘッダー問題

あなたの知らないうちに

対策

google visualization

Read More

2015-06-09
査読レポート: divは完全情報か?(クロメル著)

2015-06-09 訂正、その他

電荷からでる電場は等方的であると言う前提

*点電荷から、がよいのでは?

2015-06-07 22:45 追記、一応の結論?

レポートの訂正と、一応の結論です。

kuhcrow >

ところで、式 (15)と(16) の E は明らかに異なるベクトル場ですが、
どちらも ${\rm rot} {\mathbf E} = 0$ ですよね。
異なる $\bf E$ が同じ ${\rm div} {\bf E}$ になるのは、
上の 「v(r) が十分遠く (r → ∞) で消えている」が成り立たないせいでしょうか?

本質的でないので、電荷分布 $f(x)$ はX軸上に一様無限に線密度 $\sigma$ で分布しているとします。すなわち
$$\rho(x,y,z) = \sigma \delta(y) \delta(z)$$

また面倒なので以下では $\varepsilon_0 = 1$ とします。

すると通常の解は簡単に求まって(といいながら、間違ってるかも)、
$${\bf E}(x,y,x) = \frac{\sigma} {2 \pi \sqrt{y^2 + z^2}}
(0, y, z)
$$

一方 $F_y = F_z = 0$ となるような解は ${F_x}(x,y,x) = \sigma \delta(y) \delta(z)$ より

$${\bf F}(x,y,x) = (\sigma x \delta(y) \delta(z), 0, 0)$$

しかし $\bf{F}$ の rotation は 0 ではなさそうです。
$${\rm rot} {\bf F} = (0, -x \delta(y) \Delta(z), x \Delta(y) \delta(z))$$

ここで $\Delta(w) = d \delta(w)/dw $ (デルタ関数の微分に意味があるかは知らないけど‥)

というわけで、やっはり 渦だけ成分が通常の(=渦なしの) $\bf {E}$ と異なってるようです。

なぜ物理(静電気学)ではこの違いを無視するのか不思議ですが、
wikipedia にありました。
静電近似 というらしいです。


2015-06-07 2回目

クロメル>

ちょっと書き直してみました。

一番の主張は、同じdivEをもつ場からEの分布を復元できるか?という質問に
いや、それは出来ない(数学)。
はい、それは出来ます(物理)。
と言う、ずれがあるよ。と言うことです。

http://hooktail.maxwell.jp/kagi/237af3796ea3e44befcc7efa3a27944e.html

少し言いたいことが分かってきました。もう少し整理?

数学

ja.wikipedia 発散_(ベクトル解析)

R3 内の少なくとも二回連続的微分可能な定常流束 v(r) が十分遠く (r → ∞) で消えているならば、v(r) は無回転成分 (irrotational part) E(r) と無発散成分 (source-free part) B(r) に分解される。

さらに、スカラーポテンシャル、ベクトルポテンシャルが存在して以下のように表せる。

${\mathbf {E}}=-\nabla \Phi ({\mathbf {r}}),\quad rot(\mathbf {E}) = 0$
${\mathbf {B}}=\nabla \times {\mathbf {A}}({\mathbf {r}}),\quad div(\mathbf {B})=0$

なお個人的には、上の E は渦なし成分、B は渦だけ成分、と覚えています。

物理

クロメル>
つまり,電荷からでる電場は等方的であると言う前提があって初めて電場は決定されるのです.

点電荷 からでる電場は等方的なのでは。でもこれは(当然の)結果であって、前提ではない?

クロメル>
同じ div を持つ関数でも,数学的には異なるベクトル場を表すことがある.一方,物理(電磁気学)的には異なるベクトル場は排除され,ただ一通りに決まる.

というより、物理では式(2) のように、静電場を考えるときには上の ${\mathbf {B}}$
(渦だけ成分)の違いは無視する、ということが前提なのでは。

(13:40 以下ちょっと修正)

なお式 (15)と(16) の E, φ は異なるものなので、記号を替えたほうがよいかと。

  • (9)などの G も同様
  • (17)の右辺も $f(x) \delta(y) \delta(z) / \varepsilon_0$ にしないと

ところで、式 (15)と(16) の E は明らかに異なるベクトル場ですが、
どちらも $rot(\mathbf E) = 0$ ですよね。

異なる E が同じ div E になるのは、
上の 「v(r) が十分遠く (r → ∞) で消えている」が成り立たないせいでしょうか?


2015-06-06 1回目

以下の査読レポートというか、感想・たわごとです。
divは完全情報か?(クロメル著)

最初に思ったこと

ナブラを使ったダイバージェンス(発散)は,内積みたいだけど,情報は失われるのか?と言うのが今回のテーマです.

という始まりだったので、可逆計算・不可逆計算の話かと思った。

  • a + b を計算して、他の情報を忘れると a,b は再現できない(不可逆計算)
  • でも、 a - b も同時に計算して覚えるなら再現できる(可逆計算)
  • a が実数、b が純虚数なら a + b からa,b が再現できる(可逆計算)

でもなにか違うみたい?

ja.wikipedia ランダウアーの原理

定量的には、情報処理過程において1ビット(=1シャノン)の情報を失うとき、環境での熱力学的エントロピーの上昇も最低でも1ビットとなる。通常の物理的単位で表すならこれは k ln 2 であり、よって環境に放出される熱は最低でも k T ln 2 となる(ただし、 k はボルツマン定数、T は絶対温度)。この限界値は、ランダウアーの限界 (Landauer’s limit) もしくはフォン・ノイマン=ランダウアーの限界と呼ばれる。

次に思ったこと

微分でも当然情報は失われる 

  • $df/dx = dg/dx$ なら $d(f-g)/dx = 0$ 、よって $f(x) - g(x) = 定数$
  • 定数分の情報がなくなる

$div$ でも同様

  • $div E = div F$ なら $div (E - F) = 0$
  • $E - F = \nabla \times {\mathbf {A}}$ (無発散成分) だけの違いが分からなくなる
    • あってる? これって ゲージ変換 でしたっけ?

バグ?

ずばり式(2)です.ここで, $\phi$ をデルタ関数とした時を考えると,電場は等方的に広がります.

式(2)でなくて式(1)、$\phi$ でなくて、電荷分布 $\rho$ のほうでは?

以降、正直言って論旨が分からない…

式(9)

この式は y,z 方向には何も言及していません.簡単のため, y,z の電場成分をゼロとします.すると,これは一次元の問題となり,

でもこれでは $G({\bf r} -{\bf r}^\prime)$ は 式(9) の解にならないでしょ?
以下は右辺が $- \delta(x-x^\prime) / \varepsilon_0$ の場合を議論しているように思えます。

でもこれだと(6)式と右辺が異なるので、同じ $\rm{div}$ を持つ関数ではないと思いますが。。。

Read More

2014-06-30
氷の厚さ?

以前 hooktail の google group に投稿した記事ですが、
あとで使うかもしれないので、再掲しておきます。

https://groups.google.com/d/topic/bulletin_hooktail_of_phys/UK_pME77Nx4/discussion

気温が下がって、池の水が凍り始めた。
凍り初めてからの時間を t とすると、
氷の厚さは t の平方根に比例することを示せ。

わたしの回答

Read More

1970-07-07
Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

Read More