NumPy: Evaluate Einstein’s summation convention of two given multidimensional arrays
NumPy: Linear Algebra Exercise-5 with Solution
Write a NumPy program to evaluate Einstein’s summation convention of two given multidimensional arrays.
Note: In mathematics, especially in applications of linear algebra to physics, the Einstein notation or Einstein summation convention is a notational convention that implies summation over a set of indexed terms in a formula, thus achieving notational brevity.
Sample Solution :
Python Code :
import numpy as np a = np.array([1,2,3]) b = np.array([0,1,0]) print("Original 1-d arrays:") print(a) print(b) result = np.einsum("n,n", a, b) print("Einstein’s summation convention of the said arrays:") print(result) x = np.arange(9).reshape(3, 3) y = np.arange(3, 12).reshape(3, 3) print("Original Higher dimension:") print(x) print(y) result = np.einsum("mk,kn", x, y) print("Einstein’s summation convention of the said arrays:") print(result)
Original 1-d arrays: [1 2 3] [0 1 0] Einstein’s summation convention of the said arrays: 2 Original Higher dimension: [[0 1 2] [3 4 5] [6 7 8]] [[ 3 4 5] [ 6 7 8] [ 9 10 11]] Einstein’s summation convention of the said arrays: [[ 24 27 30] [ 78 90 102] [132 153 174]]
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a NumPy program to compute the determinant of a given square array.
Next: Write a NumPy program to compute the inner product of vectors for 1-D arrays (without complex conjugation) and in higher dimension.
What is the difficulty level of this exercise?
Test your Python skills with w3resource's quiz
Python: Tips of the Day
Getting the last element of a list:
some_list[-1] is the shortest and most Pythonic.
In fact, you can do much more with this syntax. The some_list[-n] syntax gets the nth-to-last element. So some_list[-1] gets the last element, some_list[-2] gets the second to last, etc, all the way down to some_list[-len(some_list)], which gives you the first element.
You can also set list elements in this way. For instance:
>>> some_list = [1, 2, 3] >>> some_list[-1] = 5 # Set the last element >>> some_list[-2] = 3 # Set the second to last element >>> some_list [1, 3, 5]
Note that getting a list item by index will raise an IndexError if the expected item doesn't exist. This means that some_list[-1] will raise an exception if some_list is empty, because an empty list can't have a last element.
- New Content published on w3resource:
- Scala Programming Exercises, Practice, Solution
- Python Itertools exercises
- Python Numpy exercises
- Python GeoPy Package exercises
- Python Pandas exercises
- Python nltk exercises
- Python BeautifulSoup exercises
- Form Template
- Composer - PHP Package Manager
- PHPUnit - PHP Testing
- Laravel - PHP Framework