![]() |
VOOZH | about |
In Python, we can use the einsum() function of the NumPy package to compute Einstein's summation convention of two given multidimensional arrays.
Syntax: numpy.einsum(subscripts, *operands, out=None)
Parameters:
subscripts : str
Specifies the subscripts for summation as comma separated list of subscript labels. An implicit (classical Einstein summation) calculation is performed unless the explicit indicator ‘->’ is included as well as subscript labels of the precise output form.
operands : list of array_like
These are the arrays for the operation.
out : ndarray, optional
If provided, the calculation is done into this array.
Returns: The calculation based on the Einstein summation convention.
Example 1: Einstein's summation convention of two 2X2 matrices
Output:
Original matrix: [[1 2] [0 2]] [[0 1] [3 4]] Einstein’s summation convention of the two matrix: [[6 9] [6 8]]
Example 2: Einstein's summation convention of two 3X3 matrices
Output:
Original matrix: [[2 3 5] [4 0 2] [0 6 8]] [[0 1 5] [3 4 4] [8 3 0]] Einstein’s summation convention of the two matrix: [[49 29 22] [16 10 20] [82 48 24]]
Example 3: Einstein's summation convention of two 4X4 matrices
Output:
Original matrix: [[1 2 3 5] [4 4 0 2] [0 1 6 8] [0 5 6 9]] [[0 1 9 2] [3 3 4 4] [1 8 3 0] [5 2 1 6]] Einstein’s summation convention of the two matrix: [[34 41 31 40] [22 20 54 36] [49 67 30 52] [66 81 47 74]]