NumPy: Compute the condition number of a given matrix
Write a NumPy program to compute the condition number of a given matrix.
From Wikipedia, In the field of numerical analysis, the condition number of a function with respect to an argument measures how much the output value of the function can change for a small change in the input argument. This is used to measure how sensitive a function is to changes or errors in the input, and how much error in the output results from an error in the input. Very frequently, one is solving the inverse problem – given {\displaystyle f(x)=y,} f(x) = y, one is solving for x, and thus the condition number of the (local) inverse must be used. In linear regression the condition number can be used as a diagnostic for multicollinearity.
Sample Solution :
Python Code :
# Import NumPy library and alias it as 'np'
import numpy as np
# Import 'linalg' module from NumPy and alias it as 'LA'
from numpy import linalg as LA
# Create a 3x3 NumPy array 'a'
a = np.array([[1, 0, -1], [0, 1, 0], [1, 0, 1]])
# Display the original matrix 'a'
print("Original matrix:")
print(a)
# Calculate and display the condition number of the matrix 'a' using LA.cond() function
print("The condition number of the said matrix:")
print(LA.cond(a))
Sample Output:
Original matrix: [[ 1 0 -1] [ 0 1 0] [ 1 0 1]] The condition number of the said matrix: 1.41421356237
Explanation:
In the above examp[e –
from numpy import linalg as LA: This code imports the linalg submodule of NumPy and gives it the alias LA. The linalg submodule contains various linear algebra functions, including the cond() function.
a = np.array([[1, 0, -1], [0, 1, 0], [1, 0, 1]]): This code creates a 3x3 NumPy array a with the specified elements.
print(LA.cond(a)): This line computes the condition number of matrix a. The condition number measures how numerically stable the matrix is. A large condition number indicates that the matrix is ill-conditioned. This means that it is sensitive to small changes in its elements and can lead to large changes in the solution when solving linear systems. In this case, the condition number is 1.4142135623730951.
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