In this article, we will learn how to use Python to perform matrix and linear algebra calculations, such as matrix multiplication, finding determinants, solving linear equations, etc.
You can use a matrix object from the NumPy library to achieve this. When doing calculations, matrices are relatively comparable to array objects.
Linear algebra is a vast subject and beyond the scope of this article.
However, if you need to manipulate matrices and vectors, NumPy is a good starting point.
Find the transpose of a matrix using Numpy
Find the inverse of a matrix using Numpy
Matrix and vector multiplication
Use the numpy.linalg subpackage to obtain the determinant of the matrix
Use numpy.linalg to find eigenvalues
Use numpy.linalg to solve equations
numpy.matrix.T Properties − Returns the transpose of the given matrix.
The Chinese translation ofThe following program uses the numpy.matrix.T property to return the transpose of the matrix −
# importing NumPy module import numpy as np # input matrix inputMatrix = np.matrix([[6, 1, 5], [2, 0, 8], [1, 4, 3]]) # printing the input matrix print("Input Matrix:\n", inputMatrix) # printing the transpose of an input matrix # by applying the .T attribute of the NumPy matrix of the numpy Module print("Transpose of an input matrix\n", inputMatrix.T)
When executed, the above program will generate the following output -
Input Matrix: [[6 1 5] [2 0 8] [1 4 3]] Transpose of an input matrix [[6 2 1] [1 0 4] [5 8 3]]
numpy.matrix.I Properties - Returns the inverse of the given matrix.
The Chinese translation ofThe following program uses the numpy.matrix.I property to return the inverse of the matrix −
# importing NumPy module import numpy as np # input matrix inputMatrix = np.matrix([[6, 1, 5],[2, 0, 8],[1, 4, 3]]) # printing the input matrix print("Input Matrix:\n", inputMatrix) # printing the inverse of an input matrix # by applying the .I attribute of the NumPy matrix of the numpy Module print("Inverse of an input matrix:\n", inputMatrix.I)
When executed, the above program will generate the following output -
Input Matrix: [[6 1 5] [2 0 8] [1 4 3]] Inverse of an input matrix: [[ 0.21333333 -0.11333333 -0.05333333] [-0.01333333 -0.08666667 0.25333333] [-0.05333333 0.15333333 0.01333333]]
The following program uses the * operator to return the product of the input matrix and vector -
# importing numpy module import numpy as np # input matrix inputMatrix = np.matrix([[6, 1, 5],[2, 0, 8],[1, 4, 3]]) # printing the input matrix print("Input Matrix:\n", inputMatrix) # creating a vector using numpy.matrix() function inputVector = np.matrix([[1],[3],[5]]) # printing the multiplication of the input matrix and vector print("Multiplication of input matrix and vector:\n", inputMatrix*inputVector)
When executed, the above program will generate the following output -
Input Matrix: [[6 1 5] [2 0 8] [1 4 3]] Multiplication of input matrix and vector: [[34] [42] [28]]
numpy.linalg.det() Function − Calculate the determinant of a square matrix.
The Chinese translation ofThe following program uses the numpy.linalg.det() function to return the determinant of the matrix −
# importing numpy module import numpy as np # input matrix inputMatrix = np.matrix([[6, 1, 5],[2, 0, 8],[1, 4, 3]]) # printing the input matrix print("Input Matrix:\n", inputMatrix) # getting the determinant of an input matrix outputDet = np.linalg.det(inputMatrix) # printing the determinant of an input matrix print("Determinant of an input matrix:\n", outputDet)
When executed, the above program will generate the following output -
Input Matrix: [[6 1 5] [2 0 8] [1 4 3]] Determinant of an input matrix: -149.99999999999997
numpy.linalg.eigvals() function − Calculate the eigenvalues and right eigenvectors of the specified square matrix/matrix.
The Chinese translation ofThe following program returns the Eigenvalues of an input matrix using the numpy.linalg.eigvals() function −
# importing NumPy module import numpy as np # input matrix inputMatrix = np.matrix([[6, 1, 5],[2, 0, 8],[1, 4, 3]]) # printing the input matrix print("Input Matrix:\n", inputMatrix) # getting Eigenvalues of an input matrix eigenValues = np.linalg.eigvals(inputMatrix) # printing Eigenvalues of an input matrix print("Eigenvalues of an input matrix:\n", eigenValues)
When executed, the above program will generate the following output -
Input Matrix: [[6 1 5] [2 0 8] [1 4 3]] Eigenvalues of an input matrix: [ 9.55480959 3.69447805 -4.24928765]
We can solve a problem similar to finding the value of X for A*X = B,
Where A is a matrix and B is a vector.
The Chinese translation ofThe following is a program that uses the solve() function to return the x value-
# importing NumPy module import numpy as np # input matrix inputMatrix = np.matrix([[6, 1, 5],[2, 0, 8],[1, 4, 3]]) # printing the input matrix print("Input Matrix:\n", inputMatrix) # creating a vector using np.matrix() function inputVector = np.matrix([[1],[3],[5]]) # getting the value of x in an equation inputMatrix * x = inputVector x_value = np.linalg.solve(inputMatrix, inputVector) # printing x value print("x value:\n", x_value) # multiplying input matrix with x values print("Multiplication of input matrix with x values:\n", inputMatrix * x_value)
When executed, the above program will generate the following output -
Input Matrix: [[6 1 5] [2 0 8] [1 4 3]] x value: [[-0.39333333] [ 0.99333333] [ 0.47333333]] Multiplication of input matrix with x values: [[1.] [3.] [5.]]
In this article, we learned how to perform matrix and linear algebra operations using the NumPy module in Python. We learned how to calculate the transpose, inverse, and determinant of a matrix. We also learned how to do some calculations in linear algebra, such as solving equations and determining eigenvalues.
The above is the detailed content of Matrix and linear algebra calculations in Python. For more information, please follow other related articles on the PHP Chinese website!