{
"cells": [
{
"cell_type": "markdown",
"id": "c46a45a9",
"metadata": {},
"source": [
"# Plimton 322 の解読 (1)"
]
},
{
"cell_type": "markdown",
"id": "808cfef7",
"metadata": {},
"source": [
"## 粘土板に楔形文字を書く\n",
"* [Writing Cuneiform (video) | Khan Academy](https://www.khanacademy.org/humanities/ancient-art-civilizations/ancient-near-east1/the-ancient-near-east-an-introduction/v/cuneiform)"
]
},
{
"cell_type": "markdown",
"id": "cf0a8330",
"metadata": {},
"source": [
"## Plimpton 322 の外観\n",
"* [Mathematicians Crack Mystery of Babylonian Clay Tablet ‘Plimpton 322’ | Archaeology, Mathematics | Sci-News.com](http://www.sci-news.com/archaeology/babylonian-clay-tablet-plimpton-322-05163.html)"
]
},
{
"cell_type": "markdown",
"id": "b44cba8d",
"metadata": {},
"source": [
""
]
},
{
"cell_type": "markdown",
"id": "2d435ba0",
"metadata": {},
"source": [
""
]
},
{
"cell_type": "markdown",
"id": "d56eb925",
"metadata": {},
"source": [
"## Plimpton 322 の数表を読み込む\n",
"* [Plimpton 322 - Wikipedia](https://en.wikipedia.org/wiki/Plimpton_322)\n",
" - 数表-1: 60進法\n",
" - 異なる推定値を括弧で示し、1番目と4番目のコラムのうち内容が推定される破損部分を斜体で示し、6つの推定誤りを太字で示し、その下の角括弧に一般に提案されている訂正を示す\n",
" - 3列目の53を2倍の値である1 46に置き換えるか、2列目の56を半分の値である28に置き換えるか\n",
" - 数表-2: 10進法\n",
" - 11行目の2列目と3列目には、15行目を除く他の行とは異なり、共通因子が含まれている。$45$ と$1 15$はバビロニア数学では$3/4$と$5/4$と解釈される可能性があり、これはおなじみの標準的な直角三角形 $(3,4,5)$ を縮小した$(0.75, 1, 1.25)$ と一致するものです\n",
" - 15行目も2列目が28、3列目が53と修正される可能性がある"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "f173f34a-87ab-4ebb-aea9-48f7bebebc7e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: lxml in /opt/conda/lib/python3.11/site-packages (5.2.2)\n"
]
}
],
"source": [
"!pip install -U lxml"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "18a6cc1f",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "9ddc7339",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Plimpton 322 \n",
" Plimpton 322.1 \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" The Plimpton 322 clay tablet, with numbers wri... \n",
" The Plimpton 322 clay tablet, with numbers wri... \n",
" \n",
" \n",
" 1 \n",
" Height \n",
" 9 cm \n",
" \n",
" \n",
" 2 \n",
" Width \n",
" 13 cm \n",
" \n",
" \n",
" 3 \n",
" Created \n",
" c. 1800 BC \n",
" \n",
" \n",
" 4 \n",
" Present location \n",
" New York City, New York, United States \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Plimpton 322 \\\n",
"0 The Plimpton 322 clay tablet, with numbers wri... \n",
"1 Height \n",
"2 Width \n",
"3 Created \n",
"4 Present location \n",
"\n",
" Plimpton 322.1 \n",
"0 The Plimpton 322 clay tablet, with numbers wri... \n",
"1 9 cm \n",
"2 13 cm \n",
"3 c. 1800 BC \n",
"4 New York City, New York, United States "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dfs=pd.read_html('https://en.wikipedia.org/wiki/Plimpton_322')\n",
"dfs[0]"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "b423d7da",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" takiltum of the diagonal from which 1 is torn out so that the width comes up \n",
" ÍB.SI8 of the width \n",
" ÍB.SI8 of the diagonal \n",
" its line \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" (1) 59 00 15 \n",
" 1 59 \n",
" 2 49 \n",
" 1st \n",
" \n",
" \n",
" 1 \n",
" (1) 56 56 58 14 56 15 (1) 56 56 58 14 [50 06] 15 \n",
" 56 07 \n",
" 3 12 01 [1 20 25] \n",
" 2nd \n",
" \n",
" \n",
" 2 \n",
" (1) 55 07 41 15 33 45 \n",
" 1 16 41 \n",
" 1 50 49 \n",
" 3rd \n",
" \n",
" \n",
" 3 \n",
" (1) 53 10 29 32 52 16 \n",
" 3 31 49 \n",
" 5 09 01 \n",
" 4th \n",
" \n",
" \n",
" 4 \n",
" (1) 48 54 01 40 \n",
" 1 05 \n",
" 1 37 \n",
" 5th \n",
" \n",
" \n",
" 5 \n",
" (1) 47 06 41 40 \n",
" 5 19 \n",
" 8 01 \n",
" 6th \n",
" \n",
" \n",
" 6 \n",
" (1) 43 11 56 28 26 40 \n",
" 38 11 \n",
" 59 01 \n",
" 7th \n",
" \n",
" \n",
" 7 \n",
" (1) 41 33 59 03 45 (1) 41 33 [45 14] 03 45 \n",
" 13 19 \n",
" 20 49 \n",
" 8th \n",
" \n",
" \n",
" 8 \n",
" (1) 38 33 36 36 \n",
" 9 01 [8] 01 \n",
" 12 49 \n",
" 9th \n",
" \n",
" \n",
" 9 \n",
" (1) 35 10 02 28 27 24 26 40 \n",
" 1 22 41 \n",
" 2 16 01 \n",
" 10th \n",
" \n",
" \n",
" 10 \n",
" (1) 33 45 \n",
" 45 \n",
" 1 15 \n",
" 11th \n",
" \n",
" \n",
" 11 \n",
" (1) 29 21 54 02 15 \n",
" 27 59 \n",
" 48 49 \n",
" 12th \n",
" \n",
" \n",
" 12 \n",
" (1) 27 00 03 45 \n",
" 7 12 01 [2 41] \n",
" 4 49 \n",
" 13th \n",
" \n",
" \n",
" 13 \n",
" (1) 25 48 51 35 06 40 \n",
" 29 31 \n",
" 53 49 \n",
" 14th \n",
" \n",
" \n",
" 14 \n",
" (1) 23 13 46 40 \n",
" 56 56 [28] (alt.) \n",
" 53 [1 46] 53 (alt.) \n",
" 15th \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" takiltum of the diagonal from which 1 is torn out so that the width comes up \\\n",
"0 (1) 59 00 15 \n",
"1 (1) 56 56 58 14 56 15 (1) 56 56 58 14 [50 06] 15 \n",
"2 (1) 55 07 41 15 33 45 \n",
"3 (1) 53 10 29 32 52 16 \n",
"4 (1) 48 54 01 40 \n",
"5 (1) 47 06 41 40 \n",
"6 (1) 43 11 56 28 26 40 \n",
"7 (1) 41 33 59 03 45 (1) 41 33 [45 14] 03 45 \n",
"8 (1) 38 33 36 36 \n",
"9 (1) 35 10 02 28 27 24 26 40 \n",
"10 (1) 33 45 \n",
"11 (1) 29 21 54 02 15 \n",
"12 (1) 27 00 03 45 \n",
"13 (1) 25 48 51 35 06 40 \n",
"14 (1) 23 13 46 40 \n",
"\n",
" ÍB.SI8 of the width ÍB.SI8 of the diagonal its line \n",
"0 1 59 2 49 1st \n",
"1 56 07 3 12 01 [1 20 25] 2nd \n",
"2 1 16 41 1 50 49 3rd \n",
"3 3 31 49 5 09 01 4th \n",
"4 1 05 1 37 5th \n",
"5 5 19 8 01 6th \n",
"6 38 11 59 01 7th \n",
"7 13 19 20 49 8th \n",
"8 9 01 [8] 01 12 49 9th \n",
"9 1 22 41 2 16 01 10th \n",
"10 45 1 15 11th \n",
"11 27 59 48 49 12th \n",
"12 7 12 01 [2 41] 4 49 13th \n",
"13 29 31 53 49 14th \n",
"14 56 56 [28] (alt.) 53 [1 46] 53 (alt.) 15th "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dfs[1]"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "4f804123-f002-47b7-9f60-26802fda3a0e",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" or \n",
" Short Side \n",
" Diagonal \n",
" Row # \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" (1).9834028 \n",
" 119 \n",
" 169 \n",
" 1 \n",
" \n",
" \n",
" 1 \n",
" (1).9491586 \n",
" 3367 \n",
" 4825 \n",
" 2 \n",
" \n",
" \n",
" 2 \n",
" (1).9188021 \n",
" 4601 \n",
" 6649 \n",
" 3 \n",
" \n",
" \n",
" 3 \n",
" (1).8862479 \n",
" 12709 \n",
" 18541 \n",
" 4 \n",
" \n",
" \n",
" 4 \n",
" (1).8150077 \n",
" 65 \n",
" 97 \n",
" 5 \n",
" \n",
" \n",
" 5 \n",
" (1).7851929 \n",
" 319 \n",
" 481 \n",
" 6 \n",
" \n",
" \n",
" 6 \n",
" (1).7199837 \n",
" 2291 \n",
" 3541 \n",
" 7 \n",
" \n",
" \n",
" 7 \n",
" (1).6927094 \n",
" 799 \n",
" 1249 \n",
" 8 \n",
" \n",
" \n",
" 8 \n",
" (1).6426694 \n",
" 481 \n",
" 769 \n",
" 9 \n",
" \n",
" \n",
" 9 \n",
" (1).5861226 \n",
" 4961 \n",
" 8161 \n",
" 10 \n",
" \n",
" \n",
" 10 \n",
" (1).5625 \n",
" 45* \n",
" 75* \n",
" 11 \n",
" \n",
" \n",
" 11 \n",
" (1).4894168 \n",
" 1679 \n",
" 2929 \n",
" 12 \n",
" \n",
" \n",
" 12 \n",
" (1).4500174 \n",
" 161 \n",
" 289 \n",
" 13 \n",
" \n",
" \n",
" 13 \n",
" (1).4302388 \n",
" 1771 \n",
" 3229 \n",
" 14 \n",
" \n",
" \n",
" 14 \n",
" (1).3871605 \n",
" 56* \n",
" 106* \n",
" 15 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" or Short Side Diagonal Row #\n",
"0 (1).9834028 119 169 1\n",
"1 (1).9491586 3367 4825 2\n",
"2 (1).9188021 4601 6649 3\n",
"3 (1).8862479 12709 18541 4\n",
"4 (1).8150077 65 97 5\n",
"5 (1).7851929 319 481 6\n",
"6 (1).7199837 2291 3541 7\n",
"7 (1).6927094 799 1249 8\n",
"8 (1).6426694 481 769 9\n",
"9 (1).5861226 4961 8161 10\n",
"10 (1).5625 45* 75* 11\n",
"11 (1).4894168 1679 2929 12\n",
"12 (1).4500174 161 289 13\n",
"13 (1).4302388 1771 3229 14\n",
"14 (1).3871605 56* 106* 15"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dfs[2]"
]
},
{
"cell_type": "markdown",
"id": "1da62afd",
"metadata": {},
"source": [
"### 11行目に着目する"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "473463bd",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" takiltum of the diagonal from which 1 is torn out so that the width comes up \n",
" ÍB.SI8 of the width \n",
" ÍB.SI8 of the diagonal \n",
" its line \n",
" \n",
" \n",
" \n",
" \n",
" 10 \n",
" (1) 33 45 \n",
" 45 \n",
" 1 15 \n",
" 11th \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" takiltum of the diagonal from which 1 is torn out so that the width comes up \\\n",
"10 (1) 33 45 \n",
"\n",
" ÍB.SI8 of the width ÍB.SI8 of the diagonal its line \n",
"10 45 1 15 11th "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dfs[1].take([10])"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "15a34ecf",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" or \n",
" Short Side \n",
" Diagonal \n",
" Row # \n",
" \n",
" \n",
" \n",
" \n",
" 10 \n",
" (1).5625 \n",
" 45* \n",
" 75* \n",
" 11 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" or Short Side Diagonal Row #\n",
"10 (1).5625 45* 75* 11"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dfs[2].take([10])"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "4b685855-7c30-4f20-9772-9e80ba3844b3",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"60.0"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import math\n",
"math.sqrt(75**2 - 45**2)"
]
},
{
"cell_type": "markdown",
"id": "479e9666-9b79-440a-88bf-0cdd7d975e90",
"metadata": {},
"source": [
"```{note}\n",
"$(45, 60, 75)$という三数は、$60$進法の基数を含むため、古代バビロニア人には応用し易い組み合わせだったと考えられます。\n",
"\n",
"$10$進法では、既約表現である$(3, 4, 5)$を使います。\n",
"```"
]
},
{
"cell_type": "markdown",
"id": "f368e6bb-570b-458c-8375-26f3424fecd4",
"metadata": {},
"source": [
"## 数表の公式"
]
},
{
"cell_type": "markdown",
"id": "21c08a7a-a8c3-43c9-82fe-eb73b78ffa2b",
"metadata": {
"hide_input": false
},
"source": [
"* [ピタゴラス数の求め方とその証明 | 高校数学の美しい物語](https://manabitimes.jp/math/661)"
]
},
{
"cell_type": "markdown",
"id": "b97276b1-3fbf-43f5-893b-46a4c49cc632",
"metadata": {},
"source": [
"正の整数 $p$, $q$ $(p>q)$ に対して、\n",
"\n",
"$$\n",
" \\begin{align}\n",
" a & = 2 p q \\\\\n",
" b & = p^2 - q^2\\\\\n",
" d & = p^2 + q^2\\\\\n",
" \\end{align}\n",
"$$\n",
"\n",
"とおくと、$a$, $b$, $d$ はピタゴラスの三数となり、$a^2+b^2 = d^2$ を満たす。"
]
},