Các nhân Schönhage-Strassen thuật toán hoạt động bằng cách chuyển phép nhân kích thước thành nhiều phép nhân kích thước với một số lý thuyết biến đổi, và recursing. Ít nhất tôi nghĩ đó là những gì nó làm bởi vì có một số sự thông minh khác và tôi thực sự không hiểu nó đủ tốt để tóm tắt chính xác. Nó kết thúc sau .
Một biến đổi lý thuyết số hoàn toàn giống như một Biến đổi Fourier rời rạc , ngoại trừ nó được thực hiện trong trường hữu hạn của các số nguyên modulo . Điều này làm cho các hoạt động rẻ hơn rất nhiều, vì biến đổi Fourier có rất nhiều nhân với nguồn gốc của sự thống nhất, và gốc rễ của sự thống nhất của là tất cả sức mạnh của 2 vì vậy chúng ta có thể thay đổi! Ngoài ra, số nguyên dễ làm việc hơn rất nhiều so với số phức dấu phẩy động.
Dù sao đi nữa, điều khiến tôi bối rối là đó là rất lớn. Nếu tôi cung cấp cho bạn một phần tử ngẫu nhiên từ , phải mất các bit để chỉ định nó. Vì vậy, thêm hai yếu tố sẽ mất thời gian . Và DFT thực hiện rất nhiều bổ sung.
Schönhage sừng Strassen chia đầu vào thành các nhóm với các bit . Các nhóm này là các giá trị của mà nó sẽ biến đổi. Mỗi lộ trình qua các DFT sẽ có bổ sung / bớt, và có đi. Vì vậy, dựa trên việc bổ sung mất thời gian , có vẻ như chi phí của tất cả các bổ sung đó phải là , không có triệu chứng giống như .
Chúng ta có thể làm tốt hơn một chút so với điều đó ... bởi vì các giá trị bắt đầu quá nhỏ, các bổ sung khá thưa thớt. Vượt qua đầu tiên 'bổ sung thực sự chỉ tốn mỗi lần và vượt qua lần thứ hai' tốn mỗi lần và vượt qua 'chi phí' mỗi cái, nhưng tất cả vẫn chỉ là một khủng khiếp .
Làm thế nào là Schönhage Thẻ Strassen làm cho các bổ sung giá rẻ? Chúng có giá bao nhiêu?
Có phải vì thuật toán thực sự sử dụng (với Đảm bảo là một quyền lực của 2)? Có đủ xếp chồng lên nhauvà tiếng Đức trong bài báo mà tôi thực sự không chắc chắn. Mặt khác, tôi không nghĩ rằng đảm bảo đủ nguồn gốc của sự thống nhất để mọi thứ được giải quyết.