Tìm các vector cơ sở của một họ vector bằng basis.
> with(LinearAlgebra):
> v1 := <1|0|0>:
> v2 := <0|1|0>:
> v3 := <0|0|1>:
> v4 := <0|1|1>:
> v5 := <1|1|1>:
> v6 := <4|2|0>:
> v7 := <3|0|-1>:
> Basis([v1,v2,v2]);
[[1, 0, 0], [0, 1, 0]]
> Basis({v4,v6,v7});
{[0, 1, 1], [3, 0, -1], [4, 2, 0]}
Bạn đang xem trước 20 trang tài liệu Bài giảng Maple - Bài 5 Tính toán trong đại số tuyến tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TÍNH TOÁN TRONG ĐẠI SỐ TUYẾN TÍNHCÁC PHÉP TÓAN TRÊN VECTOR VÀ MA TRẬNTrước hết cần nạp gói công cụ linalg.> with(linalg);Muốn tạo một vector ta dùng:> vector(dim,[x(1),x(2),,x(dim)]);Ví dụ:> u:=vector(2,[3,4]); u:=[3,4]> v:=vector(3,[1,5,-3]); v:=[1,5,-3]CÁC PHÉP TÓAN TRÊN VECTOR VÀ MA TRẬNMuốn tạo ma trân ta dùng một trong các lệnh sau:> matrix(L); #L:bảng cách danh sách,vetor dòng> matrix(m,n); #m,n là số dòng và cột> matrix(m,n,L); > matrix(m,n,f); #f: hàm tạo các phần tử> matrix(m,n,lv); #lv:danh sách hoặc vector các phần tử CÁC PHÉP TÓAN TRÊN VECTOR VÀ MA TRẬNVí dụ: Nhập ma trận > A:= matrix(3,2,[1,2,3,4,5,6]);> A:= matrix([[1,2],[3,4],[5,6]]);> A:= array(3,2,[1,2,3,4,5,6]); # sai> A:= array([[1,2],[3,4],[5,6]]);CÁC PHÉP TÓAN TRÊN VECTOR VÀ MA TRẬNĐể nhập một ma trận gồm các phần tữ giống nhau:> B:= matrix(2,2,3);Các phần tử của ma trận có cùng một qui luật.CÁC PHÉP TÓAN TRÊN VECTOR VÀ MA TRẬN> f:=(m,n)->b^(m+n-1)+b; > A:=matrix(2,3,f);Có thể nhập trực tiếp bằng lệnh linalg[matrix]> linalg[matrix]([[a,b,x],[1,2,3]]); # không cần phải nạp gói linalg SO SÁNH HAI MA TRẬNDùng lệnh equal:> equal(matrix1,matrix2);Hai ma trận so sánh phải có cùng số hàng, số cột nếu không Maple sẽ báo lỗi.> A:= matrix(2,2,[1,3,1,3]);> B:= matrix([[1,3,1,3]]);> C:= array([[1,3],[1,3]]);> equal(A,B);> equal(A,C); CỘNG MATRẬN> A:=matrix(2,3,[1,-1,3,4,1,9]); > B:=matrix([[-1,1,-3],[-4,-1,-9]]);> evalm(A+B);NHÂN HAI MA TRẬNDùng lệnh multiply.> multiply(matrix1,matrix2,);Ví dụ:> A:=matrix(2,3,[-2,4,0,6,-1,4]);> B:=matrix([[1,-5],[-3,5],[0,6]]);> multiply(A,B);TÍNH TÍCH TRONG CỦA MA TRẬN VÀ VECTORDùng lệnh innerprod để tính tích trong của một dãy các ma trận và vector.> u:=vector(2,[1,2]);> v:=vector(3,[1,2,3]);> C:=matrix(2,3,[1,1,1,2,2,2]);> innerprod(u,C,v); 30 > multiply(multiply(u,C),v); 30TÍCH TRỰC TiẾP CỦA HAI VECTORTích trực tiếp của hai vector là một vector.> crossprod(vector1,vector2);> v1:=vector(3,[1,-2,0]); v1 := [1, -2, 0]> v2:=vector(3,[0,2,5]); v2 := [0, 2, 5]> crossprod(v1,v2); [-10, -5, 2] TÍCH VÔ HƯỚNG CỦA HAI VECTORTích vô hướng của hai vector cho kết quả một số thực hoặc phức .> dotprod(vector1,vector2);> dotprod(vector1,vector2,’orthogono’);> dotprod([1,0,x],[1,y,0]); 1> a:=vector([1+I,2,I]); a := [1 + I, 2, I]> b:=vector([1-I,I,3]); b := [1 - I, I, 3]> dotprod(a,b); 3 ITÍNH GÍA TRỊ RIÊNG & VECTOR RIÊNG CỦA MATRẬN Lấy đa thức đặc trưng bằng:> charmat(A,lambda);Lấy đa thức đặc trưng bằng:> charpoly(A,lambda);> A:=matrix(2,2,[1,-3,2,4]);> charmat(A,lambda);> charpoly(A,lambda); TÍNH GÍA TRỊ RIÊNG & VECTOR RIÊNG CỦA MATRẬNXác định vector riêng bằng lệnh:> eigenvects(M);> M:=matrix(3,3,[1,-3,3,3,-5,3,6,-6,4]);> eigenvects(M); [4, 1, {[1, 1, 2]}], [-2, 2, {[1, 1, 0], [-1, 0, 1]}]TÍNH GÍA TRỊ RIÊNG & VECTOR RIÊNG CỦA MATRẬNDùng hàm Eigenvals.> Eigenvals(A,vecs);>B:=matrix(3,3,[1,2,4,3,7,2,5,6,9];>evalf(Eigenvals(B)); [-0.8946025434, 13.74788901, 4.146713483]TÍNH HẠNG ,ĐỊNH THỨC VÀ MA TRẬN NGƯỢCDùng các lệnh> rank(A);> det(A);> inverse(A);> X:=matrix([[1,4,2],[-3,0,5],[2,0,-6]]);> rank(X);> det(X);> inverse(X);GiẢI PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH> geneqns(A,x);> geneqns(A,x,b);> genmatrix(eqns,vars);> genmatrix(eqns,vars,flag); > genmatrix(eqns,vars,b);Tham số: -A,B tên ma trận-X danh sách các ẩn-Eqns tập hợp các phương trình-Vars tập hợp các biến- Flag tự chọnGiẢI PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH> eqns := {x+2*y=3,3*x-5*y=0}; eqns := {3 x - 5 y = 0, x + 2 y = 3}>A := genmatrix(eqns, [x,y]);>geneqns(A,[x,y]); {x + 2 y = 0, 3 x - 5 y = 0}> geneqns(A,x); {x[1] + 2 x[2] = 0, 3 x[1] - 5 x[2] = 0}GiẢI PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH> eqns := {x+2*z=a,3*x-5*y=6-z}; eqns := {x + 2 z = a, 3 x - 5 y = 6 - z}> A := genmatrix(eqns, [x,y,z], flag);>A := genmatrix(eqns, [x,y,z], 'b');> print(b); [a, 6]> geneqns(A,[x,y,z],b); {x + 2 z = a, 3 x - 5 y + z = 6}GiẢI PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNHGiải phương trình: Ax=u> linsolve(A,u);> A := matrix( [[1,2],[1,3]] ): b := vector( [1,-2]): linsolve(A, b); [7,-3]TÌM CƠ SỞ CỦA KHÔNG GIAN VECTORTìm các vector cơ sở của một họ vector bằng basis.> with(LinearAlgebra):> v1 := :> v2 := :> v3 := :> v4 := :> v5 := :> v6 := :> v7 := :> Basis([v1,v2,v2]); [[1, 0, 0], [0, 1, 0]]> Basis({v4,v6,v7}); {[0, 1, 1], [3, 0, -1], [4, 2, 0]}TÌM CƠ SỞ CỦA KHÔNG GIAN SINH BỞI CỘT VÀ HÀNG CỦA MA TRẬN> basis(A,’colspace’);> basis(A,’rowspace’);> A:=matrix(3,4,[1,1,0,1,0,0,2,1,-1,1,2,0]);> linalg[basis](A,rowspace);> linalg[basis](A,colspace);TÌM CƠ SỞ CỦA NHÂN > kernel(A);> A:=matrix(3,4,[1,1,0,1,0,0,2,1,-1,1,2,0]);> linalg[kernel](A); {[2,0,1,-2]}TÌM CƠ SỞ CỦA KHÔNG GIAN TRỰC CHUẨN> GramSchmidt(vects); vects : tập các vector
Các file đính kèm theo tài liệu này:
- maple_baiso5_daisotuyentinh_093.ppt