That's quite a neat trick. You do need to be careful if the same matrix appears more than once in your einsum call though.
Very nicely explained. Your article on rendering fractals was also well-done!
Thank you!
Nice and easy article for a normally complicated topic.
..and for complex valued tensors, you need to conjugate.
I've only accounted for real numbers. I'm not sure how to cleanly account for conjugates when some of the einsums would need them and others wouldn't.
For example, a matrix product would need a complex conjugate, but a Hadamard product wouldn't.
If there is an elegant way to extend this to complex numbers, let me know!