PARACENTRIC CURVE

概要

ライプニッツは1689年にイソクロナ・パラケントリカを求めよと書いた。イソクロナ・パラケントリカは最速降下曲線(ブラッキストクロン, brachistochrone)に類似した曲線である。

最速降下曲線は2点間A, Bを結ぶ曲線で、その曲線に沿って質点が重力による影響のみで移動した場合に最短時間でAからBに移動できるという条件を満す曲線である。これはサイクロイドであることが知られている。

イソクロナ・パラケントリカは質点がその曲線に沿って質点が重力による影響のみで移動した場合に開始点から遠ざかる速度と近づく速度が一定になるという条件を満す曲線である。

イソクロナ・パラケントリカの研究からヨハン・ベルヌーイ/ヤコブ・ベルヌーイがレムニスケート曲線を得たという史実がある。

この時以下のような方程式が得られ、レムニスケート曲線に至ったようだ。

\[ (x dx + y dy)\sqrt{y} = (x dy – y dx) \sqrt{a} \]

イソクロナ・パラケントリカの導出から上述の式までを関連づけられないかと考えたため、この文章を書いた。

条件を表現する微分方程式

Paracentric curve を参考に以下の2式を使用する.

\[ \frac{d\rho}{dt} = c t e = v \tag{1}\label{eq:cond1} \]

\[ (\frac{ds}{dt})^{2} = 2 g (y-y_{0}) \tag{2}\label{eq:cond2} \]

数式 \eqref{eq:cond1} はイソクロナ・パラケントリカの特有の条件を表わしている。すなわち、開始点から遠ざかる速度と近づく速度が一定というものである。

数式 \eqref{eq:cond2} はエネルギー保存則を表現しているものである。

極座標の微分方程式

数式 \eqref{eq:cond2} を数式 \eqref{eq:cond1} を二乗したもので割ると

\[ (\frac{ds}{d\rho})^{2} = \frac{2g(y-y_{0})}{v^{2}} \tag{3}\label{eq:polar1} \]

極座標の線素を以下のように表示する。

\[ ds = \sqrt{(d\rho)^{2}+(\rho d \theta)^{2}} = \sqrt{1 + \rho^{2}(\frac{d\theta}{d\rho})} d\rho \tag{4}\label{eq:polar2} \]

数式 \eqref{eq:polar1} の左辺を数式 \eqref{eq:polar1} を用いて変形する。

\[ (\frac{ds}{d\rho})^{2} = \frac{1 + \rho^{2}(\frac{d\theta}{d\rho})^{2} d\rho^{2}}{d\rho^{2}} = 1 + \rho^{2} (\frac{d\theta}{d\rho})^{2} \tag{5}\label{eq:polar3} \]

数式 \eqref{eq:polar1} の右辺を \(y_{0}=\frac{-v^{2}}{2g} \Leftrightarrow \frac{2g}{v^{2}}=-\frac{1}{y_{0}}\) を用いて変形する。

\[ \frac{2g(y-y_{0})}{v^{2}} = – \frac{1}{y_{0}}(y-y+0) = 1 – \frac{y}{y_{0}} \tag{6}\label{eq:polar4} \]

数式 \eqref{eq:polar3} と数式 \eqref{eq:polar4} を等値して、変形する。

\begin{align*}
1 + \rho^{2} (\frac{d\theta}{d\rho})^{2} &= 1 – \frac{y}{y_{0}} \\
\rho^{2} (\frac{d\theta}{d\rho})^{2} &= – \frac{y}{y_{0}} \\
\rho^{2} &= – \frac{y}{y_{0}} (\frac{d\rho}{d\theta})^{2} \\
– y_{0} \rho^{2} &= \frac{y}{\rho} (\frac{d\rho}{d\theta})^{2} \\
– y_{0} \rho^{2} &= \sin \theta (\frac{d\rho}{d\theta})^{2} \tag{7}\label{eq:polar5} \\
\end{align*}

直交座標へ

極座標の微分方程式を直交座標の微分方程式に変換する。

\[ \frac{dy}{dx} = \frac{\frac{d\rho}{d\theta} \sin \theta + r \sin \theta}{\frac{d\rho}{d\theta} \cos \theta – r \sin \theta} \tag{8}\label{eq:orth1} \]

数式 \eqref{eq:orth1} を \(\frac{d\rho}{d\theta}\) に関する式に直す。

\[ \frac{d\rho}{d\theta} = \sqrt{x^{2}+y^{2}} \frac{\frac{dy}{dx}+x}{\frac{dy}{dx}-y} \tag{9}\label{eq:orth2} \]

