Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

NTT docs #38

Merged
merged 11 commits into from
Feb 15, 2024
Merged

NTT docs #38

merged 11 commits into from
Feb 15, 2024

Conversation

ImmanuelSegol
Copy link
Contributor

No description provided.

@ImmanuelSegol ImmanuelSegol marked this pull request as ready for review February 14, 2024 20:04

The twiddle factors are precomputed to save runtime and improve performance.

4. **Bit-Reversal Permutation:**
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to be more accurate splitting to even and odd is called decimation-in-time (DIT) and required input-reorder.
Output reorder is relevant for decimation-in-frequency where the coefficients are split first-half (lower degree terms) and second-half (higher degree terms). Output reorder is relevant to DIF.


### Mixed Radix

The Mixed Radix NTT algorithm extends the concepts of the Radix-2 algorithm by allowing the decomposition of the input sequence based on various factors of its length, not limited to powers of two. This approach offers enhanced flexibility and efficiency, especially for input sizes that are composite numbers, by leveraging the "divide and conquer" strategy across multiple radixes.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually we are still limited to powers of two. Mixed-radix basically is composed of NTT blocks of sizes 16,32,64 compared to radix2 which is always splitting the problem such that we end with NTT of size 2. The NTT blocks in mixed-radix are implemented more efficiently based on winograd NTT but also optimized memory and register usage is better compared to the older radix2 alg.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"The NTT blocks in Mixed Radix are implemented more efficiently based on winograd NTT but also optimized memory and register usage is better compared to Radix-2." i added this

@yshekel yshekel requested a review from DmytroTym February 15, 2024 13:00
Copy link

@yshekel yshekel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm. Note I commented about a small typo

@ImmanuelSegol ImmanuelSegol merged commit 02608ab into main Feb 15, 2024
2 checks passed
@ImmanuelSegol ImmanuelSegol deleted the ntt-docs branch February 15, 2024 15:28
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants