This commit is contained in:
2026-02-07 22:03:07 +01:00
parent 3fd967e843
commit 02ce0c0b4a

View File

@@ -3,8 +3,8 @@
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-02-07T16:59:00.652440Z",
"start_time": "2026-02-07T16:59:00.121091Z"
"end_time": "2026-02-07T20:59:57.191051Z",
"start_time": "2026-02-07T20:59:56.829377Z"
}
},
"cell_type": "code",
@@ -14,13 +14,13 @@
],
"id": "89aa93e9dbedd113",
"outputs": [],
"execution_count": 1
"execution_count": 2
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-02-07T16:59:02.990888Z",
"start_time": "2026-02-07T16:59:00.668752Z"
"end_time": "2026-02-07T20:59:59.176074Z",
"start_time": "2026-02-07T20:59:57.791116Z"
}
},
"cell_type": "code",
@@ -56,13 +56,13 @@
],
"id": "2005e5a8854eea1e",
"outputs": [],
"execution_count": 2
"execution_count": 3
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-02-07T16:59:03.608664Z",
"start_time": "2026-02-07T16:59:03.014887Z"
"end_time": "2026-02-07T21:00:00.433740Z",
"start_time": "2026-02-07T21:00:00.217286Z"
}
},
"cell_type": "code",
@@ -75,7 +75,7 @@
],
"id": "90f107a11ff0de7e",
"outputs": [],
"execution_count": 3
"execution_count": 4
},
{
"metadata": {
@@ -88,13 +88,13 @@
"source": [
"# dsPart = [60, 125, 600, 1250, 6000, 60000] entspricht bei der Erde ca. 100km, 50km, 10km, 5km, 1km, 100m\n",
"\n",
"steps_gha1_num = [20, 50, 100, 200, 500, 1000, 5000]\n",
"maxM_gha1_ana = [20, 50]\n",
"parts_gha1_ana = [2, 8]\n",
"steps_gha1_num = [200, 500, 1000, 5000, 10000]\n",
"maxM_gha1_ana = [20, 50, 80]\n",
"parts_gha1_ana = [2, 8, 32]\n",
"dsPart_gha1_ES = [60, 600, 1250]\n",
"dsPart_gha1_approx = [600, 1250, 6000]\n",
"\n",
"steps_gha2_num = [200, 500, 1000]\n",
"steps_gha2_num = [200, 500, 1000, 5000, 10000]\n",
"dsPart_gha2_ES = [60, 600, 1250]\n",
"dsPart_gha2_approx = [600, 1250, 6000]"
],
@@ -105,224 +105,206 @@
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-02-07T17:00:45.868912Z",
"start_time": "2026-02-07T17:00:44.713991Z"
"end_time": "2026-02-07T21:00:07.365335Z",
"start_time": "2026-02-07T21:00:07.174675Z"
}
},
"cell_type": "code",
"source": [
"# test = \"Karney\"\n",
"test = \"Karney\"\n",
"# test = \"Panou\"\n",
"test = \"Random\"\n",
"# test = \"Random\"\n",
"\n",
"if test == \"Karney\":\n",
" ell: EllipsoidTriaxial = EllipsoidTriaxial.init_name(\"KarneyTest2024\")\n",
" examples = get_examples_karney(4, seed=42)\n",
"elif test == \"Panou\":\n",
" ell: EllipsoidTriaxial = EllipsoidTriaxial.init_name(\"BursaSima1980round\")\n",
" tables = get_tables_panou()\n",
" table_indices = []\n",
" examples = []\n",
" for i, table in enumerate(tables):\n",
" for example in table:\n",
" table_indices.append(i+1)\n",
" examples.append(example)\n",
"elif test == \"Random\":\n",
" ell: EllipsoidTriaxial = EllipsoidTriaxial.init_name(\"BursaSima1980round\")\n",
" examples = []\n",
" random.seed(42)\n",
" for _ in range(50):\n",
" beta0 = wu.deg2rad(random.randint(-90, 90))\n",
" lamb0 = wu.deg2rad(random.randint(-179, 180))\n",
" alpha0_ell = wu.deg2rad(random.randint(0, 359))\n",
" s = random.randint(10000, int(np.pi*ell.b))\n",
" examples.append([beta0, lamb0, alpha0_ell, s])\n",
" pass"
"def build_examples(test):\n",
" if test == \"Karney\":\n",
" ell: EllipsoidTriaxial = EllipsoidTriaxial.init_name(\"KarneyTest2024\")\n",
" examples = get_examples_karney(4, seed=42)\n",
" elif test == \"Panou\":\n",
" ell: EllipsoidTriaxial = EllipsoidTriaxial.init_name(\"BursaSima1980round\")\n",
" tables = get_tables_panou()\n",
" table_indices = []\n",
" examples = []\n",
" for i, table in enumerate(tables):\n",
" for example in table:\n",
" table_indices.append(i+1)\n",
" examples.append(example)\n",
" elif test == \"Random\":\n",
" ell: EllipsoidTriaxial = EllipsoidTriaxial.init_name(\"BursaSima1980round\")\n",
" examples = []\n",
" random.seed(42)\n",
" for _ in range(50):\n",
" beta0 = wu.deg2rad(random.randint(-90, 90))\n",
" lamb0 = wu.deg2rad(random.randint(-179, 180))\n",
" alpha0_ell = wu.deg2rad(random.randint(0, 359))\n",
" s = random.randint(10000, int(np.pi*ell.b))\n",
" examples.append([beta0, lamb0, alpha0_ell, s])\n",
" pass\n",
" return examples\n",
"examples = build_examples(test)"
],
"id": "6770dbd57d475127",
"outputs": [],
"execution_count": 9
"execution_count": 5
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-02-07T17:02:10.182032Z",
"start_time": "2026-02-07T17:01:58.900380Z"
}
},
"metadata": {},
"cell_type": "code",
"source": [
"results = {}\n",
"for i, example in enumerate(examples):\n",
" print(f\"----- Beispiel {i+1}/{len(examples)}\")\n",
" example_results = {}\n",
"def execute_results(test, examples):\n",
" results = {}\n",
" for i, example in enumerate(examples):\n",
" print(f\"----- Beispiel {i+1}/{len(examples)}\")\n",
" example_results = {}\n",
"\n",
" if test != \"Random\":\n",
" beta0, lamb0, alpha0_ell, beta1, lamb1, alpha1_ell, s = example\n",
" P0 = ell.ell2cart(beta0, lamb0)\n",
" P1 = ell.ell2cart(beta1, lamb1)\n",
" _, _, alpha0_para = alpha_ell2para(ell, beta0, lamb0, alpha0_ell)\n",
" else:\n",
" beta0, lamb0, alpha0_ell, s = example\n",
" P0 = ell.ell2cart(beta0, lamb0)\n",
" _, _, alpha0_para = alpha_ell2para(ell, beta0, lamb0, alpha0_ell)\n",
" if test != \"Random\":\n",
" beta0, lamb0, alpha0_ell, beta1, lamb1, alpha1_ell, s = example\n",
" P0 = ell.ell2cart(beta0, lamb0)\n",
" P1 = ell.ell2cart(beta1, lamb1)\n",
" _, _, alpha0_para = alpha_ell2para(ell, beta0, lamb0, alpha0_ell)\n",
" else:\n",
" beta0, lamb0, alpha0_ell, s = example\n",
" P0 = ell.ell2cart(beta0, lamb0)\n",
" _, _, alpha0_para = alpha_ell2para(ell, beta0, lamb0, alpha0_ell)\n",
"\n",
" # try:\n",
" # P1, alpha1_para = gha1_ana(ell, P0, alpha0_para, s, maxM=80, maxPartCircum=8)\n",
" # beta1, lamb1 = ell.cart2ell(P1)\n",
" # u1, v1 = ell.cart2para(P1)\n",
" # _, _, alpha1_ell = alpha_para2ell(ell, u1, v1, alpha1_para)\n",
" # except Exception as e:\n",
" # print(\"Referenz-Berechnung analytisch fehlgeschlagen: \", e)\n",
" # continue\n",
" # try:\n",
" # P1, alpha1_para = gha1_ana(ell, P0, alpha0_para, s, maxM=80, maxPartCircum=8)\n",
" # beta1, lamb1 = ell.cart2ell(P1)\n",
" # u1, v1 = ell.cart2para(P1)\n",
" # _, _, alpha1_ell = alpha_para2ell(ell, u1, v1, alpha1_para)\n",
" # except Exception as e:\n",
" # print(\"Referenz-Berechnung analytisch fehlgeschlagen: \", e)\n",
" # continue\n",
"\n",
" try:\n",
" P1, alpha1_ell = gha1_num(ell, P0, alpha0_ell, s, num=10000)\n",
" beta1, lamb1 = ell.cart2ell(P1)\n",
" except Exception as e:\n",
" print(\"Referenz-Berechnung numerisch fehlgeschlagen: \", e)\n",
" continue\n",
" try:\n",
" P1, alpha1_ell = gha1_num(ell, P0, alpha0_ell, s, num=10000)\n",
" beta1, lamb1 = ell.cart2ell(P1)\n",
" except Exception as e:\n",
" print(\"Referenz-Berechnung numerisch fehlgeschlagen: \", e)\n",
" continue\n",
"\n",
" for steps in steps_gha1_num:\n",
" start = time.perf_counter()\n",
" try:\n",
" P1_num, alpha1_num_1 = gha1_num(ell, P0, alpha0_ell, s, num=steps)\n",
" print(f\"GHA1_num_{steps}\", P1_num)\n",
" end = time.perf_counter()\n",
" beta1_num, lamb1_num = ell.cart2ell(P1_num)\n",
" d_beta1 = abs(beta1_num - beta1)\n",
" d_lamb1 = abs(lamb1_num - lamb1)\n",
" d_alpha1 = abs(alpha1_num_1 - alpha1_ell)\n",
" d_time = end - start\n",
" example_results[f\"GHA1_num_{steps}\"] = (d_beta1, d_lamb1, d_alpha1, d_time)\n",
" except Exception as e:\n",
" print(e)\n",
" example_results[f\"GHA1_num_{steps}\"] = (nan, nan, nan, nan)\n",
"\n",
" for maxM in maxM_gha1_ana:\n",
" for parts in parts_gha1_ana:\n",
" for steps in steps_gha1_num:\n",
" start = time.perf_counter()\n",
" try:\n",
" P1_ana, alpha1_ana_para = gha1_ana(ell, P0, alpha0_para, s, maxM=maxM, maxPartCircum=parts)\n",
" P1_num, alpha1_num_1 = gha1_num(ell, P0, alpha0_ell, s, num=steps)\n",
" print(f\"GHA1_num_{steps}\", P1_num)\n",
" end = time.perf_counter()\n",
" beta1_ana, lamb1_ana = ell.cart2ell(P1_ana)\n",
" u1_ana, v1_ana = ell.cart2para(P1_ana)\n",
" _, _, alpha1_ana_ell = alpha_para2ell(ell, u1_ana, v1_ana, alpha1_ana_para)\n",
" d_beta1 = abs(beta1_ana - beta1)\n",
" d_lamb1 = abs(lamb1_ana - lamb1)\n",
" d_alpha1 = abs(alpha1_ana_ell - alpha1_ell)\n",
" beta1_num, lamb1_num = ell.cart2ell(P1_num)\n",
" d_beta1 = abs(beta1_num - beta1)\n",
" d_lamb1 = abs(lamb1_num - lamb1)\n",
" d_alpha1 = abs(alpha1_num_1 - alpha1_ell)\n",
" d_time = end - start\n",
" example_results[f\"GHA1_ana_{maxM}_{parts}\"] = (d_beta1, d_lamb1, d_alpha1, d_time)\n",
" example_results[f\"GHA1_num_{steps}\"] = (d_beta1, d_lamb1, d_alpha1, d_time)\n",
" except Exception as e:\n",
" print(e)\n",
" example_results[f\"GHA1_ana_{maxM}_{parts}\"] = (nan, nan, nan, nan)\n",
" example_results[f\"GHA1_num_{steps}\"] = (nan, nan, nan, nan)\n",
"\n",
" for dsPart in dsPart_gha1_ES:\n",
" ds = ell.ax/dsPart\n",
" start = time.perf_counter()\n",
" try:\n",
" P1_ES, alpha1_ES = gha1_ES(ell, beta0, lamb0, alpha0_ell, s, maxSegLen=ds)\n",
" end = time.perf_counter()\n",
" beta1_ES, lamb1_ES = ell.cart2ell(P1_ES)\n",
" d_beta1 = abs(beta1_ES - beta1)\n",
" d_lamb1 = abs(lamb1_ES - lamb1)\n",
" d_alpha1 = abs(alpha1_ES - alpha1_ell)\n",
" d_time = end - start\n",
" example_results[f\"GHA1_ES_{dsPart}\"] = (d_beta1, d_lamb1, d_alpha1, d_time)\n",
" except Exception as e:\n",
" print(e)\n",
" example_results[f\"GHA1_ES_{dsPart}\"] = (nan, nan, nan, nan)\n",
" for maxM in maxM_gha1_ana:\n",
" for parts in parts_gha1_ana:\n",
" start = time.perf_counter()\n",
" try:\n",
" P1_ana, alpha1_ana_para = gha1_ana(ell, P0, alpha0_para, s, maxM=maxM, maxPartCircum=parts)\n",
" end = time.perf_counter()\n",
" beta1_ana, lamb1_ana = ell.cart2ell(P1_ana)\n",
" u1_ana, v1_ana = ell.cart2para(P1_ana)\n",
" _, _, alpha1_ana_ell = alpha_para2ell(ell, u1_ana, v1_ana, alpha1_ana_para)\n",
" d_beta1 = abs(beta1_ana - beta1)\n",
" d_lamb1 = abs(lamb1_ana - lamb1)\n",
" d_alpha1 = abs(alpha1_ana_ell - alpha1_ell)\n",
" d_time = end - start\n",
" example_results[f\"GHA1_ana_{maxM}_{parts}\"] = (d_beta1, d_lamb1, d_alpha1, d_time)\n",
" except Exception as e:\n",
" print(e)\n",
" example_results[f\"GHA1_ana_{maxM}_{parts}\"] = (nan, nan, nan, nan)\n",
"\n",
" for dsPart in dsPart_gha1_approx:\n",
" ds = ell.ax/dsPart\n",
" start = time.perf_counter()\n",
" try:\n",
" P1_approx, alpha1_approx = gha1_approx(ell, P0, alpha0_ell, s, ds=ds)\n",
" end = time.perf_counter()\n",
" beta1_approx, lamb1_approx = ell.cart2ell(P1_approx)\n",
" d_beta1 = abs(beta1_approx - beta1)\n",
" d_lamb1 = abs(lamb1_approx - lamb1)\n",
" d_alpha1 = abs(alpha1_approx - alpha1_ell)\n",
" d_time = end - start\n",
" example_results[f\"GHA1_approx_{dsPart}\"] = (d_beta1, d_lamb1, d_alpha1, d_time)\n",
" except Exception as e:\n",
" print(e)\n",
" example_results[f\"GHA1_approx_{dsPart}\"] = (nan, nan, nan, nan)\n",
" for dsPart in dsPart_gha1_ES:\n",
" ds = ell.ax/dsPart\n",
" start = time.perf_counter()\n",
" try:\n",
" P1_ES, alpha1_ES = gha1_ES(ell, beta0, lamb0, alpha0_ell, s, maxSegLen=ds)\n",
" end = time.perf_counter()\n",
" beta1_ES, lamb1_ES = ell.cart2ell(P1_ES)\n",
" d_beta1 = abs(beta1_ES - beta1)\n",
" d_lamb1 = abs(lamb1_ES - lamb1)\n",
" d_alpha1 = abs(alpha1_ES - alpha1_ell)\n",
" d_time = end - start\n",
" example_results[f\"GHA1_ES_{dsPart}\"] = (d_beta1, d_lamb1, d_alpha1, d_time)\n",
" except Exception as e:\n",
" print(e)\n",
" example_results[f\"GHA1_ES_{dsPart}\"] = (nan, nan, nan, nan)\n",
"\n",
" # ----------------------------------------------\n",
" for dsPart in dsPart_gha1_approx:\n",
" ds = ell.ax/dsPart\n",
" start = time.perf_counter()\n",
" try:\n",
" P1_approx, alpha1_approx = gha1_approx(ell, P0, alpha0_ell, s, ds=ds)\n",
" end = time.perf_counter()\n",
" beta1_approx, lamb1_approx = ell.cart2ell(P1_approx)\n",
" d_beta1 = abs(beta1_approx - beta1)\n",
" d_lamb1 = abs(lamb1_approx - lamb1)\n",
" d_alpha1 = abs(alpha1_approx - alpha1_ell)\n",
" d_time = end - start\n",
" example_results[f\"GHA1_approx_{dsPart}\"] = (d_beta1, d_lamb1, d_alpha1, d_time)\n",
" except Exception as e:\n",
" print(e)\n",
" example_results[f\"GHA1_approx_{dsPart}\"] = (nan, nan, nan, nan)\n",
"\n",
" for steps in steps_gha2_num:\n",
" start = time.perf_counter()\n",
" try:\n",
" with warnings.catch_warnings():\n",
" warnings.simplefilter(\"ignore\", RuntimeWarning)\n",
" alpha0_num, alpha1_num_2, s_num = gha2_num(ell, beta0, lamb0, beta1, lamb1, n=steps)\n",
" print(alpha0_num, alpha1_num_2, s_num)\n",
" end = time.perf_counter()\n",
" d_alpha0 = abs(alpha0_num - alpha0_ell)\n",
" d_alpha1 = abs(alpha1_num_2 - alpha1_ell)\n",
" d_s = abs(s_num - s)\n",
" d_time = end - start\n",
" example_results[f\"GHA2_num_{steps}\"] = (d_alpha0, d_alpha1, d_s, d_time)\n",
" except Exception as e:\n",
" print(e)\n",
" example_results[f\"GHA2_num_{steps}\"] = (nan, nan, nan, nan)\n",
" # ----------------------------------------------\n",
"\n",
" for dsPart in dsPart_gha2_ES:\n",
" ds = ell.ax/dsPart\n",
" start = time.perf_counter()\n",
" try:\n",
" with suppress_print():\n",
" alpha0_ES, alpha1_ES, s_ES = gha2_ES(ell, P0, P1, maxSegLen=ds)\n",
" end = time.perf_counter()\n",
" d_alpha0 = abs(alpha0_ES - alpha0_ell)\n",
" d_alpha1 = abs(alpha1_ES - alpha1_ell)\n",
" d_s = abs(s_ES - s)\n",
" d_time = end - start\n",
" example_results[f\"GHA2_ES_{dsPart}\"] = (d_alpha0, d_alpha1, d_s, d_time)\n",
" except Exception as e:\n",
" print(e)\n",
" example_results[f\"GHA2_ES_{dsPart}\"] = (nan, nan, nan, nan)\n",
" for steps in steps_gha2_num:\n",
" start = time.perf_counter()\n",
" try:\n",
" with warnings.catch_warnings():\n",
" warnings.simplefilter(\"ignore\", RuntimeWarning)\n",
" alpha0_num, alpha1_num_2, s_num = gha2_num(ell, beta0, lamb0, beta1, lamb1, n=steps)\n",
" print(alpha0_num, alpha1_num_2, s_num)\n",
" end = time.perf_counter()\n",
" d_alpha0 = abs(alpha0_num - alpha0_ell)\n",
" d_alpha1 = abs(alpha1_num_2 - alpha1_ell)\n",
" d_s = abs(s_num - s)\n",
" d_time = end - start\n",
" example_results[f\"GHA2_num_{steps}\"] = (d_alpha0, d_alpha1, d_s, d_time)\n",
" except Exception as e:\n",
" print(e)\n",
" example_results[f\"GHA2_num_{steps}\"] = (nan, nan, nan, nan)\n",
"\n",
" for dsPart in dsPart_gha2_approx:\n",
" ds = ell.ax/dsPart\n",
" start = time.perf_counter()\n",
" try:\n",
" alpha0_approx, alpha1_approx, s_approx = gha2_approx(ell, P0, P1, ds=ds)\n",
" end = time.perf_counter()\n",
" d_alpha0 = abs(alpha0_approx - alpha0_ell)\n",
" d_alpha1 = abs(alpha1_approx - alpha1_ell)\n",
" d_s = abs(s_approx - s)\n",
" d_time = end - start\n",
" example_results[f\"GHA2_approx_{dsPart}\"] = (d_alpha0, d_alpha1, d_s, d_time)\n",
" except Exception as e:\n",
" print(e)\n",
" example_results[f\"GHA2_approx_{dsPart}\"] = (nan, nan, nan, nan)\n",
" for dsPart in dsPart_gha2_ES:\n",
" ds = ell.ax/dsPart\n",
" start = time.perf_counter()\n",
" try:\n",
" with suppress_print():\n",
" alpha0_ES, alpha1_ES, s_ES = gha2_ES(ell, P0, P1, maxSegLen=ds)\n",
" end = time.perf_counter()\n",
" d_alpha0 = abs(alpha0_ES - alpha0_ell)\n",
" d_alpha1 = abs(alpha1_ES - alpha1_ell)\n",
" d_s = abs(s_ES - s)\n",
" d_time = end - start\n",
" example_results[f\"GHA2_ES_{dsPart}\"] = (d_alpha0, d_alpha1, d_s, d_time)\n",
" except Exception as e:\n",
" print(e)\n",
" example_results[f\"GHA2_ES_{dsPart}\"] = (nan, nan, nan, nan)\n",
"\n",
" results[f\"beta0: {wu.rad2deg(beta0):.3f}, lamb0: {wu.rad2deg(lamb0):.3f}, alpha0: {wu.rad2deg(alpha0_ell):.3f}, s: {s}\"] = example_results"
" for dsPart in dsPart_gha2_approx:\n",
" ds = ell.ax/dsPart\n",
" start = time.perf_counter()\n",
" try:\n",
" alpha0_approx, alpha1_approx, s_approx = gha2_approx(ell, P0, P1, ds=ds)\n",
" end = time.perf_counter()\n",
" d_alpha0 = abs(alpha0_approx - alpha0_ell)\n",
" d_alpha1 = abs(alpha1_approx - alpha1_ell)\n",
" d_s = abs(s_approx - s)\n",
" d_time = end - start\n",
" example_results[f\"GHA2_approx_{dsPart}\"] = (d_alpha0, d_alpha1, d_s, d_time)\n",
" except Exception as e:\n",
" print(e)\n",
" example_results[f\"GHA2_approx_{dsPart}\"] = (nan, nan, nan, nan)\n",
"\n",
" results[f\"beta0: {wu.rad2deg(beta0):.3f}, lamb0: {wu.rad2deg(lamb0):.3f}, alpha0: {wu.rad2deg(alpha0_ell):.3f}, s: {s}\"] = example_results\n",
" return results\n",
"results = execute_results(test, examples)"
],
"id": "fc45e0f618a0e4d8",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"----- Beispiel 1/4\n",
"----- Beispiel 2/4\n",
"----- Beispiel 3/4\n",
"Analytische Methode ist explodiert, Punkt liegt nicht mehr auf dem Ellipsoid\n",
"Analytische Methode ist explodiert, Punkt liegt nicht mehr auf dem Ellipsoid\n",
"Analytische Methode ist explodiert, Punkt liegt nicht mehr auf dem Ellipsoid\n",
"Fehler in der Umrechnung cart2ell\n",
"----- Beispiel 4/4\n",
"Analytische Methode ist explodiert, Punkt liegt nicht mehr auf dem Ellipsoid\n",
"Analytische Methode ist explodiert, Punkt liegt nicht mehr auf dem Ellipsoid\n",
"Analytische Methode ist explodiert, Punkt liegt nicht mehr auf dem Ellipsoid\n",
"Fehler in der Umrechnung cart2ell\n"
]
}
],
"execution_count": 15
"outputs": [],
"execution_count": null
},
{
"metadata": {},
@@ -330,31 +312,85 @@
"outputs": [],
"execution_count": null,
"source": [
"# with open(f\"gha_results{test}.pkl\", \"wb\") as f:\n",
"# pickle.dump(results, f)"
"def save_results(test, results):\n",
" with open(f\"gha_results{test}.pkl\", \"wb\") as f:\n",
" pickle.dump(results, f)\n",
"# save_results(test, results)"
],
"id": "74fbd4d33c288839"
},
{
"metadata": {},
"cell_type": "code",
"outputs": [],
"execution_count": null,
"source": [
"test = \"Panou\"\n",
"examples_panou = build_examples(test)\n",
"results_panou = execute_results(test, examples_panou)\n",
"save_results(test, results_panou)"
],
"id": "58697308664fa539"
},
{
"metadata": {},
"cell_type": "code",
"outputs": [],
"execution_count": null,
"source": [
"test = \"Karney\"\n",
"examples_karney = build_examples(test)\n",
"results_karney = execute_results(test, examples_karney)\n",
"save_results(test, results_karney)"
],
"id": "5d35a01ba8d6e2b1"
},
{
"metadata": {},
"cell_type": "code",
"outputs": [],
"execution_count": null,
"source": [
"test = \"Random\"\n",
"examples_random = build_examples(test)\n",
"results_random = execute_results(test, examples_random)\n",
"save_results(test, results_random)"
],
"id": "848eab44283945c6"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-02-06T21:26:49.148361Z",
"start_time": "2026-02-06T21:26:48.975151Z"
"end_time": "2026-02-07T21:00:12.376487Z",
"start_time": "2026-02-07T21:00:12.071794Z"
}
},
"cell_type": "code",
"source": [
"with open(f\"gha_results{test}.pkl\", \"rb\") as f:\n",
"with open(f\"gha_results{test}_all.pkl\", \"rb\") as f:\n",
" results = pickle.load(f)"
],
"id": "4c20a0579c0f7038",
"outputs": [],
"outputs": [
{
"ename": "FileNotFoundError",
"evalue": "[Errno 2] No such file or directory: 'gha_resultsKarney.pkl'",
"output_type": "error",
"traceback": [
"\u001B[31m---------------------------------------------------------------------------\u001B[39m",
"\u001B[31mFileNotFoundError\u001B[39m Traceback (most recent call last)",
"\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[6]\u001B[39m\u001B[32m, line 1\u001B[39m\n\u001B[32m----> \u001B[39m\u001B[32m1\u001B[39m \u001B[38;5;28;01mwith\u001B[39;00m \u001B[38;5;28;43mopen\u001B[39;49m\u001B[43m(\u001B[49m\u001B[33;43mf\u001B[39;49m\u001B[33;43m\"\u001B[39;49m\u001B[33;43mgha_results\u001B[39;49m\u001B[38;5;132;43;01m{\u001B[39;49;00m\u001B[43mtest\u001B[49m\u001B[38;5;132;43;01m}\u001B[39;49;00m\u001B[33;43m.pkl\u001B[39;49m\u001B[33;43m\"\u001B[39;49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[33;43m\"\u001B[39;49m\u001B[33;43mrb\u001B[39;49m\u001B[33;43m\"\u001B[39;49m\u001B[43m)\u001B[49m \u001B[38;5;28;01mas\u001B[39;00m f:\n\u001B[32m 2\u001B[39m results = pickle.load(f)\n",
"\u001B[36mFile \u001B[39m\u001B[32m~\\PythonInterpreter\\Lib\\site-packages\\IPython\\core\\interactiveshell.py:343\u001B[39m, in \u001B[36m_modified_open\u001B[39m\u001B[34m(file, *args, **kwargs)\u001B[39m\n\u001B[32m 336\u001B[39m \u001B[38;5;28;01mif\u001B[39;00m file \u001B[38;5;129;01min\u001B[39;00m {\u001B[32m0\u001B[39m, \u001B[32m1\u001B[39m, \u001B[32m2\u001B[39m}:\n\u001B[32m 337\u001B[39m \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mValueError\u001B[39;00m(\n\u001B[32m 338\u001B[39m \u001B[33mf\u001B[39m\u001B[33m\"\u001B[39m\u001B[33mIPython won\u001B[39m\u001B[33m'\u001B[39m\u001B[33mt let you open fd=\u001B[39m\u001B[38;5;132;01m{\u001B[39;00mfile\u001B[38;5;132;01m}\u001B[39;00m\u001B[33m by default \u001B[39m\u001B[33m\"\u001B[39m\n\u001B[32m 339\u001B[39m \u001B[33m\"\u001B[39m\u001B[33mas it is likely to crash IPython. If you know what you are doing, \u001B[39m\u001B[33m\"\u001B[39m\n\u001B[32m 340\u001B[39m \u001B[33m\"\u001B[39m\u001B[33myou can use builtins\u001B[39m\u001B[33m'\u001B[39m\u001B[33m open.\u001B[39m\u001B[33m\"\u001B[39m\n\u001B[32m 341\u001B[39m )\n\u001B[32m--> \u001B[39m\u001B[32m343\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[43mio_open\u001B[49m\u001B[43m(\u001B[49m\u001B[43mfile\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43m*\u001B[49m\u001B[43margs\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43m*\u001B[49m\u001B[43m*\u001B[49m\u001B[43mkwargs\u001B[49m\u001B[43m)\u001B[49m\n",
"\u001B[31mFileNotFoundError\u001B[39m: [Errno 2] No such file or directory: 'gha_resultsKarney.pkl'"
]
}
],
"execution_count": 6
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-02-07T17:02:37.451141Z",
"end_time": "2026-02-07T20:59:54.841038500Z",
"start_time": "2026-02-07T17:02:15.854020Z"
}
},