w3resource

NumPy: Compute the condition number of a given matrix

NumPy: Linear Algebra Exercise-9 with Solution

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:

Previous: Write a NumPy program to compute the Kronecker product of two given mulitdimension arrays.
Next: Write a NumPy program to find a matrix or vector norm.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/python-exercises/numpy/linear-algebra/numpy-linear-algebra-exercise-9.php