牟礼神社にある和算の算額:性懲りもなく第一問に続き第二問を調べてみる。今回は円と楕円の問題

未分類

第一問を軽く振り返ると

前回の記事では、長野県飯綱町の牟礼神社には算額があり、それも算額の館のサイトで細部まで公開されていることがわかり、そこにある数学の問題とは一体どんなものなのかを見てみました。三題の数学の問題があり、算額の館にある解説をもとに、まずは第一問の、問題の解釈とその解法を現代的な数学で行うとどんな感じかを紹介してみました。そこでは今の数学なら三角関数やサイクロイドの数学を必要とする問題が展開されていました。

というわけで第二問も見てみたいと思います

今回も問題の読解(ちょっとAIも援用)したり解法の解説をしたりしてみたいと思います。

まずは問題の現物を眺めてみる

まずは問題文の画像を。和算の館のサイトで公開されている、清書されたものです:

算額の問題でよく見かける(?)、円や球を特定の形に詰め込んだときのその大きさを求めるような問題に見えますね。

いきなり余談ですが、問題の画像を見たとき、個人的にはその絵が量子力学波動関数に見えて(注:ある程度理系の知識がある方なら同意してもらえるかも)、「ついに算額で量子力学キター」などと一瞬(ほんの瞬間だけ)思いましたが、もちろん、色んな意味であり得ませんね。例えば時代的には、前の記事に書きましたがこの算額が作られたのは1898年作ということで、それは例えば特殊相対性理論が発表される(1905年)より前の時代で、量子力学はもっと後年のことですね。この時点でそこまで日本の科学が進んでいたら日本の近代の歴史も… おっとこれは妄想かつ余談すぎる。

問題文の書き起こし、そしてAIを使った翻訳

問題文の文章を文字起こしすると以下の通りです:

今有如圖容長立圓内甲球(二個)乙球(三個)充内無動長徑若干短徑若干得甲球徑問術如何

例によって機械翻訳:これはDeepL翻訳が割といい感じでした。

図のように円の中に甲球(2個)と乙球(3個)が配置されている。球体内部は空洞で、長径と短径がそれぞれある。甲球の直径を求める計算式は何か。

和算の算額でよくある(?)、何かの図形に複数の円が詰まっていてそれらの半径を求めたりする問題のようですが、外側が楕円というのが少し新しいというか難しいかもしれません。

続いて解答文の文字起こしと翻訳

そして解答の文です:

術曰置三箇開平方倍之内減三箇餘乘短徑倍之乘短徑冪以長徑羃除之以減短徑得甲球徑合問

ではまたDeepL翻訳に任せてみると:

術曰く、三箇の平方根倍の内より三箇の余を差し引き、短径倍を乗じ、短径乗を長径で除し、これを短径より減じて甲球の径を得る。問合す。

おっとこれは「漢文の書き下し」ですね。まあ悪くないんですけどできれば現代語に。

というわけで今回はChatGPTに任せてみました。
まずは以下のようなことを言ってきます:

はい。この文は古代中国の数学書(おそらく『九章算術』やその系統の注釈書)に見られるような文体です。非常に古い算術的な表現なので、現代日本語に直すと少し意訳が必要です。順を追って解読します。

興味深い。これは、AIがどういう分野の話題を扱うか最初に探りを入れている感じ? 効率よく処理を進めるために必要なのかもしれないですね。

ってまあ今はAI自体のことは置いといて、好意的にこの分析を解釈しましょう。
この問題文には古代中国の数学書の特徴があるということですね。この問題だけが特別とも思えないので、日本の和算の文が全般にそういう感じでしょうか。確かに、さもありなんと思います。
和算家達は算額にあるように中国語で数学を記述しましたが、中国語そのものに詳しいというより、中国伝来の古代の数学書に書かれていた中国語をいわば数学の指示文として理解し、それを使っていた、のではないでしょうか。結果として算額にある問題などには、あたかも古代の中国の数学書の中国語をそのまま引き継いでるような言語上の特徴がありそうではあります。

しかしうまいことChatGPTに我々の意図を先読みされている感じです。まあ、CharGPTは膨大な文献やらネットの情報やらを飲み込んでいて、中には和算に関するものもそれなりにあるだろうし、それでこんなことも言ってもくるのかなという。恐るべしではあります。
で、肝心の解答部分ですが、ChatGPTによると

意訳(現代日本語)
計算法ではこうする。
三を置き、その平方根の2倍を取り、三を減じた残りを短径の2倍に掛け、さらに短径の二乗を掛け、これを長径の二乗で割り、その結果から短径を引けば、「甲の球(第1の球)」の直径(または半径)が求められる。

これはかなり具体的にまとまっています。これまた恐るべし。
と、見せかけて数学的には間違ってますね。「短径を引く」のではありません。「短径から引く」のです。この後、ChatGPTは以下のような数式も見せてくれました:

確かに文章から数式まで起こせることはすごいし、数式も式の形としては非常に近いですが、上の誤認識のせいでこちらも値の符号が間違っています。よくできてるのに初歩的なミスも入る。ChatGPTは今のところ玉石混交と言いますか。とりあえず玉の方だけいただきましょうか。

今の数学による解法の解説

というわけで、以下、人間の人間による人間のための(?) 問題の解法を解説していきたいと思います。

解の計算に入る前に指針を立てる

問題の図からして3次元の問題で、難しそうな印象を与えます。実際、一般的な「3次元的に物を詰める問題」というのは難しいと思います。

ではこの問題の場合ですが、真ん中に同じ大きさの3つの乙球が互いに接しながら水平な三角状に並んでいて、その配置で外側の楕円体に接している1、したがってそれには甲球の大きさは関与しないので、乙球の大きさが外側の楕円体の大きさだけから決まります(この下にある図も参照)。
それにより乙球が決まれば、次に甲球に関して「固定された大きさの楕円体および乙球に接する球」という計算をすればよく、甲球の大きさが定まります。これが実はこの問題のポイントじゃないでしょうか。というわけで

  1. 「乙球の大きさを定める」
  2. 「乙球の大きさが決まった状態で甲球の大きさを決める」

とすることで答えに辿り着けるはずです。それではやってみましょう。

乙球の大きさを定める

乙球は楕円の真ん中に水平に並んでいますから、その水平面の断面で考えるのが有効です。その断面では、外側の楕円体は円になり、三つの乙球(の断面)は以下のように接しているはずです:

三つの同じ大きさの円が楕円体に内接するわけですから、楕円体の断面の大きさと乙球の大きさには関係があるはずです。それは次のように計算できます。
回転楕円体の断面の半径を \(a/2\)、三つの乙球の半径を \(d\) とします。三つの同じ大きさの乙球が接していることで、それらの中心 \(\rm{O}_{1}\)、\(\rm{O}_{2}\)、\(\rm{O}_{3}\) を結んでできる三角形は正三角形になり、また、上の図で三角形 \(\rm{O} \rm{O}_{2} \rm{M}\) はお馴染みの30度60度90度の直角三角形になり、乙球の半径が \(d\) であることから各辺の長さもわかります(図に書いた数値を参照)。
すると、楕円体の断面の半径に相当する線分 \(\rm{NO}\) の長さは $$
\begin{align}
\overline{\rm{NO}} = {a \over 2} &= \overline{\rm{N}\rm{O}_{1}} + \overline{\rm{O}_{1}\rm{M}} \,-\, \overline{\rm{OM}}\\
&= d + \sqrt{3}d \,-\, {d \over \sqrt{3}}
\end{align}
$$ これより $$
d = {2\sqrt{3} \,-\, 3 \over 2}a
$$ 楕円体の短径の大きさ \(a\) が決まればそれに応じて乙球の半径 \(d\) が決まる感じです。

甲球の大きさを定める

今度は、楕円体の中で甲球と乙球が接していることを使って計算をするので、三つの乙球のうち一つの真ん中を縦に割るような垂直な平面で楕円体の断面を取ります(上の図だと \(\rm{NO}\) を通る平面)。すると次の図のようになります(図は楕円体を横に寝かせて書いてあります):

このように、楕円体(断面にすると楕円)と甲の球(断面すると円)、乙の球(同じく円)が接するということを条件として計算します。
前の計算により、乙球の半径 \(d\) は楕円体の短径の値により確定しています。そこで、楕円体と乙球が与えられた状態で、上の図のように接する条件を使って甲球の半径 \(D\) を決めます。

ここで、「楕円と円が接する」という条件をどう使うかが問題です。例えば「円と円が接する」だと、既に乙球と楕円体の計算でやったように、幾何的な性質を色々使えることが多いのですが、楕円ではそうもいきません。
そこで… 楕円も円も二次曲線(円錐曲線)で表すことができるので、それをまず行います。その後それらを方程式的に扱うことにします。

まず楕円の方は、中心が原点にあり、短径(この場合 \(x\) 軸方向の半径)が \(b/2\) 、長径(この場合 \(y\) 軸方向の半径)が \(a/2\) と与えられているので、それを表す式は $$
\left({x \over b/2}\right)^2 + \left({y \over a/2}\right)^2 = 1
$$ になります。
一方甲球(円)の方は、中心が楕円体の回転軸上、上の図では \(x\) 軸上の点 \(O_{1}\) にあり、半径が \(D\) で与えられているので、それを表す式は $$
\left(x \,-\, \overline{\rm{O}\rm{O}_{1}}\right)^2 + y^2 = D^2
$$ になります。

