Phần tiếp theo của chuỗi chủ đề về ma trậnsẽ nhắc tới những phép toán của ma trận.Song tuy vậy với việc phân tích và lý giải các phép toán, ta cũng trở thành học sử dụng thư viện Numpy để lập trình với ma trận.

Bạn đang xem: Các phép toán trên ma trận

Mục lục1. Numpy với ma trận2. Những phép toán ma trận3. Numpy thường nhật1. Numpy với ma trận

1.1. Giới thiệu về Numpy

Numpy là tủ sách được viết bởi Python nhằm ship hàng cho việc tính toán khoa học.Trong gói phần mềm này gồm một trong những thứ cơ phiên bản sau:

Tập những mảng đa nhiều dũng mạnh mẽ
Tập những hàm giám sát và đo lường tinh vi
Có thể tích phù hợp với C/C++ với Fortran
Thuận nhân thể khi thao tác với đại số đường tính
Hỗ trợ biến hóa Fourier
Khả năng tạo những số ngẫu nhiên mạnh khỏe mẽ

Có lẽ đó là thư viện được sử dụng phổ cập nhất hiện nay để làm việc với các phép toán khoa học, kỹ năng bằng ngôn ngữ Python.Trong đó bao hàm cả nghành nghề học máy, những gói ứng dụng nền nhằm xây dựng những bài toán học tập máy phần nhiều được viết bằng Python và có thực hiện Numpy.Như vậy, câu hỏi nắm được cách sử dụng Numpy là một trong những lợi thế để giúp bạn tiếp cận được với học tập máy.Không chỉ vậy, Numpy còn có không ít kiểu tài liệu đa chiều giúp cho việc tính toán,lập trình, thao tác với những hệ đại lý dữ liệu rất là thuận tiện.Nên ngoài đo lường và thống kê khoa học tập ra, việc sử dụng chúng lúc lập trình cũng tương đối hữu ích.

Trong phần này, tôi ko đi cụ thể vào Numpy mà chỉ kể tới một số API rất có thể làm vấn đề được trong bài viết này.Tôi khuyên các bạn nên xem thêm về nó qua home của Numpy.

1.2. Sử dụng Numpy cho ma trận

Để tạo một ma trận ta rất có thể sử dụng ndarray (viết gọn gàng là array) của Numpy.Lưu ý rằng mảng array của Numpy là khác với mảng thuần của Python.Mảng thuần của Python không có được rất nhiều tiện ích giám sát và đo lường như của Numpy.Về cơ bản, array này là một đối tượng người dùng mảng đa chiều thuần nhất có nghĩa là mọi bộ phận đều thuộc 1 kiểu.Thường các phần tử của ta là dạng số và được đánh add bằng 1 cặp số nguyên dương ban đầu từ (0, 0).Ví dụ tiếp sau đây sẽ tạo ra ma trận $ _mn $:

numpy-matrix.py

1234567891011121314151617181920212223242526272829

import numpy as np# create a matrix AA = np.array(<(1, 2, 3), (4, 5, 6)>)# print out A typeprint(type(A))# # print out Aprint(A)# <<1 2 3># <4 5 6>># The number of dimensions (axes)print(A.ndim)# 2# Shape of A (rows x colums)print(A.shape)# (2, 3)# Number of elementsprint(A.size)# 6# element's data typeprint(A.dtype)# dtype('int64')
Để chế tác ma trận ta hoàn toàn có thể sử dụng một số cách như sau:

Tạo mảng từ danh sách hoặc tuple của Python bằng hàm array của Numpy,lúc này kiểu dữ liệu của mảng Numpy đang là kiểu tài liệu của nguồn vào cho mảng.numpy-matrix.py

12345678910111213141516171819202122import numpy as np# from 1-dimesional arraya = np.array(<1.5, 0.0, 0.8>)print(a)# <1.5, 0., 0.8>print(a.dtype)# dtype('float64')# from 2-dimensional arrayb = np.array(<<1, 0, 0>, <0, 1, 0>, <0, 0, 1>>)print(b)# <<1, 0, 0># <0, 1, 0># <0, 0, 1>># from array of tuple và arrayc = np.array(<(0, 0, 1), <0, 1, 0>, <1, 0, 0>>)print(b)# <<0, 0, 1># <0, 1, 0># <1, 0, 0>>

Tạo mảng xuất phát từ một dãy số với arange với linspace:numpy-matrix.py

12345678910111213141516171819import numpy as np# with integer stepa = np.arange(10, 15, 1)print(a)# <10, 11, 12, 13, 14>b = np.arange(10, 15, 2)print(b)# <10, 12, 14>c = np.arange(10)print(c)# <10, 12, 14># with non-integer stepa = np.linspace(2.0, 3.0, num=5)print(a)# < 2. , 2.25, 2.5 , 2.75, 3. >

