Python lưu trữ ma trận như thế nào?

Trước khi bắt đầu, hãy đảm bảo rằng thư viện Numpy đã được cài đặt. Bạn có thể chỉ cần cài đặt thư viện trong Windows, bằng cách nhấp vào Menu Bắt đầu, nhập “cmd” và nhấn enter và nhập “pip install numpy”. Tuy nhiên, rất có thể, thư viện Numpy đã được cài đặt cùng với bản phân phối Python của bạn

Ví dụ, xét các ma trận sau

(1)  

Python lưu trữ ma trận như thế nào?

Sau khi nhập thư viện Numpy dưới dạng “np” (“np” chỉ là bí danh chúng tôi đã chọn cho Numpy), chúng tôi có thể định nghĩa các ma trận này trong Python như sau

import numpy as np 

#defining matrices
A=np.array([[1,2],[3,4]])
B=np.array([[5,6],[7,8]])
C=np.array([[1,2,3],[4,5,6],[7,8,9]])

Về cơ bản, chúng ta xác định ma trận theo hàng, sử dụng hàm “np. mảng()". Các hàng được bao quanh bởi “[ ]” và các hàng được phân tách bằng dấu phẩy. Ngoài ra, ở phần sau của bài đăng này, chúng tôi giải thích một phương pháp thay thế để xác định ma trận dựa trên hàm “np. ma trận()”

Một kỹ thuật hữu ích khác để xác định ma trận là chỉ định trực tiếp kiểu dữ liệu trong khi xác định ma trận. Điều này có thể cần thiết nếu chúng ta muốn chuyển dữ liệu ma trận từ Python sang một số ngôn ngữ lập trình khác, chẳng hạn như MATLAB chẳng hạn. Ví dụ, chúng ta có thể chỉ định rằng các mục nhập của ma trận sẽ được lưu trữ dưới dạng tăng gấp đôi bằng cách nhập

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)

và với phương thức “dtype”, chúng ta có thể lấy được kiểu dữ liệu

G.dtype

Ma trận không và ma trận đồng nhất có thể được định nghĩa như sau

# zero and identity matrices
I4=np.identity(4)
Z4=np.zeros(shape=(4,4))

Chúng ta có thể truy cập các hàng, cột và khối của ma trận bằng các lệnh sau đây tương tự như các lệnh cơ bản của MATLAB

# first row 
C[0,:]

# first column
C[:,0]

# first two rows

C[0:2,:]

# sub-block
C[0:2,0:2]

 C[-2:,-2:]

Ở đây, cần lưu ý rằng Python liệt kê các mục nhập mảng từ 0 chứ không phải từ 1. Do đó, ký hiệu C[0,0], tương ứng với mục (1,1) của ma trận C

Kích thước ma trận có thể thu được bằng cách sử dụng các dòng mã sau

# get the number of rows and columns 
A.shape

#row number directly
A.shape[0]

#column number directly
A.shape[1]

Có ít nhất hai cách để tính toán chuyển vị ma trận

#transpose 
A.T
np.transpose(A)

Phép cộng (trừ) hai ma trận đơn giản

#add two matrices 
D=A+B

Tuy nhiên, toán tử nhân “*” trong Numpy biểu thị phép nhân theo phần tử và nó không phải là toán tử nhân ma trận. Bạn có thể thuyết phục bản thân bằng cách gõ

________số 8

Có ít nhất hai cách để thực hiện đúng phép nhân ma trận. Cái đầu tiên được đưa ra dưới đây

Dcorrect=A.dot(B) # THIS IS CORRECT WAY FOR MULTIPLYING TWO MATRICES

Có một phương pháp khác để xác định ma trận trong Python. Cá nhân tôi thích phương pháp được giải thích bên dưới hơn phương pháp dựa trên “np. hàm mảng()”. Đây là cách chúng tôi xác định ma trận và thực hiện các hoạt động ma trận cơ bản

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
0

Ma trận khối có thể được định nghĩa như sau

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
1

Đảo ngược ma trận có thể được thực hiện như sau

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
2

Có ít nhất hai cách để lưu và tải ma trận từ tệp. Cách tiếp cận đầu tiên là lưu ma trận trong một “. định dạng thảm. Định dạng này là định dạng MATLAB để lưu ma trận. Chúng tôi sẽ xác định một ma trận và trên cơ sở ma trận này, chúng tôi sẽ xác định một từ điển sẽ được lưu dưới dạng “. mat” loại tập tin. Sau đó, chúng tôi sẽ tải ma trận từ tệp

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
3

Một cách khác để lưu trữ ma trận là lưu trữ chúng trực tiếp bằng hàm “save()” của Numpy. Chúng ta có thể tải các ma trận bằng hàm “load()”. Các ma trận được lưu trong một tệp có phần mở rộng “. npy”

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
4

Đó sẽ là tất cả. Tôi hy vọng rằng bạn đã học được một cái gì đó mới ngày hôm nay. Trong bài đăng tiếp theo của chúng tôi, chúng tôi sẽ giải thích cách giải các hệ phương trình tuyến tính trong Python và cách tính toán các phân tách ma trận cơ bản

