HackerTrans
TopNewTrendsCommentsPastAskShowJobs

clearprop

no profile record

Submissions

Designing Critical Systems. Airplanes, Medical Devices, and Blockchains

alvarorevuelta.com
5 points·by clearprop·в прошлом году·1 comments

Using a Real Quantum Computer for Ethereum Keys

alvarorevuelta.com
1 points·by clearprop·2 года назад·0 comments

Ergodicity and Stationarity. Luck but Not for You

alvarorevuelta.com
6 points·by clearprop·2 года назад·0 comments

Convolutions, Fast Fourier Transform and polynomials (2022)

alvarorevuelta.com
230 points·by clearprop·2 года назад·57 comments

comments

clearprop
·2 года назад·discuss
I thought Rust was thread-safe and I don't see any "unsafe" blocks. What am I missing?
clearprop
·2 года назад·discuss
Indeed, updated: https://github.com/alrevuelta/myblog/commit/9fcc3dc84b1d9b66...

Thanks for the feedback.
clearprop
·2 года назад·discuss
Great feedback. I have updated the post using convolve instead. There is a huge difference convolve/naive. On the other hand, convolved is slower than the FFT as expected, but for greater than 3000 degree polynomials or so. See diff: https://github.com/alrevuelta/myblog/commit/9fcc3dc84b1d9b66...
clearprop
·2 года назад·discuss
Thanks! In case it helps: * Multiplying two polynomials as taught in school is in reality a convolution. * "performing the convolution of two signals in the time domain is equivalent to multiplying them in the frequency domain" * FFT allows us to convert from time domain to frequency domain * We use FFT to convert our polynomial to frequency domain. * If we are now in the frequency domain, we just need to multiply. Faster than a convolution.

Does it clarify the missing step? Happy to update the post with what's missing.
clearprop
·2 года назад·discuss
Thanks for the comment. That makes sense, since as you are saying, a base10 number can be expressed as a polynomial where x=10. Eg: 983 = 9x^2 + 8x + 3 aka [9, 8, 3]. Wondering how big the number has to be to make sense, and where this is used in practice.