NTT-learning/notebooks/COURSE_COMPLETE.ipynb

109 lines
11 KiB
Text

{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"pedagogy": {
"role": "meta",
"difficulty": 1,
"kind": "theme",
"title": "Notebook Theme"
}
},
"source": "<style>\n.jp-RenderedHTMLCommon .ntt-cell-head {\n position: relative;\n margin: 0 0 0.8rem 0;\n padding: 0.95rem 1rem 1rem 1rem;\n border-radius: 16px;\n border: 1px solid rgba(16,42,67,0.12);\n box-shadow: 0 8px 24px rgba(16,42,67,0.06);\n font-family: \"Avenir Next\", \"Trebuchet MS\", sans-serif;\n}\n\n.jp-RenderedHTMLCommon .ntt-cell-topline {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n align-items: center;\n margin-bottom: 0.55rem;\n}\n\n.jp-RenderedHTMLCommon .ntt-kind-pill,\n.jp-RenderedHTMLCommon .ntt-route-pill,\n.jp-RenderedHTMLCommon .ntt-difficulty-pill {\n display: inline-flex;\n align-items: center;\n padding: 0.18rem 0.58rem;\n border-radius: 999px;\n font-size: 0.72rem;\n font-weight: 800;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n}\n\n.jp-RenderedHTMLCommon .ntt-role-meta {\n background: linear-gradient(135deg, #e2f3ff 0%, #f5fbff 100%);\n}\n\n.jp-RenderedHTMLCommon .ntt-role-mandatory {\n background: linear-gradient(135deg, #fff1b8 0%, #ffd980 100%);\n}\n\n.jp-RenderedHTMLCommon .ntt-role-facultative {\n background: linear-gradient(135deg, #ffe3d4 0%, #ffc3ae 100%);\n}\n\n.jp-RenderedHTMLCommon .ntt-kind-pill {\n color: #102a43;\n background: rgba(16,42,67,0.08);\n}\n\n.jp-RenderedHTMLCommon .ntt-route-pill {\n color: #102a43;\n background: rgba(255,255,255,0.82);\n}\n\n.jp-RenderedHTMLCommon .ntt-difficulty-pill {\n position: absolute;\n top: 0.95rem;\n right: 1rem;\n color: #102a43;\n background: rgba(255,255,255,0.88);\n border: 1px solid rgba(16,42,67,0.08);\n box-shadow: 0 4px 12px rgba(16,42,67,0.08);\n}\n\n.jp-RenderedHTMLCommon .ntt-cell-title {\n margin: 0;\n font-size: 1.25rem;\n line-height: 1.25;\n font-weight: 850;\n color: #102a43;\n padding-right: 5.3rem;\n}\n\n.jp-RenderedHTMLCommon .ntt-cell-body-hint {\n margin-top: 0.3rem;\n font-size: 0.84rem;\n color: #486581;\n}\n\n.jupyter-widgets.widget-container,\n.jupyter-widgets.widget-box,\n.jupyter-widgets.widget-vbox,\n.jupyter-widgets.widget-hbox {\n width: 100% !important;\n max-width: 100% !important;\n min-width: 0 !important;\n}\n\n.widget-html-content svg {\n display: block !important;\n width: 100% !important;\n max-width: 100% !important;\n height: auto !important;\n}\n</style>\n"
},
{
"cell_type": "markdown",
"metadata": {
"pedagogy": {
"role": "meta",
"difficulty": 1,
"kind": "route_nav",
"title": "Route Guardrails"
}
},
"source": "<div class=\"ntt-cell-head ntt-role-meta\">\n <span class=\"ntt-difficulty-pill\">Level 1</span>\n <div class=\"ntt-cell-topline\">\n <span class=\"ntt-kind-pill\">route map</span>\n <span class=\"ntt-route-pill\">route help</span>\n </div>\n <h2 class=\"ntt-cell-title\">Route Guardrails</h2>\n</div>\n\nYou are at **step 27 of 27** in the only supported route.\n\nNever choose the next notebook manually from the file tree. Use only the links in this cell and the final handoff cell.\n\n**Immediate navigation**\n- Next notebook: you are at the end of the supported route\n- Previous notebook: [Professional / 06 Debugging NTT Failures / Studio](professional/06_debugging_ntt_failures/studio.ipynb)\n- Restart route: [Start Here](START_HERE.ipynb)\n\n**Official route chain**\n1. [Start Here](START_HERE.ipynb)\n2. [Course Blueprint](COURSE_BLUEPRINT.ipynb)\n3. [Foundations / 01 Convolution To Toy NTT / Lecture](foundations/01_convolution_to_toy_ntt/lecture.ipynb)\n4. [Foundations / 01 Convolution To Toy NTT / Lab](foundations/01_convolution_to_toy_ntt/lab.ipynb)\n5. [Foundations / 01 Convolution To Toy NTT / Problems](foundations/01_convolution_to_toy_ntt/problems.ipynb)\n6. [Foundations / 01 Convolution To Toy NTT / Studio](foundations/01_convolution_to_toy_ntt/studio.ipynb)\n7. [Foundations / 02 Negative Wrapped NTT / Lecture](foundations/02_negative_wrapped_ntt/lecture.ipynb)\n8. [Foundations / 02 Negative Wrapped NTT / Lab](foundations/02_negative_wrapped_ntt/lab.ipynb)\n9. [Foundations / 02 Negative Wrapped NTT / Problems](foundations/02_negative_wrapped_ntt/problems.ipynb)\n10. [Foundations / 02 Negative Wrapped NTT / Studio](foundations/02_negative_wrapped_ntt/studio.ipynb)\n11. [Butterfly Mechanics / 03 Fast Forward CT / Lecture](butterfly_mechanics/03_fast_forward_ct/lecture.ipynb)\n12. [Butterfly Mechanics / 03 Fast Forward CT / Lab](butterfly_mechanics/03_fast_forward_ct/lab.ipynb)\n13. [Butterfly Mechanics / 03 Fast Forward CT / Problems](butterfly_mechanics/03_fast_forward_ct/problems.ipynb)\n14. [Butterfly Mechanics / 03 Fast Forward CT / Studio](butterfly_mechanics/03_fast_forward_ct/studio.ipynb)\n15. [Butterfly Mechanics / 04 Fast Inverse GS / Lecture](butterfly_mechanics/04_fast_inverse_gs/lecture.ipynb)\n16. [Butterfly Mechanics / 04 Fast Inverse GS / Lab](butterfly_mechanics/04_fast_inverse_gs/lab.ipynb)\n17. [Butterfly Mechanics / 04 Fast Inverse GS / Problems](butterfly_mechanics/04_fast_inverse_gs/problems.ipynb)\n18. [Butterfly Mechanics / 04 Fast Inverse GS / Studio](butterfly_mechanics/04_fast_inverse_gs/studio.ipynb)\n19. [Kyber Mapping / 05 Kyber NTT And Base Multiplication / Lecture](kyber_mapping/05_kyber_ntt_and_base_multiplication/lecture.ipynb)\n20. [Kyber Mapping / 05 Kyber NTT And Base Multiplication / Lab](kyber_mapping/05_kyber_ntt_and_base_multiplication/lab.ipynb)\n21. [Kyber Mapping / 05 Kyber NTT And Base Multiplication / Problems](kyber_mapping/05_kyber_ntt_and_base_multiplication/problems.ipynb)\n22. [Kyber Mapping / 05 Kyber NTT And Base Multiplication / Studio](kyber_mapping/05_kyber_ntt_and_base_multiplication/studio.ipynb)\n23. [Professional / 06 Debugging NTT Failures / Lecture](professional/06_debugging_ntt_failures/lecture.ipynb)\n24. [Professional / 06 Debugging NTT Failures / Lab](professional/06_debugging_ntt_failures/lab.ipynb)\n25. [Professional / 06 Debugging NTT Failures / Problems](professional/06_debugging_ntt_failures/problems.ipynb)\n26. [Professional / 06 Debugging NTT Failures / Studio](professional/06_debugging_ntt_failures/studio.ipynb)\n27. **Course Complete** <- you are here\n"
},
{
"cell_type": "markdown",
"metadata": {
"pedagogy": {
"role": "meta",
"difficulty": 1,
"kind": "orientation",
"title": "Route Complete"
}
},
"source": "<div class=\"ntt-cell-head ntt-role-meta\">\n <span class=\"ntt-difficulty-pill\">Level 1</span>\n <div class=\"ntt-cell-topline\">\n <span class=\"ntt-kind-pill\">big picture</span>\n <span class=\"ntt-route-pill\">route help</span>\n </div>\n <h2 class=\"ntt-cell-title\">Route Complete</h2>\n</div>\n\nYou reached the end of the supported route.\n\nIf the course did its job, you should now be able to separate:\n\n- raw polynomial multiplication\n- negacyclic structure\n- direct NTT / iNTT definitions\n- fast CT / GS butterfly flow\n- order changes and scaling\n- Kyber\u2019s specific modulus and base-multiplication story\n"
},
{
"cell_type": "markdown",
"metadata": {
"pedagogy": {
"role": "mandatory",
"difficulty": 2,
"kind": "reflection",
"title": "Exit Reflection"
}
},
"source": "<div class=\"ntt-cell-head ntt-role-mandatory\">\n <span class=\"ntt-difficulty-pill\">Level 2</span>\n <div class=\"ntt-cell-topline\">\n <span class=\"ntt-kind-pill\">reflection</span>\n <span class=\"ntt-route-pill\">core path</span>\n </div>\n <h2 class=\"ntt-cell-title\">Exit Reflection</h2>\n</div>\n\nFinal written prompts:\n\n1. Explain the difference between \u201cthe transform as mathematics\u201d and \u201cthe butterfly network as an implementation strategy\u201d.\n2. Explain why Kyber v3 needs more than the naive \u201cjust use a 2n-th root\u201d mental model.\n3. Name the first four checks you would run if an iNTT output looked wrong.\n"
},
{
"cell_type": "markdown",
"metadata": {
"pedagogy": {
"role": "meta",
"difficulty": 1,
"kind": "handoff",
"title": "Next Notebook"
}
},
"source": "<div class=\"ntt-cell-head ntt-role-meta\">\n <span class=\"ntt-difficulty-pill\">Level 1</span>\n <div class=\"ntt-cell-topline\">\n <span class=\"ntt-kind-pill\">next step</span>\n <span class=\"ntt-route-pill\">route help</span>\n </div>\n <h2 class=\"ntt-cell-title\">Next Notebook</h2>\n</div>\n\nYou finished **Course Complete**.\n\n**Primary next action**\n- Next notebook: you are at the end of the supported route\n\n**Recovery links if you get lost**\n- Previous notebook: [Professional / 06 Debugging NTT Failures / Studio](professional/06_debugging_ntt_failures/studio.ipynb)\n- Restart route: [Start Here](START_HERE.ipynb)\n"
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python"
},
"ntt_learning": {
"title": "Course Complete",
"contract_version": "0.2",
"sequence": [
"notebooks/START_HERE.ipynb",
"notebooks/COURSE_BLUEPRINT.ipynb",
"notebooks/foundations/01_convolution_to_toy_ntt/lecture.ipynb",
"notebooks/foundations/01_convolution_to_toy_ntt/lab.ipynb",
"notebooks/foundations/01_convolution_to_toy_ntt/problems.ipynb",
"notebooks/foundations/01_convolution_to_toy_ntt/studio.ipynb",
"notebooks/foundations/02_negative_wrapped_ntt/lecture.ipynb",
"notebooks/foundations/02_negative_wrapped_ntt/lab.ipynb",
"notebooks/foundations/02_negative_wrapped_ntt/problems.ipynb",
"notebooks/foundations/02_negative_wrapped_ntt/studio.ipynb",
"notebooks/butterfly_mechanics/03_fast_forward_ct/lecture.ipynb",
"notebooks/butterfly_mechanics/03_fast_forward_ct/lab.ipynb",
"notebooks/butterfly_mechanics/03_fast_forward_ct/problems.ipynb",
"notebooks/butterfly_mechanics/03_fast_forward_ct/studio.ipynb",
"notebooks/butterfly_mechanics/04_fast_inverse_gs/lecture.ipynb",
"notebooks/butterfly_mechanics/04_fast_inverse_gs/lab.ipynb",
"notebooks/butterfly_mechanics/04_fast_inverse_gs/problems.ipynb",
"notebooks/butterfly_mechanics/04_fast_inverse_gs/studio.ipynb",
"notebooks/kyber_mapping/05_kyber_ntt_and_base_multiplication/lecture.ipynb",
"notebooks/kyber_mapping/05_kyber_ntt_and_base_multiplication/lab.ipynb",
"notebooks/kyber_mapping/05_kyber_ntt_and_base_multiplication/problems.ipynb",
"notebooks/kyber_mapping/05_kyber_ntt_and_base_multiplication/studio.ipynb",
"notebooks/professional/06_debugging_ntt_failures/lecture.ipynb",
"notebooks/professional/06_debugging_ntt_failures/lab.ipynb",
"notebooks/professional/06_debugging_ntt_failures/problems.ipynb",
"notebooks/professional/06_debugging_ntt_failures/studio.ipynb",
"notebooks/COURSE_COMPLETE.ipynb"
]
}
},
"nbformat": 4,
"nbformat_minor": 5
}