Sử dụng MAPLE để đưa dạng toàn phương về dạng chính tắc
Số trang: 4
Loại file: pdf
Dung lượng: 213.32 KB
Lượt xem: 12
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Dạng toàn phương là một trong những khái niệm cơ bản của Toán cao cấp. Dạng toàn phương có nhiều ứng dụng trong kỹ thuật và kinh tế như nhận dạng các đường và mặt bậc hai, đưa ra các điều kiện đủ trong các bài toán tối ưu… Sử dụng phần mềm MAPLE giúp cho việc nghiên cứu các dạng toàn phương dễ dàng và hiệu quả hơn.
Giả sử Vn là một không gian n chiều và S là một cơ sở của nó. Trong cơ sở S một dạng toàn phương là biểu thức có dạng
Q( x, x)...
Nội dung trích xuất từ tài liệu:
Sử dụng MAPLE để đưa dạng toàn phương về dạng chính tắc Sử dụng MAPLE để đưa dạng toàn phương về dạng chính tắc PHAN ĐỨC CHÂU Đại học Kinh doanh và Công nghệ Hà Nội Dạng toàn phương là một trong những khái niệm cơ bản của Toán cao cấp. Dạng toàn phương có nhiều ứng dụng trong kỹ thuật và kinh tế như nhận dạng các đường và mặt bậc hai, đưa ra các điều kiện đủ trong các bài toán tối ưu… Sử dụng phần mềm MAPLE giúp cho việc nghiên cứu các dạng toàn phương dễ dàng và hiệu quả hơn. Giả sử Vn là một không gian n chiều và S là một cơ sở của nó. Trong cơ sở S một dạng toàn phương là biểu thức có dạng n Q( x, x) = ∑ aij xi x j = x' Ax i , i =1 trong đó ma trận A = ( aij ) là một ma trận đối xứng. Nếu trong Q(x,x) chỉ chứa các số hạng bình phương thì nói Q(x,x) có dạng chính tắc trong cơ sở S. Rút gọn một dạng toàn phương là tìm một cơ sở S’ trong đó Q có dạng chính tắc. Để đưa một dạng toàn về về dạng chính tắc thường dùng 3 cách: Phương pháp chéo hóa trực giao, phương pháp Jacobi và phương pháp Lagrange. Bài này nêu việc sử dụng phần mềm MAPLE để đưa Q về dạng chính tắc theo phương pháp chéo hóa trực giao. Gọi P là ma trận chuyển từ cơ sở trực chuẩn S sang cơ sở trực chuẩn S’: x = Py. Trong S’ dạng toàn phương trở thành (Py)’A(Py) = y’(P’AP)y. Do S và S’ là trực chuẩn nên P là một ma trận trực giao theo nghĩa P’P = E , E là ma trận đơn vị. Vậy P −1 = P' . Nếu P −1 AP là một ma trận đường chéo, thì Q chỉ chứa các số hạng bình phương hay Q có dạng chính tắc trong cơ sở S’. Khi đó nói P là ma trận làm chéo hóa trực giao ma trận A. Áp dụng quá trình trực giao hóa Gram-Schmidt để tìm ma trận P. Đoạn chương trình sau trong MAPLE sẽ thực hiện việc trên. Có hai thủ tục: a) cheohoatrucgiao để chéo hóa trực giao một ma trận đối xứng bất kỳ, ngoài ra đưa thêm một số thông tin về đa thức đặc trưng, giá trị riêng, vectơ riêng của ma trận đó, b) chinhtac để đưa dạng toàn phương về dạng chính tắc. Trong thủ tục này có một phần để nhận đúng ma trận A của dạng toàn phương, nếu Q đưa vào sai sẽ báo lỗi. > restart:with(linalg):with(LinearAlgebra): > cheohoatrucgiao:=proc(M::Matrix) local dt,n,lambda,vt,i,G,v,gt,u: global P,T: n:=ColumnDimension(M): dt:=CharacteristicPolynomial(M,lambda): print(`Da thuc dac trung: `,factor(dt)); (gt,vt):=Eigenvectors(M): print(`Gia tri rieng: `,gt,`Cot vecto rieng : `, simplify(vt)); for i from 1 to n do v[i]:=Vector[column](col(vt,i)): od: G:=GramSchmidt([seq(v[i],i=1..n)],normalized): P:=augment(seq(G[i],i=1..n)): P:=convert(P,Matrix): print(`Ma tran lam cheo hoa P =`,simplify(P)); T:=DiagonalMatrix(gt): print(`Ma tran cheo hoa P'AP = `,T); end proc: > chinhtac:=proc(tp) local n,A,i,j,Ct,Ctrg,tp1,k: n:=nops(indets(tp)): tp1:=tp: for i from 1 to n do tp1:=subs(x[i]=k*x[i],tp1) od: if is(tp1=(k^2)*tp)=false then ERROR(`Dang toan phuong cho sai`) fi: A:=Matrix(n,n): for i from 1 to n do A[i,i]:=coeff(tp,x[i]^2): for j from (i+1) to n do A[i,j]:=coeff(coeff(tp,x[i]),x[j])/2: A[j,i]:=A[i,j] : od : od: print(`Ma tran dang toan phuong A =`,A): cheohoatrucgiao(A); Ct:=add(T[i,i]*y[i]^2,i=1..n); print(`Dang chinh tac sau khi cheo hoa truc giao :`,Ct); Ctrg:=add(sign(evalf(T[i,i]))*z[i]^2,i=1..n); print(`Dang chinh tac rut gon :`,Ctrg); end proc: Sau khi đã viết đoạn trên, để đưa các dạng toàn phương bất kỳ về dạng chính tắc, trước hết cần nạp dạng toàn phương đang xét, tiếp theo gọi thủ tục chinhtac. Dưới đây nêu một số ví dụ: > `DANG TOAN PHUONG 2 AN`; tp:=5*x[1]^2-4*x[1]*x[2]+8*x[2]^2: `Vi du 1: Dang toan phuong `:=tp; chinhtac(tp); tp:=-x[1]^2-x[2]^2+6*x[1]*x[2]+3: `Vi du 2: Dang toan phuong `:=tp; chinhtac(tp): tp:=5*x[1]^2+5*x[2]^2+4*x[1]*x[2]-2*x[2]: `Vidu 3: Dang toan Phuong `:=tp; chinhtac(tp): DANG TOAN PHUONG 2 AN 2 2 Vi du 1: Dang toan phuong := 5 x1 - 4 x1 x2 + 8 x2 5 -2 Ma tran dang toan phuong A =, -2 8 Da thuc dac trung: , (λ - 4) (λ - 9) -1 2 4 ...
Nội dung trích xuất từ tài liệu:
Sử dụng MAPLE để đưa dạng toàn phương về dạng chính tắc Sử dụng MAPLE để đưa dạng toàn phương về dạng chính tắc PHAN ĐỨC CHÂU Đại học Kinh doanh và Công nghệ Hà Nội Dạng toàn phương là một trong những khái niệm cơ bản của Toán cao cấp. Dạng toàn phương có nhiều ứng dụng trong kỹ thuật và kinh tế như nhận dạng các đường và mặt bậc hai, đưa ra các điều kiện đủ trong các bài toán tối ưu… Sử dụng phần mềm MAPLE giúp cho việc nghiên cứu các dạng toàn phương dễ dàng và hiệu quả hơn. Giả sử Vn là một không gian n chiều và S là một cơ sở của nó. Trong cơ sở S một dạng toàn phương là biểu thức có dạng n Q( x, x) = ∑ aij xi x j = x' Ax i , i =1 trong đó ma trận A = ( aij ) là một ma trận đối xứng. Nếu trong Q(x,x) chỉ chứa các số hạng bình phương thì nói Q(x,x) có dạng chính tắc trong cơ sở S. Rút gọn một dạng toàn phương là tìm một cơ sở S’ trong đó Q có dạng chính tắc. Để đưa một dạng toàn về về dạng chính tắc thường dùng 3 cách: Phương pháp chéo hóa trực giao, phương pháp Jacobi và phương pháp Lagrange. Bài này nêu việc sử dụng phần mềm MAPLE để đưa Q về dạng chính tắc theo phương pháp chéo hóa trực giao. Gọi P là ma trận chuyển từ cơ sở trực chuẩn S sang cơ sở trực chuẩn S’: x = Py. Trong S’ dạng toàn phương trở thành (Py)’A(Py) = y’(P’AP)y. Do S và S’ là trực chuẩn nên P là một ma trận trực giao theo nghĩa P’P = E , E là ma trận đơn vị. Vậy P −1 = P' . Nếu P −1 AP là một ma trận đường chéo, thì Q chỉ chứa các số hạng bình phương hay Q có dạng chính tắc trong cơ sở S’. Khi đó nói P là ma trận làm chéo hóa trực giao ma trận A. Áp dụng quá trình trực giao hóa Gram-Schmidt để tìm ma trận P. Đoạn chương trình sau trong MAPLE sẽ thực hiện việc trên. Có hai thủ tục: a) cheohoatrucgiao để chéo hóa trực giao một ma trận đối xứng bất kỳ, ngoài ra đưa thêm một số thông tin về đa thức đặc trưng, giá trị riêng, vectơ riêng của ma trận đó, b) chinhtac để đưa dạng toàn phương về dạng chính tắc. Trong thủ tục này có một phần để nhận đúng ma trận A của dạng toàn phương, nếu Q đưa vào sai sẽ báo lỗi. > restart:with(linalg):with(LinearAlgebra): > cheohoatrucgiao:=proc(M::Matrix) local dt,n,lambda,vt,i,G,v,gt,u: global P,T: n:=ColumnDimension(M): dt:=CharacteristicPolynomial(M,lambda): print(`Da thuc dac trung: `,factor(dt)); (gt,vt):=Eigenvectors(M): print(`Gia tri rieng: `,gt,`Cot vecto rieng : `, simplify(vt)); for i from 1 to n do v[i]:=Vector[column](col(vt,i)): od: G:=GramSchmidt([seq(v[i],i=1..n)],normalized): P:=augment(seq(G[i],i=1..n)): P:=convert(P,Matrix): print(`Ma tran lam cheo hoa P =`,simplify(P)); T:=DiagonalMatrix(gt): print(`Ma tran cheo hoa P'AP = `,T); end proc: > chinhtac:=proc(tp) local n,A,i,j,Ct,Ctrg,tp1,k: n:=nops(indets(tp)): tp1:=tp: for i from 1 to n do tp1:=subs(x[i]=k*x[i],tp1) od: if is(tp1=(k^2)*tp)=false then ERROR(`Dang toan phuong cho sai`) fi: A:=Matrix(n,n): for i from 1 to n do A[i,i]:=coeff(tp,x[i]^2): for j from (i+1) to n do A[i,j]:=coeff(coeff(tp,x[i]),x[j])/2: A[j,i]:=A[i,j] : od : od: print(`Ma tran dang toan phuong A =`,A): cheohoatrucgiao(A); Ct:=add(T[i,i]*y[i]^2,i=1..n); print(`Dang chinh tac sau khi cheo hoa truc giao :`,Ct); Ctrg:=add(sign(evalf(T[i,i]))*z[i]^2,i=1..n); print(`Dang chinh tac rut gon :`,Ctrg); end proc: Sau khi đã viết đoạn trên, để đưa các dạng toàn phương bất kỳ về dạng chính tắc, trước hết cần nạp dạng toàn phương đang xét, tiếp theo gọi thủ tục chinhtac. Dưới đây nêu một số ví dụ: > `DANG TOAN PHUONG 2 AN`; tp:=5*x[1]^2-4*x[1]*x[2]+8*x[2]^2: `Vi du 1: Dang toan phuong `:=tp; chinhtac(tp); tp:=-x[1]^2-x[2]^2+6*x[1]*x[2]+3: `Vi du 2: Dang toan phuong `:=tp; chinhtac(tp): tp:=5*x[1]^2+5*x[2]^2+4*x[1]*x[2]-2*x[2]: `Vidu 3: Dang toan Phuong `:=tp; chinhtac(tp): DANG TOAN PHUONG 2 AN 2 2 Vi du 1: Dang toan phuong := 5 x1 - 4 x1 x2 + 8 x2 5 -2 Ma tran dang toan phuong A =, -2 8 Da thuc dac trung: , (λ - 4) (λ - 9) -1 2 4 ...
Tìm kiếm theo từ khóa liên quan:
dạng toàn phương toán cao cấp maple bài toán tối ưu ứng dụng toàn phương ứng dụng toán cao cấpGợi ý tài liệu liên quan:
-
Kiến thức tổng hợp về Toán rời rạc: Phần 1
151 trang 257 0 0 -
Hướng dẫn giải bài tập Đại số tuyến tính: Phần 1
106 trang 230 0 0 -
Hình thành hệ thống điều khiển trình tự xử lý các toán tử trong một biểu thức logic
50 trang 170 0 0 -
Phương pháp chia đôi giải bài toán tối ưu trên tập Pareto tuyến tính
11 trang 161 0 0 -
Giáo trình Các phương pháp tối ưu - Lý thuyết và thuật toán: Phần 1 - Nguyễn Thị Bạch Kim
145 trang 147 0 0 -
Giáo trình Tối ưu tuyến tính và ứng dụng: Phần 1
213 trang 120 0 0 -
4 trang 101 0 0
-
Giáo trình Toán học cao cấp (tập 2) - NXB Giáo dục
213 trang 92 0 0 -
Bài giảng Toán cao cấp - Chương 1: Các khái niệm cơ bản của lý thuyết xác suất
16 trang 81 0 0 -
Giáo trình Toán kinh tế: Phần 2
60 trang 68 0 0