I do indeed know NR. (Unfortunately, it’s one of the trouble spots when it comes to permissive licenses.) Actually, while doing some of what I mentioned above, I consulted the relevant chapter while writing some FFT code. Unsurprisingly, this wasn’t very fast in pure Lua.
For that matter, I dabbled in SVDs too. :) (Rank decomposition.) There’s a lot of ongoing research here! More than ever with all the new tensor libraries, I suppose. I even tried to read some of it, eventually picking up a book for some better grounding. Didn’t follow up much with SVDs, but have implemented a few other things from that, though it always comes back around to speed. And even if the math itself were fast, all these operations will punish you to no end if you don’t have an amenable memory layout, and it doesn’t help that they tend to grow quickly in size.
Good luck with Tensorflow! (On topic.)
If this is any indication, there’s definitely some interest in getting something going. The poster’s last words also seem to corroborate that “the most common use case is probably going to be using them, rather than training them”.