Trong ma trận python có thể được triển khai dưới dạng danh sách 2D hoặc Mảng 2D. Hình thành ma trận từ cái sau, cung cấp các chức năng bổ sung để thực hiện các hoạt động khác nhau trong ma trận. Các thao tác và mảng này được định nghĩa trong mô-đun “numpy“.  

Hoạt động trên ma trận.  

  • 1. cộng(). - Hàm này dùng để thực hiện cộng ma trận theo từng phần tử.  
  • 2. trừ (). - Hàm này dùng để thực hiện phép trừ ma trận theo từng phần tử.  
  • 3. chia(). - Hàm này dùng để thực hiện chia ma trận thành phần tử.  

Thực hiện

con trăn




G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
14

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
15

 

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
16

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
17
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
18

 

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
19

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
20
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
50
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
51_______152
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
53
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
54
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
55
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
56
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
53
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
58
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
59

G.dtype
50
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
50
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
51
G.dtype
53
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
53
G.dtype
55
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
55
G.dtype
57
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
53
G.dtype
59
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
59

 

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
141

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
143
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
144
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
145

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
147

 

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
148

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
150____1144
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
145

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
154

 

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
155

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
157____1144
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
145

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
161

đầu ra

# zero and identity matrices
I4=np.identity(4)
Z4=np.zeros(shape=(4,4))
6
  • 4. nhân(). - Hàm này dùng để thực hiện phép nhân ma trận theo từng phần tử.  
  • 5. dấu chấm(). - Hàm này được dùng để tính phép nhân ma trận, chứ không phải phép nhân phần tử.  

con trăn




G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
14

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
163

 

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
16

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
17
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
18

 

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
19

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
20
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
50
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
51_______152
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
53
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
54
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
55
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
56
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
53
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
58
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
59

G.dtype
50
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
50
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
51
G.dtype
53
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
53
G.dtype
55
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
55
G.dtype
57
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
53
G.dtype
59
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
59

 

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
190

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
192____1144
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
145

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
196

 

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
197

________ 1142 ________ 1199 ________ 1144 ________ 1145

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
203

đầu ra

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
5
  • 6. sqrt(). - Hàm này dùng để tính căn bậc hai của từng phần tử của ma trận.  
  • 7. tổng(x,trục). - Hàm này dùng để cộng tất cả các phần tử trong ma trận. Đối số "trục" tùy chọn tính tổng cột nếu trục bằng 0 và tổng hàng nếu trục bằng 1.  
  • 8. “T”. - Đối số này được sử dụng để chuyển đổi ma trận được chỉ định.  

Thực hiện

con trăn




G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
14

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
205

 

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
16

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
17
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
18

 

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
19

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
20
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
50
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
51_______152
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
53
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
54
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
55
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
56
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
53
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
58
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
59

G.dtype
50
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
50
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
51
G.dtype
53
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
53
G.dtype
55
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
55
G.dtype
57
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
53
G.dtype
59
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
59

 

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
522

________ 1142 ________ 1524 ________ 1144 ________ 1145

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
528

 

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
529

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
531
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
532
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
533
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
144
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
145

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
537
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
538
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
539

 

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
540

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
542
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
532
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
544
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
144
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
145

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
537
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
538
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
550
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
50
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
552
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
553

 

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
554

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
556____1532
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
544
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
144
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
145

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
537
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
538
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
550
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
50
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
52
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
553

 

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
568

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
570
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
144
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
145

G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
142
G=np.array([[1, 2, 3], [4, 5, 6]], np.double)
574

đầu ra

G.dtype
5

Bài viết này được đóng góp bởi Manjeet Singh 100 🙂. Nếu bạn thích GeeksforGeeks và muốn đóng góp, bạn cũng có thể viết một bài báo bằng cách sử dụng write. chuyên viên máy tính. org hoặc gửi bài viết của bạn tới review-team@geeksforgeeks. tổ chức. Xem bài viết của bạn xuất hiện trên trang chính của GeeksforGeeks và trợ giúp các Geeks khác

Ma trận Python hoạt động như thế nào?

Khoa học dữ liệu thực tế sử dụng Python . Vì vậy, mọi ma trận cũng là một mảng hai chiều nhưng không phải ngược lại. Ma trận là cấu trúc dữ liệu rất quan trọng cho nhiều tính toán toán học và khoa học. Matrix is a special case of two dimensional array where each data element is of strictly same size. So every matrix is also a two dimensional array but not vice versa. Matrices are very important data structures for many mathematical and scientific calculations.

NumPy lưu trữ ma trận như thế nào?

Ma trận được lưu trữ theo hàng .

Làm thế nào để Python đọc một ma trận?

Chương trình Python. Đọc Ma trận .
m = int(input("hàng. ")) n = int(input("cột. ")).
a = [] for i in range(m). hàng =[] cho j trong phạm vi (n). hàng ngang. .
a = [] for i in range(m). một. .
cho tôi trong phạm vi (m). cho j trong phạm vi (n). print(a[i][j], end = " ") print()

Có thư viện ma trận cho Python không?

matlib ) Mô-đun này chứa tất cả các hàm trong không gian tên gọn gàng, với các hàm thay thế sau trả về ma trận thay vì ndarray. Diễn giải đầu vào dưới dạng ma trận.