NumPy: Compute the inner product of vectors for 1-D arrays and in higher dimension
Write a NumPy program to compute the inner product of vectors for 1-D arrays (without complex conjugation) and in higher dimension.
Sample Solution:
Python Code :
import numpy as np
# Create two 1-D arrays 'a' and 'b'
a = np.array([1, 2, 5])
b = np.array([2, 1, 0])
# Display the original 1-D arrays 'a' and 'b'
print("Original 1-d arrays:")
print(a)
print(b)
# Calculate the inner product of arrays 'a' and 'b' using np.inner()
result = np.inner(a, b)
# Display the inner product of the said vectors
print("Inner product of the said vectors:")
print(result)
# Create two 3x3 arrays 'x' and 'y'
x = np.arange(9).reshape(3, 3)
y = np.arange(3, 12).reshape(3, 3)
# Display the original higher-dimensional arrays 'x' and 'y'
print("Higher dimension arrays:")
print(x)
print(y)
# Calculate the inner product of arrays 'x' and 'y' using np.inner()
result = np.inner(x, y)
# Display the inner product of the said vectors
print("Inner product of the said vectors:")
print(result)
Sample Output:
Original 1-d arrays: [1 2 5] [2 1 0] Inner product of the said vectors: Higher dimension arrays: [[0 1 2] [3 4 5] [6 7 8]] [[ 3 4 5] [ 6 7 8] [ 9 10 11]] Inner product of the said vectors: [[ 14 23 32] [ 50 86 122] [ 86 149 212]]
Explanation:
In the above code –
m = np.mat("3 -2;1 0"): This line creates a 2x2 NumPy matrix m with the elements:
[[ 3, -2],
[ 1, 0]]
w, v = np.linalg.eig(m): This line computes the eigenvalues and eigenvectors of the matrix m. The eig function takes a square matrix as input and returns two arrays: one containing the eigenvalues, and the other containing the corresponding eigenvectors as columns.
print( "Eigenvalues of the said matrix", w): This line prints the eigenvalues of the matrix m. In this case, the eigenvalues are 2.0 and 1.0.
print( "Eigenvectors of the said matrix", v): This line prints the eigenvectors of the matrix m as columns of the v array. The eigenvectors corresponding to the eigenvalues 2.0 and 1.0 are [[-0.89442719, 0.70710678], [-0.4472136 , -0.70710678]].
Python-Numpy Code Editor:
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics