Lưu ý: NumPy là kế thừa của Numarray, được sử dụng để thay thế NumArray. SAGE là một gói phần mềm toán học được tích hợp trên NumPy và một số công cụ khác, với mục tiêu thay thế các công cụ như Magma, Maple, Mathematica và Matlab. Hôm nay tôi muốn tìm một số bài giới thiệu về NumPy trên mạng và thử sử dụng số ma trận ngược của NumPy, nhưng không tìm thấy bất kỳ tài liệu nào bằng tiếng Trung Quốc, một người dùng mạng đã hỏi tôi làm thế nào để sử dụng Python để tìm kiếm ma trận ngược, và không có ai trả lời. Vì vậy, tôi đã tìm thấy tài liệu chính thức của NumPy, trong đó có một phần nhỏ là giới thiệu đối tượng ma trận, vì vậy tôi đã dịch phần này sang tiếng Trung Quốc, đóng góp một chút nhỏ, thời gian ngắn hơn, không thể kiểm tra lỗi chính tả, có vấn đề xin lỗi.
Loại ma trận được kế thừa từ loại ndarray, do đó chứa tất cả các thuộc tính dữ liệu và phương thức của ndarray. Loại ma trận có sáu điểm khác biệt quan trọng với loại ndarray, khi bạn hoạt động như đối tượng ma trận khi các arrays hoạt động, những điểm khác biệt này có thể dẫn đến kết quả không mong muốn.
(a) .T – trở về vị trí của nó
(b) .H – trở về vị trí cộng hưởng của chính nó
© .I – trả về ma trận ngược của nó
(d) .A – Một dạng nhìn 2 chiều của một mảng dữ liệu trả về dữ liệu của nó (không có bất kỳ bản sao nào được thực hiện)
Lớp Matrix là một phân lớp Python của ndarray, bạn cũng có thể học thực hiện này để xây dựng các phân lớp của bạn. Các đối tượng Matrix cũng có thể được xây dựng bằng các đối tượng Matrix khác, chuỗi ký tự, hoặc các tham số khác có thể được chuyển đổi thành một ndarray. Ngoài ra, trong NumPy, mat là một cái tên khác của matrix.
Ví dụ 1: Xây dựng ma trận bằng chuỗi
import numpy as np
a=np.mat('1 2 3; 4 5 3')
print (a*a.T).I
[[ 0.29239766 -0.13450292]
[-0.13450292 0.08187135]]
np.matrix([[ 1.+0.j, 5.+0.j, 10.+0.j],
[ 1.+0.j, 3.+0.j, 0.+4.j]])
np.mat( np.random.rand(3,3) ).T
np.matrix([[ 0.81541602, 0.73987459, 0.03509142],
[ 0.14767449, 0.60539483, 0.05641679],
[ 0.43257759, 0.628695 , 0.47413553]])
Matrix( data, dtype=None, copy=True ) Nếu dtype là None, thì kiểu dữ liệu sẽ được quyết định bởi nội dung của dữ liệu. Nếu copy là True, thì sẽ sao chép dữ liệu trong data, nếu không thì sẽ sử dụng buffer dữ liệu ban đầu. Nếu không tìm thấy vùng buffer dữ liệu, thì tất nhiên sẽ sao chép dữ liệu. Lưu ý: matrix matrix thực sự là một loại, vì vậy khi bạn xây dựng các trường hợp, bạn sẽ gọi matrix.new (matrix, data, dtype, copy). Mat Chỉ là một cái tên khác cho matrix. Asmatrix(data, dtype=None) Trả về dữ liệu chưa được sao chép. Tương đương với matrix ((data, dtype, copy=False) Bmat(obj, ldict=None, gdict=None) Xây dựng một ma trận bằng cách sử dụng một chuỗi, một chuỗi được nhúng hoặc một mảng. Lệnh này cho phép bạn xây dựng ma trận từ các đối tượng khác. Trong đó, các tham số ldict và gdict được sử dụng khi obj là một chuỗi. Hai tham số này là từ điển của local và module. Nếu không cung cấp chúng, chúng sẽ được cung cấp bởi hệ thống.
A=np.mat('2 2; 2 2'); B=np.mat('1 1; 1 1');
print(np.bmat('A B; B A'))
[[2 2 1 1]
[2 2 1 1]
[1 1 2 2]
[1 1 2 2]]
Tác giả: su frank