+ All Categories
Home > Documents > lin_maple

lin_maple

Date post: 03-Jan-2016
Category:
Upload: anh-tuan
View: 8 times
Download: 0 times
Share this document with a friend
Description:
Maple
25
Thc halnh tnh toaøn AˇI SO` TUYE`N T˝NH vøi MAPLE Trnh Thanh elo Khoa Toaøn - Tin hoc Trlng ai hoc Khoa hoc T nhien Tp.HCM, e-mail: [email protected]; [email protected] Website: www.math.hcmus.edu.vn/ttdeo/linalg/
Transcript

Thöïc haønh tính toaùn

ÑAÏI SOÁ TUYEÁN TÍNH

vôùi MAPLE

Trònh Thanh ÑeøoKhoa Toaùn - Tin hoïc

Tröôøng Ñaïi hoïc Khoa hoïc Töï nhieân Tp.HCM,

e-mail: [email protected]; [email protected]

Website: www.math.hcmus.edu.vn/∼ttdeo/linalg/

1 Môû ñaàu

Maple laø chöông trình tính toaùn ñöôïc söû duïng roäng raõi ôû caùctröôøng ñaïi hoïc treân theá giôùi. Ñaây laø moät chöông trình tínhtoaùn vaïn naêng khaù ñoà soä, coù khaû naêng tính toaùn treân caùc kyùhieäu hình thöùc. Vieäc caøi ñaët vaø söû duïng chöông trình cuõnghoaøn toaøn deã daøng nhö baát kyø chöông trình öùng duïng naøokhaùc. Neáu bieát söû duïng Maple moät caùch thaønh thaïo, ngöôøiduøng coù theå tieáp caän deã daøng vôùi moïi chöông trình tính toaùnkhaùc (nhö Mathematica, Mathlab, ...). Vôùi caùc höôùng daãn chitieát, giaùo trình giuùp sinh vieân coù theå töï mình tieán haønh caùccoâng vieäc moät caùch nheï nhaøng, khoâng caàn chuaån bò gì ñaëcbieät veà kieán thöùc tin hoïc, ngoaøi moät vaøi quy öôùc quen bieátnhö: pheùp nhaân bieåu thò baèng daáu *, pheùp chia baèng daáu /,pheùp luõy thöøa baèng daáu ^, ...

