Here's a bit of shameless self-advertising!

I created my own website instead of posting directly on codeforces because I find it much more flexible and adapted for the other articles I intend to write (sorry for the trouble). I have another almost finished article on abstract algebra in competitive programming (mostly number theoretical applications of group theory and some interesting theoretical CS aspects) and I mention it hoping someone will keep nagging me to finish it, as it lays almost done for almost four months.

Also, about this article specifically, you may skip the *throwback to the FFT* paragraph as it doesn't have much to do with the rest of the article, but reveal some interesting linear algebraic things related to "the classical FFT" and shows the almost ubiquity of Kroneker products in linear transform related convolutions. Just keep in mind that you need to know what the Kroneker product is.

Feel free to ask questions, make suggestions or tell me I'm stupid! :)

Note: I'd like to thank Pascal Sommer and pleasant for helping me correct some grammar and small calculation mistakes.