Tenk deg å forstå en algoritme så godt at du kan utføre den - for hånd - fra toppen av hodet - og uten å huske noen unaturlige triks ZK-boken har utvidet seg igjen, denne gangen for å undervise i Fast Fourier-transformasjonen - spesielt den tallteoretiske transformasjonen (NTT). NTT-algoritmen evaluerer et polynom på n punkter i O(n log n) tid. Normalt vil en slik evaluering ta O(n²) tid. Selv om Fast Fourier Transform allerede har mange læringsressurser, syntes vi de var utilfredsstillende. For eksempel er en veldig vanlig forklaring avhengig av å «dele polynomet i partall og oddetall» ved å bruke «twiddle-faktorer» og «sommerfugler». Disse metodene fremstår imidlertid som tilfeldige tilfeldige oppdagelser som beskriver algoritmen i stedet for å forklare den. Vi anser slike funksjoner som er listet opp ovenfor for å være underordnet dypere - og mye lettere å forstå - underliggende konsepter. Vi går til og med så langt som å unngå analogier til komplekse tall. Vi la stor vekt på å sikre at hvert trinn i læringsreisen er motivert og at hvert trinn er en triviell forlengelse av det forrige. Derfor er det ingen konseptuelle sprang eller overraskende oppdagelser. Ikke la kapittelnavnene skremme deg; De underliggende prinsippene er bare grunnleggende algebra. På slutten av de 13 kapitlene vil du kunne beregne den tallteoretiske transformasjonen for hånd! Link neste.