Để truy vấn các phần tử trong Numpy cũng như như với lists của Pythonvà bao gồm thêm một vài mở rộng lớn như truy hỏi cập qua một mảng địa chỉ.

numpy-matrix.py
Các phép toán bên trên ma trận là những giám sát và đo lường cơ bản khi làm việc với học tập máy.Trong phần này, tôi ko đề cập khá đầy đủ tất cả những phép toán của nó,mà chỉ kể tới những phép toán cơ bản để có thể sài được cùng với học máy cơ bản.

2.1. Nhân ma trận với cùng 1 vô hướng

Nhân ma trận với một trong những (vô hướng) là phép nhân số kia với từng bộ phận của ma trận.

$$ alpha _mn = _mn $$

Ví dụ:$$5 eginbmatrix1 & 2 và 3 cr4 & 5 & 6endbmatrix= eginbmatrix5 & 10 và 15 cr20 và 25 và 30endbmatrix$$

Các tính chất:

Tính giao hoán: $ alpha A = A alpha $Tính kết hợp: $ alpha(eta A) = (alpha eta) A $Tính phân phối: $ (alpha + eta) A = alpha A + eta A $

Ngoài ra, nhân ma trận với 1 sẽ không làm chuyển đổi ma trận: $ 1A = A $,còn nhân cùng với 0 sẽ biến chuyển ma trận thành ma trận không $ 0A = varnothing $.

Cách trình diễn với Numpy:numpy-matrix.py

1234567891011121314151617# create matrix aa = np.array(<(1, 2, 3), (4, 5, 6)>)print(a)# <<1 2 3># <4 5 6>># Multiplying a by 5b = 5 * aprint(b)# << 5 10 15># <20 25 30>># Multiplying a by -1b = -1 * aprint(b)# <<-1 -2 -3># <-4 -5 -6>>

2.2. Cộng 2 ma trận

Là phép cùng từng phần tử tương ứng của 2 ma trận cùng cung cấp với nhau.

$$ _mn + _mn = _mn $$

Ví dụ:$$eginbmatrix5 và 10 và 15 cr20 & 25 & 30endbmatrix +eginbmatrix1 & 2 và 3 cr4 & 5 và 6endbmatrix =eginbmatrix6 và 12 & 18 cr24 & 29 và 36endbmatrix$$

Các tính chất:

Tính giao hoán: $ A + B = B + A $Tính kết hợp: $ A + (B + C) = (A + B) + C $Tính phân phối: $ alpha (A + B) = alpha A + alpha B $

Ngoài ra, thuận tiện thấy rằng cùng một ma trận với ma trận không thì ko làm thay đổi ma trận đó: $ A + varnothing = A $.

Từ phép nhân ma trận với cùng một số, ta rất có thể định nghĩa được phép trừ ma trận là phép trừ từng phần tử tương ứng trong ma trận: $ A - lambda B = A + (-lambda)B, lambda in mathbbR $.

Cách biểu diễn với Numpy:numpy-matrix.py

123456789101112131415161718192021222324252627282930313233# create matrix aa = np.array(<(1, 2, 3), (4, 5, 6)>)print(a)# <<1 2 3># <4 5 6>># create matrix bb = np.array(<(0, 5, 25), (4, 9, 9)>)print(b)# <<0 5 25># <4 9 9>># sum of a and bc = a + bprint(c)# << 1 7 28># < 8 14 15>>c = np.add(a, b)print(c)# << 1 7 28># < 8 14 15>># subtraction of a and bc = np.subtract(a, b)print(c)# << 1 -3 -22># < 0 -4 -3>>c = a - bprint(c)# << 1 -3 -22># < 0 -4 -3>>

2.3. Nhân 2 ma trận

Nhân 2 ma trận là phép lấy tổng của tích từng thành phần của hàng tương ứng với cột tương ứng.Phép nhân này chỉ khả thi lúc số cột của ma trận bên trái bằng với số hàng của ma trận bên phải.Cho 2 ma trận $ mp $ cùng $ pn $, tích bọn chúng theo sản phẩm công nghệ tự kia sẽ là 1 ma trận có số hàng bằng với số hàng của $ A $ cùng số cột bằng với số cột của $ B $: $ mn $.

$$C_ij = AB_ij = sum_k=1^pA_ik B_kj~~~, foralli = overline1,m; j = overline1,n$$

Ví dụ:$$eginbmatrix1 và 2 & 3 cr4 và 5 và 6endbmatrixeginbmatrix1 & 2 cr3 và 4 cr5 & 6endbmatrix =eginbmatrix22 và 28 cr49 & 64endbmatrix~~~~~~~~~~~ (1)$$

