Rumah > Artikel > pembangunan bahagian belakang > Pengiraan matriks dan algebra linear dalam Python
Dalam artikel ini, kita akan belajar cara menggunakan Python untuk melaksanakan pengiraan matriks dan algebra linear, seperti pendaraban matriks, mencari penentu, menyelesaikan persamaan linear, dsb.
Ini boleh dicapai menggunakan objek matriks daripada perpustakaan NumPy. Apabila melakukan pengiraan, matriks secara relatifnya setanding dengan objek tatasusunan.
Algebra linear ialah subjek yang luas dan di luar skop artikel ini.
Namun, jika anda perlu memanipulasi matriks dan vektor, NumPy ialah titik permulaan yang bagus.
Cari transpose matriks menggunakan Numpy
Cari songsangan matriks menggunakan Numpy
Pendaraban matriks dan vektor
Gunakan subpakej numpy.linalg untuk mendapatkan penentu matriks
Cari nilai eigen menggunakan numpy.linalg
Gunakan numpy.linalg untuk menyelesaikan persamaan
numpy.matrix.T Property − Mengembalikan transpose matriks yang diberikan.
Terjemahan bahasa Cina bagiAtur cara berikut menggunakan sifat numpy.matrix.T untuk mengembalikan transpose matriks −
# 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)
Apabila dilaksanakan, program di atas akan menjana output berikut -
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 Property - Mengembalikan songsangan matriks yang diberi.
Terjemahan bahasa Cina bagiAtur cara berikut menggunakan sifat numpy.matrix.I untuk mengembalikan songsangan matriks −
# 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)
Apabila dilaksanakan, program di atas akan menjana output berikut -
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]]
Atur cara berikut mengembalikan hasil darab matriks input dan vektor menggunakan operator * -
# 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)
Apabila dilaksanakan, program di atas akan menjana output berikut -
Input Matrix: [[6 1 5] [2 0 8] [1 4 3]] Multiplication of input matrix and vector: [[34] [42] [28]]
numpy.linalg.det() − Mengira penentu bagi matriks segi empat sama.
Terjemahan bahasa Cina bagiAtur cara berikut menggunakan fungsi numpy.linalg.det() untuk mengembalikan penentu matriks −
# 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)
Apabila dilaksanakan, program di atas akan menjana output berikut -
Input Matrix: [[6 1 5] [2 0 8] [1 4 3]] Determinant of an input matrix: -149.99999999999997
numpy.linalg.eigvals() − Mengira nilai eigen dan vektor eigen kanan bagi matriks/matriks segi empat sama yang ditentukan.
Terjemahan bahasa Cina bagiAtur cara berikut mengembalikan Nilai Eigen matriks input menggunakan fungsi numpy.linalg.eigvals() −
# 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)
Apabila dilaksanakan, program di atas akan menjana output berikut -
Input Matrix: [[6 1 5] [2 0 8] [1 4 3]] Eigenvalues of an input matrix: [ 9.55480959 3.69447805 -4.24928765]
Kita boleh menyelesaikan masalah yang serupa dengan mencari nilai X untuk A*X = B,
Di mana A ialah matriks dan B ialah vektor.
Terjemahan bahasa Cina bagiBerikut ialah atur cara yang menggunakan fungsi solve() untuk mengembalikan nilai x-
# 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)
Apabila dilaksanakan, program di atas akan menjana output berikut -
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.]]
Dalam artikel ini, kami mempelajari cara melaksanakan operasi matriks dan algebra linear menggunakan modul NumPy dalam Python. Kami belajar cara mengira transpos, songsang dan penentu sesuatu matriks. Kami juga mempelajari cara melakukan beberapa pengiraan dalam algebra linear, seperti menyelesaikan persamaan dan menentukan nilai eigen.
Atas ialah kandungan terperinci Pengiraan matriks dan algebra linear dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!