Install Sage, first session
Sage is the prototyping environment for the next 51 weeks. Before any cryptography happens, you want a reliable local install plus comfort with the embedded SageCell for quick experiments. The install on macOS via conda-forge is the path of least resistance; brew has a history of being broken on Sonoma onward.
Quest Install Sage locally; run the cell below in the embedded SageCell to verify the math kernel responds.
First click loads the SageCell runtime. Output appears below the editor.
Load-bearing idea
Sage is not a wrapper around Python; Sage is a Python superset for which mathematical objects (rings, fields, elliptic curves, modular forms, polynomial rings) are first-class with custom syntax. R.<x, y> = QQ[] is not Python, exactly; it is Sage’s preparser elaborating into Python. Knowing this distinction matters when you start importing Sage from regular Python projects in Q4.
For week one, the goal is a working local install plus the muscle memory to drop a one-off computation into the embedded cell on this site (which routes through sagecell.sagemath.org’s free public servers).
Retrieval prompts
- What’s the difference between
R.<x> = QQ[]andR = QQ['x']? When does each parse correctly? - Where does Sage live on disk after the conda-forge install?
- Why is the embedded SageCell a different runtime than your local install? What can you not do in the embedded cell?
Re-derivation log
After running the cell above: can you predict what factor(x^99 - y^99) returns? Run it. Were you right? If not, what did you learn about cyclotomic factorizations?