数式 \eqref{eq:polar5} を数式 \eqref{eq:orth2} を使って変形してゆく。

\begin{align*}
-y_{0}\sqrt{x^{2}+y^{2}} &= \frac{y}{\sqrt{x^{2}+y^{2}}}(\frac{d\rho}{d\theta})^{2} \\
\frac{-y_{0}(x^{2}+y^{2})}{y} &= (\frac{d\rho}{d\theta})^{2} \\
\sqrt{\frac{-y_{0}(x^{2}+y^{2})}{y}} &= \sqrt{x^{2}+y^{2}} \frac{\frac{dy}{dx}y+x}{\frac{dy}{dx}x-y} \\
\sqrt{\frac{-y_{0}}{y}} &= \frac{\frac{dy}{dx}y+x}{\frac{dy}{dx}x-y} \\
\sqrt{\frac{-y_{0}}{y}} (\frac{dy}{dx}x-y) &= \frac{dy}{dx}y+x \\
\sqrt{-y_{0}} (\frac{dy}{dx}x-y) &= \sqrt{y} \frac{dy}{dx}y+x \\
\sqrt{-y_{0}} (x dy – y dx) &= \sqrt{y} (y dy + x dx) \\
\sqrt{y} (y dy + x dx) &= \sqrt{-y_{0}} (x dy – y dx) \\
(x dx + y dy) \sqrt{y} &= (x dy – y dx) \sqrt{-y_{0}}
\end{align*}

\(a=-y_{0}\) とすれば、冒頭の式が得られる。

8n+1型の素数を y^2-2z^2 という形であらわす

概要

タイトルのとおりだが、素数を2次形式で表現する手法がある。これをスクリプトで求めてみる。

コード

まず1000以下の素数を収集する。

import sympy

primes = []
for p in sympy.primerange(1000):
    if p % 8 == 1:
        primes.append(p)
print(primes)
[17, 41, 73, 89, 97, 113, 137, 193, 233, 241, 257, 281, 313, 337, 353, 401, 409, 433, 449, 457, 521, 569, 577, 593, 601, 617, 641, 673, 761, 769, 809, 857, 881, 929, 937, 953, 977]

前記であつめた素数を走査して、その素数以下のzを走査して \(y^2 = p+2z^2\) を求め、完全平方数かを判定する。

for p in primes:
    for z in range(p):
        y2 = p + 2 * z * z
        if y2 <= 0:
            break
        y, flg = sympy.integer_nthroot(y2, 2)
        if flg:
            assert p == y * y - 2 * z * z
            print(f"{p:3} = {y:2}^2 - 2 * {z:2}^2")
            # 複数あるが、最初のひとつ以外は除外する
            break
 17 =  5^2 - 2 *  2^2
 41 =  7^2 - 2 *  2^2
 73 =  9^2 - 2 *  2^2
 89 = 11^2 - 2 *  4^2
 97 = 13^2 - 2 *  6^2
113 = 11^2 - 2 *  2^2
137 = 13^2 - 2 *  4^2
193 = 15^2 - 2 *  4^2
233 = 19^2 - 2 *  8^2
241 = 21^2 - 2 * 10^2
257 = 17^2 - 2 *  4^2
281 = 17^2 - 2 *  2^2
313 = 21^2 - 2 *  8^2
337 = 25^2 - 2 * 12^2
353 = 19^2 - 2 *  2^2
401 = 23^2 - 2 *  8^2
409 = 21^2 - 2 *  4^2
433 = 21^2 - 2 *  2^2
449 = 29^2 - 2 * 14^2
457 = 23^2 - 2 *  6^2
521 = 23^2 - 2 *  2^2
569 = 31^2 - 2 * 14^2
577 = 33^2 - 2 * 16^2
593 = 25^2 - 2 *  4^2
601 = 27^2 - 2 *  8^2
617 = 25^2 - 2 *  2^2
641 = 29^2 - 2 * 10^2
673 = 31^2 - 2 * 12^2
761 = 31^2 - 2 * 10^2
769 = 29^2 - 2 *  6^2
809 = 29^2 - 2 *  4^2
857 = 37^2 - 2 * 16^2
881 = 41^2 - 2 * 20^2
929 = 31^2 - 2 *  4^2
937 = 35^2 - 2 * 12^2
953 = 31^2 - 2 *  2^2
977 = 37^2 - 2 * 14^2

参考文献