2015-07-10 20 views
16

Tôi đang cố gắng thực hiện phép nhân đa thức của mức 4096 bằng cách sử dụng lớp ZZ_pEX từ NTL. Tuy nhiên, nó trả về lỗi "Đa thức quá lớn đối với FFT", và tôi không thể tìm cách làm cho nó hoạt động (hoặc thậm chí một cái gì đó có thể giúp đỡ về tài liệu của NTL), nhưng một bình luận trong một slide nói rằng nó có thể được sửa chữa (mà không nói như thế nào!)."Đa thức quá lớn đối với lỗi FFT" trên NTL

Có ai đã tìm thấy bản sửa lỗi cho điều này không?

+2

Bạn có thể đăng mã của mình để chúng tôi có thể tạo lại lỗi của bạn không? – Henrik

+0

(liên kết tới) trang trình bày có nhận xét cũng có thể hữu ích. – AbcAeffchen

+0

Đây là trang trình bày: http://wiki.sagemath.org/days4schedule?action=AttachFile&do=get&target=flint-talk.pdf –

Trả lời

2

Bạn phải biên dịch lại NTL với GMP, cung cấp các gói thư viện gói GNU Multiprecision number. Khi nó có vẻ phù hợp, gói này sử dụng hacks rất đẹp, ví dụ: FFT, cho số học bignum.

Ở đây, bên dưới "Xây dựng và sử dụng NTL với GMP" là các bước chi tiết bạn cần phải làm theo để biên dịch NTL với GMP: http://www.shoup.net/ntl/doc/tour-gmp.html

Hãy vui vẻ!

+0

Vâng, tôi đã thử nhưng không hoạt động. Tôi vẫn nhận được lỗi tương tự. –

+0

Xin lỗi vì đã hỏi những câu hỏi tiêu chuẩn này trước khi lặn sâu hơn, nhưng bạn sử dụng phiên bản GMP nào? – Kuno

+0

Tôi có các vấn đề tương tự trong năm qua khi thực hiện tính toán trên các đa thức lớn hơn ... Cuối cùng, việc sử dụng GMP cũng có thể tối ưu hóa thời gian tính toán như được hiển thị ở đây (http://www.cs.berkeley.edu/~ fateman/papers/polysbyGMP.pdf). – Kuno

Các vấn đề liên quan