Phần 2. ỨNG DỤNG MAPLE ĐỂ GIẢI CÁC BÀI TOÁN TRONG MA TRẬN
2.1 Khái quát việc giải các bài toán trong ma trận
Để thực hiện tính toán các vấn đề liên quan đến đại số tuyến tính, trong Maple cung cấp sẵn hai gói lệnh cơ bản là linalg và Linearalgebra. Mọi gói lệnh chứa nhiều hàm và các phép tính toán. Để thực hiện các hàm hay phép tính toán trong gói lệnh nào, trước hết phải gọi gói lệnh ra trước bằng cách như sau:
with(gói lệnh): ( Ẩn đi các hàm trong gói lệnh), with( gói lệnh); (hiện các hàm trong gói lệnh)
Ví dụ with(linalg): hoặc with(linalg);
2.2 Tạo ma trận
2.3 Các phép toán ma trận
2.4 Các phép biến đổi sơ cấp trên ma trận:
Để đổi chỗ hai dòng i và j của ma trận A ta nhập:
swaprow(a,i,j)
Để đổi chỗ hai cột i và j của ma trận A ta nhập:
swapcol(a,i,j)
Để nhân dòng i của ma trận A với c ta nhập:
mulrow(a,i,c)
Để nhân cột i của ma trận A với c ta nhập:
mulcol(a,i,c)
Để thay dòng i của ma trận A bởi dòng I cộng cho c lần dòng j ta nhập:
addrow(a,i,j,c)
Để thay cột i của ma trận A bởi cột I cộng cho c lần cột j ta nhập:
addcol(a,i,j,c)
2.5 Ma trận dạng bậc thang của ma trận:
Nếu hệ số ở vị trí i,j của A khác 0 thì sẽ đưa các hệ số ở vị trí còn lại trên cột j về 0 bằng phép biến đổi sơ cấp trên dòng loại 3. Ngược lại, báo lỗi thì ta nhập:
pivot(a,i,j)
Để đưa ma trận A về dạng bậc thang ta nhập:
gausselim(a)
Để đưa ma trận A về dạng bậc thang rút gọn ta nhập:
gaussjord(a)
Để tính hạng của ma trận A ta nhập:
rank(a)
2.6 Giải phương trình ma trận AX=B
Để giải phương trình ma trận AX = B với X là ma trận cần tìm ta nhập:
linsolve(a,b)
2.7 Giải hệ phương trình tuyến tính:
Để giải hệ phương trình eqns với các biến vars. Trong đó eqns có dạng {eqn1,eqn2,…} và vars có dạng {var1,var2,…} ta nhập:
solve(eqns,vars)
Để giải hệ phương trình AX = b, với A là ma trận hệ số, b là vectơ cột các hệ số tự do ta nhập:
linsolve(a,b).
2.8 Một số ví dụ về giải phương trình ma trận
2.8.1 Tính tích hai ma trận
Để giải bài toán tính tích hai ma trận sử dụng hàm evalm như sau:
Bài toán: Tính tích hai ma trận *
Giải trong Maple:
2.8.2 Giải các phương trình ma trận
Giải phương trình ma trận sau:
1. X =
Cách giải và kết quả
2. Hệ phương trình được cho như sau:
2x1 +x2 + 2x3 = 5
3x1 + x2 + 4x3 =3
x1 =1
Cách giải trong Maple như sau:
Vậy với cách giải trên ta có nghiệm của hệ lần lượt là x1=1; x2 = 6;
x3 = -3/2.
2.9 Định thức
2.9.1 Định nghĩa
Định thức cấp n của ma trận vuông A= (aij)n Mn®. Kí hiệu là det(A) hay |A| là một số thực được định nghĩa như sau:
1. Ma trận cấp 1: A=(a11) => det(A)=a11
2. Ma trận cấp 2: det(A)=a11a22-a12a21
3. Ma trận cấp n: .
Tính det(A)= a11A11 + a12A12 + a21A21 + a22A22 trong đó Aij=(-1)i + j det(Mij) là phần bù đại số của phần tử aij.
Đặc biệt: det In =1, det On=0
2.9.2 Ứng dụng Maple để giải các bài toán liên quan đến định thức
1. Tìm ma trận nghịch đảo:
Bài toán: Cho ma trận sau . Hãy tìm ma trận nghịch đảo của ma trận trên
Giải trong Maple:
2. Tính các định thức và xác định điều kiện để ma trận khả nghịch:
Bài toán: Tính định thức của ma trận sau:
2.10 Giải và biện luận hệ phương trình tuyến tính bằng phương pháp Cramer
2.11 Tài liệu tham khảo
1. Slide bài giảng lập trình Symbolic PGS.TS. Đỗ Văn Nhơn
2. Nhon Van Do, Model for Knowledge Bases of Computational Objects, IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 3, No 8, May 2010.
3. http://www.maplesoft.com/
4. Giáo trình đại số tuyến tính TS. Đỗ Duy Thuận (chủ biên), NXB Đại Học Sư Phạm. Trang 165.