$$eginbmatrix1 & 2 và 3 cr4 & 5 và 6endbmatrixeginbmatrix1 & 0 và 0 cr0 & 1 và 0 cr0 và 0 và 1endbmatrix =eginbmatrix1 & 2 & 3 cr4 & 5 và 6endbmatrix~~~ (2)$$

Các tính chất:

Tính kết hợp: $ A(BC) = (AB)C $Tính phân phối: $ A(B+C) = AB + AC $, $ (A+B)C = AC + BC $.
*

*
reviews
*

Liên kết websiteĐại học Duy Tân
Cổng thông tin sinh viên
Diễn lũ Duy TânĐoàn thanh niên - Đại học Duy Tân

*


*
Tư vấn viên 1
*
Tư vấn viên 2
KHOA KHOA HỌC TỰ NHIÊN

Phụ trách các học phần thuộc Khối kiến thức giáo dục đại cương trong các chương trình đào tạo tại Trường Đại học Duy Tân.


KHOA KHOA HỌC TỰ NHIÊN

Đảm nhận các học phần Toán học, Vật lý, Hóa học cùng Sinh học ở những chương trình đào tạo và giảng dạy của Trường.


KHOA KHOA HỌC TỰ NHIÊN

chế tạo chương trình, kế hoạch huấn luyện và chủ trì tổ chức quy trình đào chế tác các học phần Toán học, Vật lý, Hóa học và Sinh học đại cương.


Bài viết bắt tắt những cách thực hiện các phép toán cơ bản của ma trận bằng máy vi tính bỏ túi như Casio Fx-570VN Plus,...


Việc thực hiện các phép toán cơ bản trên ma trận như: cộng và trừ, nhân với cùng 1 số, nhân nhị ma trận, tính định thức, tra cứu ma trận nghịch đảo... đề xuất nhiều thời gian.

Các máy tính bỏ túi có thể thực hiện những phép toán của ma trận một cách nhanh chóng, ta rất có thể sử dụng chúng để giám sát và đo lường hoặc kiểm hội chứng kết quả.

Bài viết này viết giải pháp sử dụng máy tính xách tay Casio Fx-570VN Plus, các dòng máy khác gồm cách sử dụng hoàn toàn tương tự.

Để thực hiện đo lường và tính toán trên ma trận, ta chọn: <6>

Sau đó máy tính xách tay sẽ hỏi tên ma trận mà bạn có nhu cầu nhập, bấm1,2,3tùy phù hợp (ở phía trên tôi chọn1).

Sau đó laptop sẽ hỏi form size ma trận mà bạn có nhu cầu nhập, bấm từ1tới6tùy thuộc vào size ma trận mà bạn muốn tính (ở đây tôi chọn ma trận 3×31). Và bước đầu nhập ma trận

Phím bấm:1=2=2=2=1=2=2=2=1=

Ta nhận được ma trận A

1 2 2

1 1 2

2 2 1

Tiếp đó ta bấm <4>để nhập thêm ma trận B với ma trận C với Dim hoặc xem lại với Data (ở trên đây tôi nhập thêm ma trận B)

2 1 1

1 2 2

1 1 2

Khi sẽ nhập ngừng các ma trận, ta bấm <4>, cùng trên màn hình mở ra bảng lựa chọn

Với bảng này:

Dim là nhập lại ma trận.Data là xem lại ma trận.Mat
A là gọi ra ma trận A.Mat
B là call ra ma trận B.Mat
C là hotline ra ma trận C.Mat
Ans là gọi ra ma trận đã đo lường trước đó.Det là tính định thức của ma trận.Trn là tính ma trận gửi vị.

Xem thêm:
Tất Tần Tật Về Chuyên Ngành Thương Mại Quốc Tế Và Thương Mại Quốc Tế

Tới đây, ta rất có thể tính toán những phép tính bên trên ma trận:

Tính tổng của 2 ma trận A cùng B

Phím bấm:<4><3>+<4><4><=>

Tính tích của 2 ma trận A với B

Phím bấm:<4><3><4><4><=>

Tính bình phương của ma trận A

Phím bấm:<4><3><=>

Tính ma trận nghịch hòn đảo của ma trận A

Phím bấm:<4><3><=>

Tính định thức của ma trận A

Phím bấm:<4><7><4><3><=>

Trên đấy là những giải đáp cho việc thống kê giám sát các phép toán của ma trận bằng máy vi tính CASIO fx-570VN plus, các máy tính xách tay bỏ túi đời mới hơn rất có thể thực hiện các phép toán mang lại ma trận cấp cho 4x4, với tốc độ nhanh hơn.