signature_function/notebooks/tests.ipynb
2021-07-22 23:24:13 +02:00

581 lines
15 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"%load_ext pycodestyle_magic\n",
"\n",
"# display full output, not only last result, except ended with semicolon\n",
"from IPython.core.interactiveshell import InteractiveShell\n",
"InteractiveShell.ast_node_interactivity = 'all';\n",
"from IPython.display import Image, SVG\n",
"import logging\n",
"logging.basicConfig(level=logging.INFO)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import path\n",
"from gaknot import import_sage\n",
"cs = import_sage('cable_signature', package='gaknot', path=path.module_path)\n",
"sg = import_sage('signature', package='gaknot', path=path.module_path)\n",
"m = import_sage('main', package='gaknot', path=path.module_path)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": false
},
"outputs": [],
"source": [
"m.prove_lemma(verbose=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Other cables"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": false
},
"outputs": [],
"source": [
"# knot_formula = \"[[k[0], k[1], k[3]],\" + \\\n",
"# \" [-k[1], -k[3]],\" + \\\n",
"# \" [k[2], k[3]],\" + \\\n",
"# \" [-k[0], -k[2], -k[3]]]\"\n",
"# # q_vector = (3, 5, 7, 13)\n",
"# q_vector = (3, 5, 7, 11)\n",
"\n",
"# template = cs.CableTemplate(knot_formula, q_vector=q_vector, verbose=True)\n",
"# cable = template.cable\n",
"# # cable.plot_all_summands()\n",
"# cable.is_function_big_for_all_metabolizers(invariant=cs.SIGMA)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Cables with 8 direct summands "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"formula_1 = \"[[k[0], k[5], k[3]], \" + \\\n",
" \"[-k[1], -k[3]], \" + \\\n",
" \"[k[2], k[3]], \" + \\\n",
" \"[-k[0], -k[2], -k[3]]]\"\n",
"formula_2 = \"[[k[4], k[1], k[7]], \" + \\\n",
" \"[-k[5], -k[7]], \" + \\\n",
" \"[k[6], k[7]], \" + \\\n",
" \"[-k[4], -k[6], -k[7]]]\"\n",
"\n",
"\n",
"\n",
"# cable_template_1 = cs.CableTemplate(knot_formula=formula_1)\n",
"# cable_template_2 = cs.CableTemplate(knot_formula=formula_2)\n",
"# cable_template = cable_template_1 + cable_template_2"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# cable_template.knot_formula"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Relatively small cables "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# q_vector = (5, 13, 19, 41,\\\n",
"# 7, 17, 23, 43)\n",
"# cable_template.fill_q_vector(q_vector=q_vector)\n",
"# cable = cable_template.cable\n",
"# print(cable.knot_description)\n",
"\n",
"# q_vector_small = (3, 7, 13, 19,\\\n",
"# 5, 11, 17, 23)\n",
"# cable_template.fill_q_vector(q_vector=q_vector)\n",
"# cable = cable_template.cable\n",
"# print(cable.knot_description)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"# cable.is_signature_big_for_all_metabolizers()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Slice candidate"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"\n",
"# cable_template.fill_q_vector()\n",
"# # print(cable_template.q_vector)\n",
"# # print(cable_template.knot_formula)\n",
"\n",
"# slice_canidate = cable_template.cable\n",
"# print(slice_canidate.knot_description)\n",
"# sf = slice_canidate(4,4,4,4,0,0,0,0)\n",
"# sf = slice_canidate(4,1,1,4,0,0,0,0)\n",
"\n",
"\n",
"# cable.is_signature_big_for_all_metabolizers()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"\n",
"\n",
"# knot_formula = \"[[k[0], k[1], k[4]], [-k[1], -k[3]],\\\n",
"# [k[2], k[3]], [-k[0], -k[2], -k[4]]]\"\n",
"\n",
"# knot_formula = \"[[k[3]], [-k[3]],\\\n",
"# [k[3]], [-k[3]] ]\"\n",
"\n",
"# knot_formula = \"[[k[3], k[2], k[0]], [-k[2], -k[0]],\\\n",
"# [k[1], k[0]], [-k[3], -k[1], -k[0]]]\"\n",
"\n",
"# knot_formula = \"[[k[0], k[1], k[2]], [k[3], k[4]],\\\n",
"# [-k[0], -k[3], -k[4]], [-k[1], -k[2]]]\"\n",
"\n",
"# knot_formula = \"[[k[0], k[1], k[2]], [k[3]],\\\n",
"# [-k[0], -k[1], -k[3]], [-k[2]]]\""
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"formula_1 = \"[[k[0], k[5], k[3]], \" + \\\n",
" \"[-k[1], -k[3]], \" + \\\n",
" \"[k[2], k[3]], \" + \\\n",
" \"[-k[0], -k[2], -k[3]]]\"\n",
"formula_2 = \"[[k[4], k[1], k[7]], \" + \\\n",
" \"[-k[5], -k[7]], \" + \\\n",
" \"[k[6], k[7]], \" + \\\n",
" \"[-k[4], -k[6], -k[7]]]\"\n",
"\n",
"\n",
"\n",
"# cable_template_1 = cs.CableTemplate(knot_formula=formula_1)\n",
"# cable_template_2 = cs.CableTemplate(knot_formula=formula_2)\n",
"# cable_template = cable_template_1 + cable_template_2\n",
"\n",
"# cable_template.fill_q_vector()\n",
"# # print(cable_template.q_vector)\n",
"# # print(cable_template.knot_formula)\n",
"\n",
"# slice_canidate = cable_template.cable\n",
"# print(slice_canidate.knot_description)\n",
"# sf = slice_canidate(4,4,4,4,0,0,0,0)\n",
"# sf = slice_canidate(4,1,1,4,0,0,0,0)\n",
"\n",
"\n",
"# slice_canidate.q_order\n",
"# # slice_canidate.is_signature_big_for_all_metabolizers()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"formula_1 = \"[[k[0], k[5], k[3]], \" + \\\n",
" \"[-k[5], -k[3]], \" + \\\n",
" \"[k[2], k[3]], \" + \\\n",
" \"[-k[4], -k[2], -k[3]]]\"\n",
"formula_2 = \"[[k[4], k[1], k[7]], \" + \\\n",
" \"[-k[1], -k[7]], \" + \\\n",
" \"[k[6], k[7]], \" + \\\n",
" \"[-k[0], -k[6], -k[7]]]\"\n",
"\n",
"\n",
"\n",
"\n",
"# cable_template_1 = cs.CableTemplate(knot_formula=formula_1)\n",
"# cable_template_2 = cs.CableTemplate(knot_formula=formula_2)\n",
"# cable_template = cable_template_1 + cable_template_2\n",
"# cable_template.fill_q_vector()\n",
"\n",
"# slice_canidate = cable_template.cable\n",
"# print(slice_canidate.knot_description)\n",
"\n",
"# slice_canidate.q_order\n",
"# # slice_canidate.is_signature_big_for_all_metabolizers()\n",
"# sigma = slice_canidate.get_sigma_as_function_of_theta()\n",
"# # sigma((0, 6, 6, 0, 0,0,0,0))\n",
"# # 13450/83\n",
"# sigma((9, 9, 9, 9, 0,0,0,0))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": false
},
"outputs": [],
"source": [
"formula_1 = \"[[k[0], k[5], k[3]], \" + \\\n",
" \"[-k[1], -k[3]], \" + \\\n",
" \"[ k[3]], \" + \\\n",
" \"[-k[4], -k[6], -k[3]]]\"\n",
"\n",
"formula_2 = \"[[k[4], k[1], k[7]], \" + \\\n",
" \"[ -k[7]], \" + \\\n",
" \"[k[6], k[7]], \" + \\\n",
" \"[-k[0], -k[5], -k[7]]]\"\n",
"\n",
"\n",
"\n",
"\n",
"# cable_template_1 = cs.CableTemplate(knot_formula=formula_1)\n",
"# cable_template_2 = cs.CableTemplate(knot_formula=formula_2)\n",
"# cable_template = cable_template_1 + cable_template_2\n",
"\n",
"# cable_template.fill_q_vector()\n",
"# # print(cable_template.q_vector)\n",
"# # print(cable_template.knot_formula)\n",
"\n",
"# slice_canidate = cable_template.cable\n",
"# print(slice_canidate.knot_description)\n",
"# sf = slice_canidate(4,4,4,4,0,0,0,0)\n",
"# sf = slice_canidate(4,1,1,4,0,0,0,0)\n",
"# slice_canidate.is_signature_big_for_all_metabolizers()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": false
},
"outputs": [],
"source": [
"formula_1 = \" [ [k[5], k[3]], \" + \\\n",
" \" [ -k[1], -k[3]], \" + \\\n",
" \" [ k[3]], \" + \\\n",
" \"[-k[4], -k[6], -k[3]]]\"\n",
"\n",
"formula_2 = \"[[k[4], k[1], k[7]], \" + \\\n",
" \"[ -k[7]], \" + \\\n",
" \"[k[6], k[7]], \" + \\\n",
" \"[-k[5], -k[7]]]\"\n",
"\n",
"\n",
"\n",
"\n",
"# cable_template_1 = cs.CableTemplate(knot_formula=formula_1)\n",
"# cable_template_2 = cs.CableTemplate(knot_formula=formula_2)\n",
"# cable_template = cable_template_1 + cable_template_2\n",
"\n",
"# cable_template.fill_q_vector()\n",
"# # print(cable_template.q_vector)\n",
"# # print(cable_template.knot_formula)\n",
"\n",
"# slice_canidate = cable_template.cable\n",
"# print(slice_canidate.knot_description)\n",
"# sf = slice_canidate(4,4,4,4,0,0,0,0)\n",
"# sf = slice_canidate(4,1,1,4,0,0,0,0)\n",
"# slice_canidate.q_order\n",
"# # slice_canidate.is_signature_big_for_all_metabolizers()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# sf = slice_canidate()\n",
"# sf = sf[2]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# sf.plot()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"formula_1 = \"[ [k[5], k[3]], \" + \\\n",
" \"[ -k[1], -k[3]], \" + \\\n",
" \"[ k[3]], \" + \\\n",
" \"[ -k[6], -k[3]]]\"\n",
"\n",
"formula_2 = \"[[ k[1], k[7]], \" + \\\n",
" \"[ -k[7]], \" + \\\n",
" \"[ k[6], k[7]], \" + \\\n",
" \"[ -k[5], -k[7]]]\""
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# cable_template_1 = cs.CableTemplate(knot_formula=formula_1)\n",
"# cable_template_2 = cs.CableTemplate(knot_formula=formula_2)\n",
"# cable_template = cable_template_1 + cable_template_2"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# cable_template.knot_formula"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# cable_template.fill_q_vector()\n",
"# print(cable_template.q_vector)\n",
"# print(cable_template.knot_formula)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# cable_template.fill_q_vector()\n",
"# print(cable_template.q_vector)\n",
"# print(cable_template.knot_formula)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# slice_canidate = cable_template.cable\n",
"# print(slice_canidate.knot_description)\n",
"# sf = slice_canidate(4,4,4,4,0,0,0,0)\n",
"# sf = slice_canidate(4,1,1,4,0,0,0,0)\n",
"# slice_canidate.q_order"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# slice_canidate.is_sigma_big_for_all_metabolizers()\n",
"# slice_canidate.is_signature_big_for_all_metabolizers()\n",
"# slice_canidate.is_function_big_for_all_metabolizers()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"# slice_canidate.is_function_big_for_all_metabolizers(invariant=cs.SIGMA)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"# slice_canidate.is_function_big_for_all_metabolizers(invariant=cs.SIGNATURE)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# sigma = slice_canidate.get_sigma_as_function_of_theta()\n",
"# sigma((0, 6, 6, 0, 0,0,0,0))\n",
"# # 13450/83\n",
"# sigma((9, 0, 0, 9, 0,0,0,0))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# _, _, sf = slice_canidate((1, 1, 0, 0, 0,0,0,0))\n",
"# sf"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# sg.SignaturePloter.plot(sf)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"\n",
"# slice_canidate.plot_sum_for_theta_vector([0r,4r,0r,4r,0r,0r,0r,0r], save_to_dir=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# sf.plot()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# help(cs.CableTemplate.get_q_vector)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "SageMath 9.0",
"language": "sage",
"name": "sagemath"
},
"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.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 4
}