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.

Wiki Link for Kronecker Product for those (like me) who didn't know what it meant.

I mean, there's also a link on the page (the red-brownish strings are links).

Oh, I didn't read your post properly and thought the article was yet to come out.

I really like your writing style and website design. Also, it's the sort of stuff that I want to study. Thanks for sharing.

Oh, thank you. That's a very cute thing to say ^^

This is a cool way of thinking about these transformations :)

Thank you, sensei! :)

Nice article. This StackExchange comment is useful in understanding how to convert the matrix into code.