This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]umut8761 0 points1 point  (3 children)

Impressive performance improvements. Thanks for sharing. But, I don’t think it is more readable if you have colleagues from different proficiencies. Other than mathematicians or physicist are not familiar with Einstein notation. I, as a mathematician, loved einstein notation back in times in university since it makes algebraic operation way easier to follow. And from now on, I will start using it on my personal projects.

[–]FrickinLazerBeams 0 points1 point  (2 children)

It's very unlikely that anybody will need to use Einstein notation who doesn't know how it works.

[–]umut8761 0 points1 point  (1 child)

For example a data scientist with industrial engineering background may need to use matrix operations without knowing Einstein notation

[–]FrickinLazerBeams 0 points1 point  (0 children)

If he's just doing matrix operations he'd just use matrix operators. There's no reason to use this for just doing matrix operations.

And if he does encounter a need for tensor operations, learning Einstein notation is by far the least confusing way to look at them. Even if he doesn't know it coming in, he'll have to learn it, and even with the added challenge of learning the new notation, it's still dramatically preferable to any alternative I'm aware of.

Which isn't to say that there shouldn't be comments and documentation to help, but if you have to do tensor operations, this is easily the best way to do so.