Ta baét ñaàu vieäc tính toaùn thöïc haønh baèng caùch ñöa vaøomoät cuïm xöû lyù (baèng caùch nhaán chuoät vaøo bieåu töôïng [> treânthanh leänh cuûa giao dieän laøm vieäc). Moät daáu nhaéc leänh [>

seõ hieän ra chôø ta ñöa leänh vaøo thöïc hieän. Caùc leänh ñöôïc keátthuùc baèng daáu hai chaám (:) hoaëc daáu chaám phaåy (; ), vaø leänhñöôïc thöïc hieän baèng caùch nhaán phím ENTER khi con troû ñöôïcñaët ôû cuoái doøng leänh. Keát quaû tính toaùn seõ hieän thò ngay beândöôùi doøng leänh neáu daáu keát thuùc leänh laø daáu chaám phaåy (;),vaø keát quaû ñöôïc thöïc hieän nhöng khoâng hieån thò neáu daáu keátthuùc leänh laø daáu hai chaám (:) - ñieàu naøy coù lôïi khi ta khoângmuoán maát thì giôø ñeå cho maùy hieån thò nhöõng caùi khoâng caànthieát. Ñeå gaùn giaù trò cho 1 bieán naøo ñoù ta söû duïng daáu :=.Ñeå ñaët chuù thích cho moät doøng leänh, ta duøng daáu #. Khi ñoù,nhöõng kyù töï naèm sau daáu # seõ ñöôïc Maple boû qua trong quatrình thöïc thi.

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 2

2 Goùi leänh veà ñaïi soá tuyeán tính

Ñeå thöïc haønh tính toaùn caùc vaán ñeà lieân quan ñeán ñaïi soá tuyeántính, MAPLE cung caáp hai goùi leänh (packages) laø linalg

(goùi leänh cô baûn) vaø LinearAlgebra (goùi leänh naâng cao).Khaû naêng tính toaùn cuûa caùc goùi leänh naøy ñöôïc moâ taû trongcöûa soå Help cuûa Maple. Ta coù theå xem nhanh baèng caùch goõcaùc doøng leänh töông öùng sau ñaây:

[> ?linalg;

vaø

[> ?LinearAlgebra;

Ñeå goïi goùi leänh linalg hoaëc LinearAlgebra, ta goõ doøng leänh

[> with(linalg):

hoaëc

[> with(LinearAlgebra):

Trong taøi lieäu naøy, chuùng toâi seõ trình baøy caùc leänh coù trong goùileänh linalg. Ñoäc giaû coù theå töï tham khaûo caùc leänh trong goùileänh LinearAlgebra sau khi ñaõ laøm quen vôùi Maple thoângqua goùi leänh linalg.

3 Khai baùo ma traän

Trong Maple, moät ma traän laø moät danh saùch caùc danh saùch,moãi danh saùch laø moät doøng cuûa ma traän. Moät ma traän A loaïi

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 3

m × n

A =

a11 a12 . . . a1n

a21 a22 . . . a2n

. . . . . . . . . . . . . . . . . . .

am1 am2 . . . amn

ñöôïc taïo bôûi caùc leänh sau ñaây:

[> A:=array(1..m,1..n,list_of_rows);

hoaëc

[> A:=array(list_of_rows);

hoaëc

[> A:=matrix(list_of_rows);

Trong ñoù, list_of_rows laø moät danh saùch daïng

[[a11, a12, ..., a1n], [a21, a22, ..., a2n], ..., [am1, am2, ..., amn]]

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 4

Ví duï 1.

[> with(linalg): #Goïi goùi leänh ñaïi soá tuyeán tính

[> A:=array(1..2,1..3,[[1,2,1],[2,3,5]]);

#Taïo ma traän A

A :=

[

1 2 12 3 5

]

[> B:=array([[1,2,3,4],[3,4,5,6],[1,2,3,1]]);

#Taïo ma traän B

B :=

1 2 3 43 4 5 61 2 3 1

Moät ma traän A loaïi m× n cuõng coù theå ñöôïc khai baùo bôûileänh

[> A:=matrix(m,n,list_of_entries);

Trong ñoù, list_of_entries laø moät danh saùch daïng

[a11, a12, ..., a1n, a21, a22, ..., a2n, ..., am1, am2, ..., amn]

Ví duï 2.

[> with(linalg):

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 5

[> A:=matrix(2,3,[1,2,3,4,5,6]);

[

1 2 34 5 6

]

4 Khai baùo vectô

Trong Maple, moät vectô laø moät danh saùch caùc soá. Moät vectôv = (x1, x2, ..., xn) coù theå ñöôïc khai baùo bôûi moät trong caùcleänh sau:

[> v:=array(1..n,[x1,x2, ..., xn]);

[> v:=array([x1,x2, ..., xn]);

[> v:=vector(n, [x1,x2, ..., xn]);

[> v:=vector([x1,x2, ..., xn]);

[> v:=[x1,x2, ..., xn];

5 Caùc leänh thöïc haønh tính toaùn

• diag(a1,a2,...,an): Taïo ma traän ñöôøng cheùo vôùi caùcphaàn töû treân ñöôøng cheùo laàn löôït laø a1, a2, ..., an.

• row(A, i): Vectô doøng thöù i cuûa ma traän A.

• row(A, i..k): Caùc vectô doøng thöù i ñeán thöù k cuûa matraän A.

• col(A, i): Vectô coät thöù i cuûa ma traän A.

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 6

• col(A, i..k): Caùc vectô coät thöù i ñeán thöù k cuûa matraän A.

• rowdim(A) vaø coldim(A): Xaùc ñònh soá doøng vaø soá coätcuûa ma traän A.

• vectdim(v): Xaùc ñònh chieàu cuûa vectô v.

• equal(A, B): Kieåm tra hai ma traän A vaø B coù baèngnhau khoâng?

• transpose(A): Xaùc ñònh ma traän chuyeån vò cuûa matraän A.

• scalarmul(A, r) hoaëc evalm(r*A): Nhaân ma traän A

vôùi moät soá (hoaëc moät bieåu thöùc) r.

• trace(A): Xaùc ñònh veát cuûa ma traän A.

• iszero(A): Kieåm tra ma traän A coù laø ma traän khoânghay khoâng?

• randmatrix(m, n): Taïo moät ma traän ngaãu nhieân loaïim × n.

• randvector(n): Taïo moät vectô ngaãu nhieân n chieàu.

• rank(A) : Xaùc ñònh haïng cuûa ma traän A.

• multiply(A,B,...) hoaëc evalm(A&*B&*...): Tích matraän A.B . . .

• matadd(A,B) hoaëc evalm(A+B): Tính toång ma traän A + B.

• matadd(A,B,r,s) hoaëc evalm(r*A+s*B): Tính toång matraän rA + sB (vôùi r, s laø caùc soá thöïc hoaëc caùc bieán).

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 7

• swaprow(A,i,j): Hoaùn vò hai doøng i vaø j cuûa matraän A.

• swapcol(A,i,j): Hoaùn vò hai coät i vaø j cuûa ma traän A.

• mulrow(A, i, m): Nhaân doøng thöù i cuûa ma traän A vôùimoät soá m.

• mulcol(A, j, m): Nhaân coät thöù j cuûa ma traän A vôùimoät soá m.

• addrow(A,j,i,m): Thay doøng i cuûa ma traän A bôûi doøngi coäng vôùi m laàn doøng j cuûa A.

• addcol(A,j,i,m): Thay coät i cuûa ma traän A bôûi coät i

coäng vôùi m laàn coät j cuûa A.

• pivot(A, i, j): Neáu phaàn töû ôû vò trí (i, j) cuûa ma traänA laø khaùc 0 thì leänh naøy duøng ñeå ñöa taát caû caùc vò trícoøn laïi ôû coät thöù j cuûa A veà 0 (ngoaïi tröø vò trí (i, j))baèng caùch laáy caùc doøng coäng k laàn doøng i.

• gausselim(A): Ñöa ma traän A veà daïng baäc thang.

• gaussjord(A) hoaëc rref(A): Ñöa ma traän A veà ma traänruùt goïn.

• delrows(A, r..s): Xoùa caùc doøng cuûa ma traän A töødoøng thöù r ñeán doøng thöù s.

• delcols(A, r..s): Xoùa caùc coät cuûa ma traän A töø coätthöù r ñeán coät thöù s.

• inverse(A): Xaùc ñònh ma traän nghòch ñaûo cuûa ma traän A.

• augment(A, B, ...) hoaëc concat(A, B, ...): Noáihai hay nhieàu ma traän coù cuøng soá doøng (A, B, . . .) thaønhmoät ma traän môùi daïng (A|B|...).

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 8

• stackmatrix(A, B, ...): Noái hai hay nhieàu ma traäncoù cuøng soá coät (A, B, . . .) thaønh moät ma traän môùi daïng

A

B...

.

• submatrix(A, i..j,r..s): Ma traän con cuûa ma traänA goàm caùc doøng töø doøng thöù i ñeán doøng thöù j vaø caùccoät töø coät thöù r ñeán coät thöù s.

• evalm(A^k): Xaùc ñònh luõy thöøa ma traän Ak.

• linsolve(A, b) hoaëc linsolve(A, B) : Giaûi heä phöôngtrình tuyeán tính daïng AX = b vôùi A laø moät ma traän loaïim × n, b laø moät vectô coät m chieàu, B laø moät ma traänloaïi m × k .

• geneqns(A, x) geneqns(A, x,b): Taïo heä phöông trìnhvôùi aån laø x, ma traän caùc heä soá laø A vaø coät caùc heä soá töïdo laø b (neáu b khoâng ghi thì noù ñöôïc ngaàm hieåu laø 0)

• genmatrix(eqns, vars) hoaëcgenmatrix(eqns,vars,b): Taïo ma traän caùc heä soá cuûaheä phöông trình tuyeán tính eqns vôùi caùc aån laø vars.Thoâng soá tuøy choïn b ñeå taïo vectô coät caùc heä soá töï do

• solve(eqns, vars): Giaûi moät phöông trình hoaëc moätheä phöông trình, heä baát phöông trình eqns vôùi caùc aån laøvars. Neáu coù nhieàu phöông trình (baát phöông trình) thìeqns laø {eqn1,eqn2, ...}; neáu coù nhieàu bieán thì varslaø {var1,var2, ...};

• det(A): Tìm ñònh thöùc cuûa ma traän A.

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 9

• minor(A, r, c): Xaùc ñònh ma traän coù ñöôïc töø ma traänA baèng caùch xoùa doøng thöù r vaø coät thöù c cuûa A.

• adj(A) hoaëc adjoint(A): Xaùc ñònh ma traän phoù cuûa matraän A

• u+v: Coäng hai vectô u vaø v.

• r*u+s*v: Tính ru + sv, vôùi u, v laø 2 vectô, r, s laø 2 soáthöïc (hoaëc bieán).

• dotprod(u, v): Tính tích voâ höôùng cuûa hai vectô u vaø v.

• crossprod(u, v): Tính tích höõu höôùng cuûa hai vectô u

vaø v trong khoâng gian R3.

• norm(u, 2): Tính ñoä daøi (chuaån) cuûa vectô u. Ñoái soá2 duøng ñeå chæ vieäc tính ñoä daøi theo coâng thöùc caên baächai cuûa toång bình phöông caùc toïa ñoä.

• normalize(u): Chuaån hoùa vectô u. Keát quaû traû veà laø

vectô v =1

||u||.u.

• angle(u, v): Tính soá ño goùc giöõa 2 vectô u vaø v (döïa

theo coâng thöùc cos(u, v) =u.v

|u|.|v|).

• basis(V): Tìm cô sôû cho khoâng gian sinh bôûi caùc vectôthuoäc taäp hôïp V . Keát quaû traû veà laø moät taäp hôïp concuûa V .

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 10

• basis(A,’rowspace’): Tìm cô sôû cho khoâng gian sinhbôûi caùc doøng cuûa ma traän A. Keát quaû traû veà laø moät taäphôïp goàm caùc vectô doøng cuûa A.

• basis(A,’colspace’): Tìm cô sôû cho khoâng gian sinhbôûi caùc coät cuûa ma traän A. Keát quaû traû veà laø moät taäphôïp goàm caùc vectô coät cuûa A.

• rowspan(A) hoaëc rowspan(A, ’dim’) : Tìm cô sôû chokhoâng gian sinh bôûi caùc doøng cuûa ma traän A. Keát quaûtraû veà laø moät taäp hôïp goàm caùc vectô doøng khaùc 0 trongdaïng baäc thang cuûa A. Thoâng soá dim laø thoâng soá tuøychoïn duøng ñeå xaùc ñònh soá chieàu cuûa khoâng gian doøng.

• rowspace(A) hoaëc rowspace(A, ’dim’): Tìm cô sôûcho khoâng gian sinh bôûi caùc doøng cuûa ma traän A. Keátquaû traû veà laø moät taäp hôïp goàm caùc vectô doøng khaùc 0trong daïng ruùt goïn cuûa A. Thoâng soá dim laø thoâng soá tuøychoïn duøng ñeå xaùc ñònh soá chieàu cuûa khoâng gian doøng.

• colspan(A) hoaëc colspan(A, ’dim’): Tìm cô sôû chokhoâng gian sinh bôûi caùc coät cuûa ma traän A. Keát quaûtraû veà laø moät taäp hôïp goàm caùc vectô doøng khaùc 0 trongdaïng baäc thang cuûa A>. Thoâng soá dim laø thoâng soá tuøychoïn duøng ñeå xaùc ñònh soá chieàu cuûa khoâng gian coät.

• colspace(A) hoaëc colspace(A, ’dim’): Tìm cô sôûcho khoâng gian sinh bôûi caùc coät cuûa ma traän A. Keátquaû traû veà laø moät taäp hôïp goàm caùc vectô doøng khaùc 0trong daïng ruùt goïn cuûa A>. Thoâng soá dim laø thoâng soátuøy choïn duøng ñeå xaùc ñònh soá chieàu cuûa khoâng gian coät.

• nullspace(A) hoaëc nullspace(A, ’nulldim’): Tìmcô sôû cho khoâng gian nghieäm cuûa heä phöông trình tuyeántính daïng AX = 0 (vôùi A laø moät ma traän). Keát quaû traû

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 11

veà laø taäp hôïp taát caû caùc vectô nghieäm caên baûn cuûa heäAX = 0. Thoâng soá nulldim laø thoâng soá tuøy choïn duøngñeå xaùc ñònh soá chieàu cuûa khoâng gian nghieäm.

• sumbasis(S1, S2, ...): Tìm cô sôû cho khoâng giantoång cuûa caùc khoâng gian sinh bôûi caùc taäp hôïp S1, S2,. . .

• intbasis(S1, S2, ...): Tìm cô sôû cho khoâng giangiao cuûa caùc khoâng gian sinh bôûi caùc taäp hôïp S1, S2,. . .

• GramSchmidt([v1, v2, ...,vn]) hoaëcGramSchmidt({v1, v2, ...,vn}): Tìm cô sôû tröïc giaotöø cô sôû goàm caùc vectô v1, v2, ..., vn baèng thuaät toaùnGramSchmidt.

• GramSchmidt([v1, v2, ...,vn],’normalized’)hoaëcGramSchmidt({v1, v2, ...,vn}),’normalized’: Tìmcô sôû tröïc chuaån töø cô sôû goàm caùc vectô v1, v2, ..., vn baèngthuaät toaùn GramSchmidt.

• kernel(A) hoaëc kernel(A, ’nulldim’): Tìm cô sôûcho khoâng gian haït nhaân cuûa aùnh xaï tuyeán tính xaùc ñònhbôûi ma traän A. Keát quaû traû veà laø taäp hôïp taát caû caùc vectôcô sôû cuûa khoâng gian haït nhaân. Thoâng soá nulldim laøthoâng soá tuøy choïn duøng ñeå xaùc ñònh soá chieàu cuûa khoânggian haït nhaân (Leänh kernel thöïc hieän hoaøn toaøn gioángnhö leänh nullspace).

• charmat(A, x): Xaùc ñònh ma traän ñaëc tröng cuûa matraän A, ñoù laø ma traän daïng (xI − A).

• charpoly(A, x): Xaùc ñònh ña thöùc ñaëc tröng cuûa matraän A, ñoù laø ña thöùc daïng p(x) = det(xI − A).

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 12

• eigenvalues(A) hoaëc eigenvals(A): Xaùc ñònh caùc tròrieâng cuûa ma traän A.

• eigenvectors(A) hoaëc eigenvects(A): Xaùc ñònh caùcvectô rieâng (töông öùng vôùi töøng trò rieâng) cuûa ma traänA.

• issimilar(A, B) hoaëc issimilar(A, B, ’P’): Kieåmtra hai ma traän A vaø B coù ñoàng daïng nhau hay khoâng.Thoâng soá tuøy choïn ’P’ duøng ñeå xaùc ñònh ma traän P saocho A = P−1BP .

• minpoly(A, x): Xaùc ñònh ña thöùc toái tieåu cuûa ma traänA. Ña thöùc toái tieåu cuûa ma traän A laø ña thöùc m(x) coùbaäc nhoû nhaát sao cho m(A) = 0.

• definite(A, ’positive_def’): Kieåm tra ma traän A

coù xaùc ñònh döông hay khoâng?

• definite(A, ’positive_semidef’): Kieåm tra ma traänA coù baùn xaùc ñònh döông hay khoâng?

• definite(A, ’negative_def’): Kieåm tra ma traän A

coù xaùc ñònh aâm hay khoâng?

• definite(A, ’negative_semidef’): Kieåm tra ma traänA coù baùn xaùc ñònh aâm hay khoâng?

6 Caùc ví duï

Ví duï 1.

[> with(linalg): #Goïi goùi leänh Ñaïi soá tuyeán tính

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 13

[> A:=matrix(2,3,[1,2,3,4,5,6]); #Taïo ma traän A

[

1 2 34 5 6

]

[> rank(A); #Tìm haïng cuûa A

2

[> gausselim(A); #Tìm daïng baäc thang cuûa A

[

1 2 30 −3 −6

]

[> swaprow(A,1,2); #Hoaùn vò doøng 1 vaø doøng 2 cuûa A

[

4 5 61 2 3

]

[> B:=matrix(2,3,[1,-1,2,3,1,-2]); #Taïo ma traän B

[

4 5 61 2 3

]

[> matadd(A, B, 3, -4); #Tính 3A-4B

[

−1 10 10 11 26

]

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 14

[> concat(A, B); #Noái A vôùi B thaønh ma traän môû roäng(A|B)

[

1 2 3 1 −1 24 5 6 3 1 −2

]

[> delcols(A,3..3); #Xoùa coät 3 cuûa A

[

1 24 5

]

[> evalm(%^3); #Tính luõy thöøa baäc 3 cuûa ma traän vöøañöôïc thöïc thi

[

57 78156 213

]

Ghi chuù. Ñeå goïi laïi moät keát quaû lieàn tröôùc moät doøng leänhnaøo ñoù, ta coù theå duøng daáu %, chaúng haïn trong ví duï treân, daáu% ñöôïc hieåu laø goïi ma traän

[

1 24 5

]

.

Töông töï, neáu goïi moät keát quaû tröôùc moät doøng leänh ñang thöïchieän bao nhieâu böôùc thì ta seõ duøng baáy nhieâu daáu % (trongcaùc phieân baûn cuõ cuûa Maple, daáu % ñöôïc thay bôûi daáu ").

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 15

Ví duï 2. Giaûi heä phöông trình

2x + 3y − 4z = 23x + 2y − 3z = 55x − y + 2z = 1

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 16

Caùch 1.

[> solve({2*x+3*y-4*z = 2, 3*x+2*y-3*z = 5,

5*x-y+2*z = 1}, [x, y, z]);

{x = 1, y = −8, z = −6}

Caùch 2.

[> with(linalg):

[> A:=matrix(3,3,[2,3,-4,3,2,-3,5,-1,2]);

#Taïo ma traän caùc heä soá

A :=

2 3 −43 2 −35 −1 2

[> b:=vector([2,5,1]); #Taïo vectô caùc heä soá töï do

b := [2 5 1]

[> linsolve(A,b); #Giaûi heä AX=b

[1 − 8 − 6]

Ví duï 3. Taïo ma traän caùc heä soá vaø coät caùc heä soá töï do choheä phöông trình:

2x + 3y − 4z = 23x + 2y − 3z = 55x − y + 2z = 1

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 17

[> with(linalg):

[> eqns:={2*x+3*y-4*z = 2, 3*x+2*y-3*z = 5,

5*x-y+2*z = 1};

#Taïo heä phöông trình

eqns := {2x +3y − 4z = 2, 3x +2y − 3z = 5, 5x− y +2z = 1}

[> A:=genmatrix(eqns, [x, y, z], b);

#Xaùc ñònh ma traän caùc heä soá

A :=

2 3 −43 2 −35 −1 2

[> print(b); #In vectô caùc heä soá töï do

[2 5 1]

Ví duï 4. Taïo heä phöông trình daïng Ax = b vôùi

A :=

2 3 −43 2 −35 −1 2

, b := [2, 5, 1], x = [x1, x2, x3].

[> with(linalg):

[> A:=matrix(3,3,[2,3,-4,3,2,-3,5,-1,2]);

A :=

2 3 −43 2 −35 −1 2

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 18

[> b:=vector([2,5,1]);

b := [2 5 1]

[> geneqns(A, [x[1], x[2], x[3]], b);

#Xaùc ñònh heä phöông trình daïng AX=b

{2x1 +3x2−4x3 = 2, 3x1 +2x2 −3x3 = 5, 5x1 −x2 +2x3 = 1}

Ví duï 5.

[> with(linalg):

[> A := matrix(3,3, [1,2,3,4,5,6,7,8,9]);

#Taïo ma traän A

A :=

1 2 34 5 67 8 9

[> det(A); #Tính ñònh thöùc cuûa A

0

[> minor(A,1,3); #Xaùc ñònh ma traän coù ñöôïc töø A baèngcaùch xoùa doøng 1 vaø coät 3

[

4 57 8

]

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 19

[> adj(A); #Xaùc ñònh ma traän phoù cuûa A

−3 6 −36 −12 6

−3 6 −3

[> B := array(1..2,1..2, [[1,4],[0,2]]); #Taïo matraän B

B :=

[

1 40 2

]

[> det(B); #Tính ñònh thöùc cuûa B

2

[> adjoint(B); #Xaùc ñònh ma traän phoù cuûa B

[

2 −40 1

]

Ví duï 6.

[> with(linalg):

[> A := matrix(3,3, [1,2,3,4,5,6,7,8,9]); #Taïo matraän A

A :=

1 2 34 5 67 8 9

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 20

[> basis(A,’rowspace’); #Xaùc ñònh cô sôû cho khoânggian doøng cuûa A

[[1 2 3], [4 5 6]]

[> basis(A,’colspace’); #Xaùc ñònh cô sôû cho khoânggian coät cuûa A

[[1 4 7], [2 5 8]]

[> rowspan(A,’dim’); #Xaùc ñònh cô sôû cho khoâng giandoøng cuûa A

{[1 2 3], [0 − 3 − 6]}

[> print(dim); #In soá chieàu cuûa khoâng gian doøng cuûaA

2

[> rowspace(A,’dim’); #Xaùc ñònhcô sôû cho khoâng giandoøng cuûa A

{[0 1 2], [1 0 1]}

[> nullspace(A,’r’); #Xaùc ñònh cô sôû cho khoâng giannghieäm cuûa heä AX=0

{[1 − 2 1]}

[> print(r); #In soá chieàu cuûa khoâng gian nghieäm cuûaheä AX=0

1

[> colspan(A); #Xaùc ñònh cô sôû cho khoâng gian coätcuûa A

{[0 − 3 − 6], [1 4 7]}

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 21

Ví duï 7.

[> with(linalg):

[> A := matrix(3,3, [1,2,3,4,5,6,7,8,9]); #Taïo matraän A

A :=

1 2 34 5 67 8 9

[> kernel(A,’r’); #Xaùc ñònh cô sôû cho khoâng gian

haït nhaân cuûa aùnh xaï tuyeán tính xaùc ñònh bôûi ma traän A

{[1 − 2 1]}

[> print(r); #In soá chieàu cuûa khoâng gian haït nhaân

1

Ví duï 8.

[> with(linalg):

[> A := matrix(3, 3, [3, 1, 1, 2, 4, 2, 1, 1, 3]);

#Taïo ma traän A

A :=

3 1 12 4 21 1 3

[> charmat(A,x); #Xaùc ñònh ma traän ñaëc tröng cuûa A

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 22

(theo bieán x)

A :=

x − 3 −1 −1−2 x − 4 −2−1 −1 x − 3

[> charpoly(A,t); #Xaùc ñònh ña thöùc ñaëc tröng cuûa A(theo bieán t)

p := t3 − 10t2 + 28t − 24

[> factor(%); #Phaân tích ña thöùc vöøa coù thaønh nhaântöû

(t − 6)(−2 + t)2

[> eigenvalues(A); #Xaùc ñònh taát caû caùc trò rieângcuûa A

6, 2, 2

[> eigenvectors(A); #Xaùc ñònh heä thoáng goàm caùc tròrieâng vaø cô sôû cuûa khoâng gian rieâng töông öùng

[2, 2, {[−1 1 0], [−1 0 1]}], [6, 1, {[1 2 1]}]

[> minpoly(A,t); #Xaùc ñònh ña thöùc toái tieåu cuûa A(theo bieán t)

12 − 8t + t2

[> factor(%); #Phaân tích ña thöùc vöøa coù thaønh nhaântöû

(−2 + t)(t− 6)

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 23

Ghi chuù.

• Leänh factor(%) duøng ñeå ñöa ña thöùc coù ñöôïc töø keátquaû lieàn tröôùc leänh naøy thaønh tích.

• Keát quaû traû veà cuûa leänh eigenvectors(A) laø caùc danhsaùch coù daïng [lambda, k, {v1, v2, ...}], trong ñoù lambda

laø giaù trò rieâng, k laø soá boäi cuûa trò rieâng lambda, {v1, v2, ...}laø taäp hôïp caùc vectô cô sôû cuûa khoâng gian rieâng E(lambda).

Ví duï 9.

[> with(linalg):

[> A := matrix(3, 3, [1,2,3,4,5,6,7,8,9]);#Taïo matraän A

A :=

1 2 34 5 67 8 9

[> B := matrix(3, 3, [6,3,2,18,6,6,9,3,3]); #Taïoma traän B

B :=

6 3 218 6 69 3 3

[> issimilar(A, B,’P’); #Kieåm tra Avaø B coù ñoàng daïnghay khoâng?

true

Trònh Thanh Ñeøo - Thöïc haønh tính toaùn ÑSTT vôùi Maple .. 24

[> print(P); #In ma traän P sao cho A=P−1BP

1 0 0−1 0 1−1 1 0

Ví duï 10.

[> with(linalg):

[> A := matrix(3,3, [1,0,0,0,2,0,0,0,3]); #Taïo matraän A

A :=

1 0 00 2 00 0 3

[>definite(A, ’positive_def’); #Kieåm tra A coù xaùcñònh döông hay khoâng

true

[>definite(A, ’positive_semidef’); #Kieåm tra A coùnöûa xaùc ñònh döông hay khoâng

true

[>definite(A, ’negative_def’); #Kieåm tra A coù xaùcñònh aâm hay khoâng

false

[>definite(A, ’negative_semidef’); #Kieåm tra A coùnöûa xaùc ñònh aâm hay khoâng

false