Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengiraan matriks dan algebra linear dalam Python

Pengiraan matriks dan algebra linear dalam Python

PHPz
PHPzke hadapan
2023-08-20 17:41:301424semak imbas

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.

Kaedah penggunaan

  • 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

Kaedah 1: Cari transpose matriks menggunakan Numpy

numpy.matrix.T Property − Mengembalikan transpose matriks yang diberikan.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Atur 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)

Output

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]]

Kaedah 2: Cari songsangan matriks menggunakan Numpy

numpy.matrix.I Property - Mengembalikan songsangan matriks yang diberi.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Atur 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)

Output

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]]

Kaedah 3: Mendarab matriks dan vektor

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

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)

Output

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]]

Kaedah 4: Gunakan subpakej numpy.linalg untuk mendapatkan penentu matriks

Fungsi

numpy.linalg.det() − Mengira penentu bagi matriks segi empat sama.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Atur 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)

Output

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

Cara kelima untuk mencari nilai eigen menggunakan numpy.linalg

Fungsi

numpy.linalg.eigvals() − Mengira nilai eigen dan vektor eigen kanan bagi matriks/matriks segi empat sama yang ditentukan.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Atur 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)

Output

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]

Kaedah 6: Gunakan numpy.linalg untuk menyelesaikan persamaan

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 bagi

Contoh

ialah:

Contoh

Berikut 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)

Output

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.]]

Kesimpulan

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam