Tải bản đầy đủ (.pdf) (4 trang)

Sử dụng MAPLE để đưa dạng toàn phương về dạng chính tắc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (213.32 KB, 4 trang )

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


Vi du 1: Dang toan phuong := 5 x1 - 4 x1 x2 + 8 x2

2

-2

8

 5
Ma tran dang toan phuong A =, 
 -2

Da thuc dac trung: , (λ - 4) (λ - 9)


Gia tri rieng: , 




4
 2
 , Cot vecto rieng :, 

9
 1





Ma tran lam cheo hoa P =, 




2
5

5

1
5

5

-1 

2

1


-

1
5

5 




5 


2
5

 4
Ma tran cheo hoa P'AP = , 
 0


0

9
2

Dang chinh tac sau khi cheo hoa truc giao :, 4 y1 + 9 y2
2

Dang chinh tac rut gon :, z 1 + z2
2

2

2

2

Vi du 2: Dang toan phuong := -x1 - x2 + 6 x1 x2 + 3


Error, (in chinhtac) Dang toan phuong cho sai
2

2

Vidu 3: Dang toan phuong := 5 x1 + 5 x2 + 4 x1 x2 - 2 x2

Error, (in chinhtac) Dang toan phuong cho sai

Kết quả ở Ví dụ 1 cho biết đó là dạng toàn phương xác định dương, còn các dạng toàn
phương ở Ví dụ 2 và 3 cho sai, cần nạp lại.
> `DANG TOAN PHUONG 3 AN`;
tp:=x[1]^2+x[2]^2+x[3]^2-2*x[1]*x[2]-2*x[1]*x[3]2*x[2]*x[3]:
`Vidu 4: Dang toan phuong`:=tp; chinhtac(tp);
DANG TOAN PHUONG 3 AN
2

2

2

Vidu 4: Dang toan phuong := x1 + x2 + x3 - 2 x1 x2 - 2 x1 x3 - 2 x2 x3


 1

Ma tran dang toan phuong A =,  -1



 -1

-1

-1

-1


1

1
-1
2

Da thuc dac trung: , (λ + 1) (λ - 2)
 -1
 1
 

Gia tri rieng: ,  2 , Cot vecto rieng :,  1
 

 

 2
 1






Ma tran lam cheo hoa P =, 







1
3

3

1
3

3

1
3

3

-

-1
1
0


1
2


6



1
6

6


1
6 
3


2

1
2

-

2

0


 -1

Ma tran cheo hoa P'AP = ,  0


 0

-1

0


1

0

1
6

0

0


2

2
0
2


2

Dang chinh tac sau khi cheo hoa truc giao :, -y1 + 2 y2 + 2 y3
2

2

Dang chinh tac rut gon :, -z1 + z2 + z3

2

2

Hãy thử áp dụng đối với dạng toàn phương 4 ẩn sau:
> `DANG TOAN PHUONG 4 AN`;
tp:=x[1]^2+x[2]^2+x[3]^2+x[4]^2+2*x[1]*x[2]+2*x[1]*x[3]+2*x[
1]*x[4]-2*x[2]*x[3]-2*x[2]*x[4]-2*x[3]*x[4]:
`Vi du 5: Dang toan phuong`:=tp; chinhtac(tp);
MAPLE là một phần mềm tính toán khá mạnh có khả năng tính toán trên số và trên các
ký hiệu. Việc sử dụng MAPLE sẽ đem lại một công cụ rất hiệu quả trong nghiên cứu
khoa học và giảng dạy trên nhiều lĩnh vực khác nhau.
TÀI LIỆU
[1] B.W.CHAR, K.O.GEDDES, G.H.GONNET, B.L.LEONG, M.B.MANAGAN,
S.M.WATT, Maple V Library Reference Manual, Springer-Verlag, 1993
[2] PHAN ĐỨC CHÂU, Sử dụng MAPLE trong Toán sơ cấp và Toán cao cấp, Nxb Khoa
học và kỹ thuật, 2005
[3] NGUYỄN ĐÌNH TRÍ , TẠ VĂN ĐĨNH, NGUYỄN HỒ QUỲNH, Toán học cao cấp,
Nxb Giáo dục, 2004




×