
{
"cell_type": "markdown",
"id": "cf8ebd54-2739-48c8-9406-1d02255ef924",
"metadata": {},
"source": [
"解) 恒等式\n",
"\n",
"$$\n",
" (x-y)^2 = (x+y)^2 - 4xy\n",
"$$\n",
"\n",
"に対して $x=p^2$, $y=q^2$ とおいて $p$, $q$ を消去する。\n",
"\n",
"$$\n",
" \\begin{align}\n",
" (p^2-q^2)^2 &= (p^2+q^2)^2 - 4p^2q^2 \\\\\n",
" b^2 &= d^2 - a^2\n",
" \\end{align}\n",
"$$"
]
},
{
"cell_type": "markdown",
"id": "6009cb28-8a4a-4a2c-919e-12482f90fb62",
"metadata": {},
"source": [
"```{note}\n",
"方程式$(2)$は、次の図の面積の関係を表しています。\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "912878c8-2425-4339-aa44-9adc58363e36",
"metadata": {
"hide_input": true,
"jupyter": {
"source_hidden": true
},
"tags": []
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from matplotlib.patches import Polygon\n",
"import matplotlib.pyplot as plt\n",
"\n",
"p0 = Polygon([(0,0), (3,0), (3,1), (0,1), ], fill=False)\n",
"p1 = Polygon([(3,0), (4,0), (4,3), (3,3), ], fill=False)\n",
"p2 = Polygon([(4,3), (4,4), (1,4), (1,3), ], fill=False)\n",
"p3 = Polygon([(1,1), (1,4), (0,4), (0,1), ], fill=False)\n",
"\n",
"fig, ax = plt.subplots(1,1)\n",
"\n",
"ax.add_patch(p0)\n",
"ax.add_patch(p1)\n",
"ax.add_patch(p2)\n",
"ax.add_patch(p3)\n",
"ax.axis('equal')\n",
"ax.set(xlim=(0,4),ylim=(-1,5))\n",
"\n",
"plt.text(1.5,-0.3,'x')\n",
"plt.text(3.5,-0.3,'y')\n",
"plt.text(-0.3,2.5,'x')\n",
"plt.text(-0.3,0.5,'y')\n",
"plt.text(1.8,1.2, 'x - y')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "fc41d7b3-ee58-4c2f-88cb-ec956ffaafcb",
"metadata": {},
"source": [
"Plimpton 322との対応は次の表の通りである:"
]
},
{
"cell_type": "markdown",
"id": "4c1000f9-794d-4bdb-ac27-aefe8a9655a1",
"metadata": {},
"source": [
"|#1 |#2 |#3 |\n",
"|:-:|:-:|:-:|\n",
"|$$\\left(\\frac{d}{a}\\right)^2$$|$$b$$ |$$d$$ |\n",
"|$$\\frac{1}{4}\\left(\\frac{p}{q}+\\frac{q}{p}\\right)^2$$|$$p^2-q^2$$|$$p^2+q^2$$|"
]
},
{
"cell_type": "markdown",
"id": "ba5e6f06-4623-4c62-8299-63f731f10183",
"metadata": {},
"source": [
"命題) Plimpton 322は、互いに素な正の整数 $p$, $q$ のうち、\n",
"\n",
"$$\n",
" \\frac{9}{5} \\leq \\frac{p}{q} \\leq \\frac{12}{5}\n",
"$$\n",
"\n",
"を満たす組み合わせについて、\n",
"\n",
"$$\n",
"\\frac{d}{a} = \\frac{1}{2}\\left(\\frac{p}{q}+\\frac{q}{p}\\right)\n",
"$$\n",
"\n",
"をキーとして降順に並べたものである。"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.8"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 5
}