Olexa Bilaniuk's IFT6266H16 Course Blog

In Python’s Numpy library lives an extremely general, but little-known and used, function called `einsum()`

that performs summation according to *Einstein’s summation convention*. In this tutorial article, we demystify `einsum()`

.

The only thing that the reader should need is an understanding of multidimensional Linear Algebra and Python programming. The reader will be better-prepared if he has, in the past, implemented the classic matrix multiplication using three nested loops in the language of his choice.

# Why you should learn about it

The Einstein summation convention is the ultimate generalization of products such as matrix multiplication to multiple dimensions. It offers a compact and elegant way of specifying almost any product of scalars/vectors/matrices/tensors. Despite its generality, it can reduce the number of errors made by computer scientists and reduce the time they spend reasoning about linear algebra. It does so by being simultaneously *clearer*, *more explicit*, *more self-documenting*

View original post 2,150 more words