楕円と円が「接する」ということ
接するということは点を共有するということで、方程式で言うと解が存在すると言うことですね。ならば上の楕円の方程式と円の方程式を連立して解けばいいでしょう。
ただし今は「共有点の座標を求める」問題を解いているのではなく「甲球の半径 \(D\) を確定する」ことを求めています。\(D\) は上の円の方程式では半径の値を示す定数です。その定数が満たすべき性質に「楕円と円が接する」という条件を使えるはずです。

では具体的にはどうするか。私が知る限りでは、以下のような方針があります:

  • 楕円と円の接点においては、楕円の接線と円の接線が一致する=両者の接線が同じ場所(=楕円と円の共有点)を通りかつ傾きが同じになる
  • 楕円と円の共有点を求める方程式(二次)で、解が重解になる2

というわけですが、えーっと、既に引用した和算のテキストでは後者の重解の条件で計算しているので、私もここではそれでいきます。いつか前者もやってみます。

まず楕円の方程式と円の方程式で分数を解消して $$
\left\{ \,
\begin{aligned}
& 4a^2 x^2 + 4b^2 y^2 = a^2 b^2 \\
& y^2 = D^2 \,-\, \left(x \,-\, \overline{\rm{O}\rm{O}_2} \right)^2
\end{aligned}
\right.
$$ これは \(x\) と \(y\) の連立方程式なので、まずは解いていきましょう。\(y\) を消去するため、後者を前者に代入して $$
4a^2 x^2 + 4b^2 \left\{ D^2 \,-\, \left(x \,-\, \overline{\rm{O}\rm{O}_2} \right)^2 \right\}
= a^2 b^2
$$ これを展開して整理したのが以下です。 \(x\) の二次方程式になっています $$
4(a^2 \,-\, b^2)x^2 \,-\, 8b^2 \overline{\rm{O}\rm{O}_2} x
+ 4a^2 D^2 \,-\, 4b^2 \overline{\rm{O}\rm{O}_2}^2 \,-\, a^2 b^2 = 0
$$

楕円と円が接する条件の適用

この式に対して、上で書いたように重解の条件を適用します。二次方程式の解の判別式を \(Q\) とすると、\(Q = 0\) が重解の条件ですね。それは以下のように計算されます(一次の係数が偶数の場合のバージョンで計算)
$$
Q = 16b^4\,\overline{\rm{O}\rm{O}_{2}}^2
\,-\, 4(a^2 \,-\, b^2) \left\{ 4a^2 D^2 \,-\, 4b^2 \overline{\rm{O}\rm{O}_2}^2 \,-\, a^2 b^2 \right\} = 0
$$ ところで、式の中の \(\overline{\rm{O}\rm{O}_{2}}\) に関して条件を当てはめてみます。上の楕円、甲球、乙球の図で、三角形 \( \rm{O}\rm{O}_{1}\rm{O}_2 \) は直角三角形ですが(なのでピタゴラスの定理が使えます)、各辺について、
\(\overline{\rm{O}_{1}\rm{O}_{2}} \) は甲球と乙球の半径の和になっているので
$$
\overline{\rm{O}_{1}\rm{O}_{2}} = d + D = {2 \sqrt{3} \,-\, 3 \over 2} a + D
$$ \(\overline{\rm{O}\rm{O}_{1}} \) は、辺の長さの差を考えることにより
$$
\overline{\rm{O}\rm{O}_{1}} = \overline{\rm{O}\rm{P}} \,-\, \overline{\rm{O}_{1}\rm{P}}
= {a \over 2} \,-\, d = {a \over 2} \,-\, {2 \sqrt{3} \,-\,3 \over 2} a = (2 \,-\, \sqrt{3})a
$$ これらを使い、ピタゴラスの定理によって
$$
\begin{aligned}
\overline{\rm{O}\rm{O}_{2}}^2 &= \overline{\rm{O}_{1}\rm{O}_{2}}^2 \,-\, \overline{\rm{O}\rm{O}_{1}}^2 \\
& = \left( {2 \sqrt{3} \,-\, 3 \over 2} a + D \right)^2 \,-\, \left\{ (2 \,-\, \sqrt{3})a \right\}^2 \\
& = \cdots \\
& = {4\sqrt{3} \,-\, 7 \over 4}a^2 + \left( 2 \sqrt{3} \,-\, 3 \right)aD + D^2
\end{aligned}
$$ これを \(Q\) の式に代入することにより、\(Q = 0\) の条件は
$$
\begin{aligned}
& 16b^4 \left\{ {4\sqrt{3} \,-\, 7 \over 4}a^2 + \left( 2 \sqrt{3} \,-\, 3 \right)aD + D^2 \right\} \\
& \,-\, 4(a^2 \,-\, b^2) \left[
4a^2 D^2 \,-\, 4b^2
\left\{ {4\sqrt{3} \,-\, 7 \over 4}a^2 + \left( 2 \sqrt{3} \,-\, 3 \right)aD + D^2 \right\}
\,-\, a^2 b^2 \right] = 0
\end{aligned}
$$ これを計算しまして、\(D\) の式としてまとめると
$$
4b^2 D^2 + 4(2 \sqrt{3} \,-\, 3)a^3 D + 2(2 \sqrt{3} \,-\, 3)a^4 \,-\, a^2 b^2 = 0
$$

甲球の半径に関する方程式を解く

上の式は \(D\) (甲球の半径)の二次方程式になっており、これを解くには例の解の公式を使ってもいいのですが、少し特徴的な形をしているので、因数分解してみます。この式全体を \(a^2b^2\) で割って
$$
{4 \over a^2}D^2 + 4(2 \sqrt{3} \,-\,3){a \over b^2}D + 2(2\sqrt{3} \,-\, 3) {a^2 \over b^2} \,-\, 1 = 0
$$ ちょっと平方完成的に
$$
\left\{ {2 \over a} D + (2\sqrt{3} \,-\, 3) {a^2 \over b^2} \right\}^2 \,-\, (2\sqrt{3} \,-\, 3)^2 {a^4 \over b^4}
+ 2(2\sqrt{3} \,-\, 3){a^2 \over b^2} \,-\, 1 = 0
$$ 後半は二乗の形になってます。すなわち
$$
\left\{ {2 \over a} D + (2\sqrt{3} \,-\, 3) {a^2 \over b^2} \right\}^2
\,-\, \left\{ (2\sqrt{3} \,-\, 3)^2 {a^2 \over b^2} \,-\, 1 \right\}^2
= 0
$$ これは例の \(x^2 \,-\, y^2 = (x + y)(x \,-\, y)\) の因数分解ができまして
$$
\begin{aligned}
&\left[
{2 \over a} D + (2\sqrt{3} \,-\, 3) {a^2 \over b^2}
+ \left\{ (2\sqrt{3} \,-\, 3)^2 {a^2 \over b^2} \,-\, 1 \right\}
\right]
\times \\
&\left[
{2 \over a} D + (2\sqrt{3} \,-\, 3) {a^2 \over b^2}
\,-\, \left\{ (2\sqrt{3} \,-\, 3)^2 {a^2 \over b^2} \,-\, 1 \right\}
\right]
= 0
\end{aligned}
$$ すなわち
$$
\left[
{2 \over a} D + 2 (2\sqrt{3} \,-\, 3) {a^2 \over b^2} \,-\, 1
\right]
\left[ {2 \over a} D + 1 \right]
= 0
$$ この形から2つの括弧のうちどちらかが0ということになりますが、\(a\) と \(D\) は正の数なので後者の括弧内は \(0\) になりません。従って前者の括弧内が \(0\) になる条件より
$$
{2 \over a} D + 2 (2\sqrt{3} \,-\, 3) {a^2 \over b^2} \,-\, 1
= 0
$$ これを \(D\) について整理することにより、最終的に甲球の半径 \(D\) が求まりました:
$$
D = {a \over 2} \,-\, {(2 \sqrt{3} – 3) a^3 \over b^2}
$$ あ、これは正しい答えのようです(翻訳された解答を参照。ちなみにあちらは半径でなく直径を使っているので数値が2倍になる)。
ちなみに、これは面白い形をしていますね。甲球の半径 \(D\) は、楕円体の短径 \(a/2 \) より
\( {(2 \sqrt{3} – 3) a^3 / b^2} \) だけ小さい
ということです。何か幾何的にこれが求められたりしそうな感じもあります。

とりあえずのまとめ

今回は、算額でよく見かける(?)、球を特定の形に詰め込むための条件を求める問題でしたが、球を囲む図形が楕円体だったために、幾何的な手法でなく二次曲線の方程式を扱うことになりました。和算の方のは解答だけなのでどのように解かれているのかはわかりませんが、何か楕円に関する幾何的な手法があるのか、あるいはここでやったように方程式の条件に持ち込むのか、興味深いところです。

  1. この図と問題文だけから、そこまで甲球と乙球の関係を断定できるのか、するものなのか、少し疑問がなくはないのですが(例えば、乙球同士が少し離れていて、その分甲球が乙球でできるリング形状にある程度潜る感じ、そういう配置も可能では? とか)、でも算額の解説や答えによると乙球同士は完全に接していると考えるようなので、そういうことで行きます。 ↩︎
  2. 「重解では解が一つだから楕円と円の接点が一つだけになっておかしい」と思った人います? 楕円も円も2価関数だからそれでいいんですね。 ↩︎

コメント

タイトルとURLをコピーしました