数 学 实 验

52
数 数 数 数 数 数 数 数 —— —— 用用用用用用用用用用用用用 用用用用用用用用用用用用用 用用用用 用用用用 , , 用用用用 用用用用 , , 用用用用 用用用用

Upload: gregory-pallas

Post on 01-Jan-2016

48 views

Category:

Documents


0 download

DESCRIPTION

数 学 实 验. —— 用计算机解决和发现数学问题 数值模拟 , 符号计算 , 符号推理. 第五讲 矩阵计算及其应用. 【 主要内容 】 矩阵计算的基本函数和矩阵应用的数学试验 . 【 主要目的 】 学会用 Mathematic 软件完成矩阵的计算 , 了解矩阵应用问题的解决方法. 矩阵生成的有关函数. 1. Table 可以生成多层表 , 一层表是行向量 ( 行矩阵 ), 二层表是矩阵 . Table[i^2,{i,10}] {1,4,9,16,25,36,49,64,81,100} - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 数 学 实 验

数 学 实 验数 学 实 验———— 用计算机解决和发现数学问题用计算机解决和发现数学问题

数值模拟数值模拟 ,, 符号计算符号计算 ,, 符号推理 符号推理

Page 2: 数 学 实 验

第五讲 矩阵计算及其应用第五讲 矩阵计算及其应用

【主要内容】【主要内容】矩阵计算的基本函数和矩阵应矩阵计算的基本函数和矩阵应

用的数学试验用的数学试验 ..

【主要目的】【主要目的】学会用学会用 MathematicMathematic 软件完软件完

成矩阵的计算成矩阵的计算 ,, 了解矩阵应用问题的解决了解矩阵应用问题的解决

方法方法 ..

Page 3: 数 学 实 验

矩阵生成的有关函数矩阵生成的有关函数1. Table1. Table 可以生成多层表可以生成多层表 ,, 一层表是行向量一层表是行向量 (( 行矩行矩

阵阵 ),), 二层表是矩阵二层表是矩阵 .. Table[i^2,{i,10}]Table[i^2,{i,10}]

{1,4,9,16,25,36,49,64,81,100} {1,4,9,16,25,36,49,64,81,100} TableForm[Table[Binomial[i,j],{i,0,8},{j,0,TableForm[Table[Binomial[i,j],{i,0,8},{j,0,

8}]] 8}]] 1 0 0 0 0 0 0 0 01 1 0 0 0 0 0 0 01 2 1 0 0 0 0 0 01 3 3 1 0 0 0 0 01 4 6 4 1 0 0 0 01 5 10 10 5 1 0 0 01 6 15 20 15 6 1 0 01 7 21 35 35 21 7 1 01 8 28 56 70 56 28 8 1

Page 4: 数 学 实 验

矩阵生成的有关函数矩阵生成的有关函数2. Array2. Array 具有和具有和 TableTable 相似的用途相似的用途 . .

Array[a,3]Array[a,3]{a[1],a[2],a[3]}{a[1],a[2],a[3]}

Array[a,{2,3},0]Array[a,{2,3},0]{{a[0,0],a[0,1],a[0,2]},{a[1,0],a[1,1],a[1,2]}} {{a[0,0],a[0,1],a[0,2]},{a[1,0],a[1,1],a[1,2]}}

Array[a,{2,3}]Array[a,{2,3}] {{a[1,1],a[1,2],a[1,3]},{a[2,1],a[2,2],a[2,3]}}{{a[1,1],a[1,2],a[1,3]},{a[2,1],a[2,2],a[2,3]}}

Page 5: 数 学 实 验

矩阵矩阵生成生成的有关函数的有关函数3. DiagonalMatrix 3. DiagonalMatrix 生成对角矩阵 生成对角矩阵

L1={1,-2,3,4};A=DiagonalMatrix[L1]L1={1,-2,3,4};A=DiagonalMatrix[L1]{{1,0,0,0},{0,-2,0,0},{0,0,3,0},{0,0,0,4}}{{1,0,0,0},{0,-2,0,0},{0,0,3,0},{0,0,0,4}}

4. IdentityMatrix[3]4. IdentityMatrix[3]{{1,0,0},{0,1,0},{0,0,1}}{{1,0,0},{0,1,0},{0,0,1}}

Page 6: 数 学 实 验

矩阵矩阵生成生成的有关函数的有关函数5. RandomSquare5. RandomSquare 函数可以自动生成一个随机方阵函数可以自动生成一个随机方阵 ..Unprotect[RandomSquare];Unprotect[RandomSquare];Clear[RandomSquare];Clear[RandomSquare];RandomSquare[dim_Integer:3,max_:5,detmax_InteRandomSquare[dim_Integer:3,max_:5,detmax_Inte

ger:3,del_List:{0}]:=Module[{t,tt,i,j},tt=Table[m,ger:3,del_List:{0}]:=Module[{t,tt,i,j},tt=Table[m,{m,-detmax,detmax}]~Complement~del; t=Table{m,-detmax,detmax}]~Complement~del; t=Table[Random[Integer,{-max,max}],{dim},{dim}]; W[Random[Integer,{-max,max}],{dim},{dim}]; While[FreeQ[tt,Det[t]],i=Random[Integer,{1,dim}];hile[FreeQ[tt,Det[t]],i=Random[Integer,{1,dim}];

j=Random[Integer,{1,dim}];j=Random[Integer,{1,dim}]; t[[i,j]]=Random[Integer,{-max,max}]]; t]/;Posit[[i,j]]=Random[Integer,{-max,max}]]; t]/;Posi

tive[dim]&&NumberQ[max]&&Positive[max]&&Ptive[dim]&&NumberQ[max]&&Positive[max]&&Positive[detmax]ositive[detmax]

Protect[RandomSquare];Protect[RandomSquare]; RandomSquare[3] RandomSquare[3] {{5,4,2},{2,5,4},{3,-2,-3}}{{5,4,2},{2,5,4},{3,-2,-3}}

Page 7: 数 学 实 验

矩阵矩阵生成生成的有关函数的有关函数6. LinearAlgebra6. LinearAlgebra 扩展程序中包括扩展程序中包括 ::MatrixManipulation,Orthogonalization,TridiagonaMatrixManipulation,Orthogonalization,Tridiagona

ll 等等 ..

<<LinearAlgebra`MatrixManipulation`<<LinearAlgebra`MatrixManipulation`MatrixPlot[Table[Random[Integer],{50},{50}],MatrixPlot[Table[Random[Integer],{50},{50}],MaxMatrixSize->20,ColorFunction->(GrayLeMaxMatrixSize->20,ColorFunction->(GrayLe

vel[1-#]&), ColorFunctionScaling->True]vel[1-#]&), ColorFunctionScaling->True]

Page 8: 数 学 实 验

矩阵生成的有关函数矩阵生成的有关函数

0 10 20 30 40 50

50

40

30

20

10

00 10 20 30 40 50

50

40

30

20

10

0

Page 9: 数 学 实 验

矩阵运算矩阵运算1. 1. 矩阵加法 矩阵加法 ((MatrixFormMatrixForm 有三种使用方法有三种使用方法 ))A={{5,-2,1},{3,4,-1}};B={{1,x},{a,-1}};A={{5,-2,1},{3,4,-1}};B={{1,x},{a,-1}};{MatrixForm@B,MatrixForm[B+IdentityMatrix{MatrixForm@B,MatrixForm[B+IdentityMatrix

[2]]}[2]]}x+A//MatrixFormx+A//MatrixForm1 x

a 1,2 x

a 05 x 2 x 1 x

3 x 4 x 1 x

Page 10: 数 学 实 验

矩阵运算矩阵运算2. 2. 数和矩阵的乘法、矩阵与矩阵的的乘法 数和矩阵的乘法、矩阵与矩阵的的乘法 M=Array[a,{2,2}];M=Array[a,{2,2}];

k M//MatrixFormk M//MatrixForm

A={{1,2},{3,4}};A+M//MatrixFormA={{1,2},{3,4}};A+M//MatrixForm

A*M//MatrixFormA*M//MatrixForm

ka1, 1ka1, 2ka2, 1ka2, 21 a1, 12 a1, 23 a2, 14 a2, 2a1, 12a1, 23a2, 14a2, 2

Page 11: 数 学 实 验

a1, 1 2a2, 1a1, 2 2a2, 23a1, 1 4a2, 13a1, 2 4a2, 21069 15582337 3406

1 32243 1024

1069 15582337 3406

A^5//MatrixFormA^5//MatrixForm

A.M//MatrixFormA.M//MatrixForm

MatrixPower[A,5]//MatrixFoMatrixPower[A,5]//MatrixFormrmA.A.A.A.A//MatrixFormA.A.A.A.A//MatrixForm

Page 12: 数 学 实 验

矩阵运算矩阵运算3. 3. 矩阵的转置和求逆矩阵的转置和求逆M={{a,b},{c,d}}; M={{a,b},{c,d}}; Transpose@M//MatrixFormTranspose@M//MatrixFormInverse@M//MatrixFormInverse@M//MatrixForma b

c da c

b d d

bcad b

bcad

cbcad

abcad

Page 13: 数 学 实 验

矩阵运算矩阵运算4. 4. 初等行变换化矩阵为最简阶梯形 初等行变换化矩阵为最简阶梯形

RowReduce1 2 3 11 1 3 11 1 3 2

MatrixForm1 0 9 00 1 6 00 0 0 1

Page 14: 数 学 实 验

矩阵运算矩阵运算5. 5. 方阵的特征值与特征向量 方阵的特征值与特征向量 Eigenvalues[{{2.3, 4.5}, {6.7, -1.2}} ]Eigenvalues[{{2.3, 4.5}, {6.7, -1.2}} ] {6.31303,-5.21303}{6.31303,-5.21303}Eigenvectors[{{2.3, 4.5}, {6.7, -1.2}} ]Eigenvectors[{{2.3, 4.5}, {6.7, -1.2}} ] {{0.746335,0.66557},{-0.513839,0.857{{0.746335,0.66557},{-0.513839,0.857

886}}886}}Eigenvalues[{{23/10,45/10},{67/10,-12/1Eigenvalues[{{23/10,45/10},{67/10,-12/1

0}}]0}}]12011 13285, 1

2011 13285

Page 15: 数 学 实 验

数学试验 数学试验 1 1 循环矩阵的性质循环矩阵的性质

1. 1. 写出循环矩阵 写出循环矩阵

按按 Shift+Ctrl+C,Shift+Ctrl+C, 调出矩阵模板调出矩阵模板

A

1 2 3 4 55 1 2 3 44 5 1 2 33 4 5 1 22 3 4 5 1

Page 16: 数 学 实 验

数学试验 数学试验 1 1 循环矩阵的性质循环矩阵的性质2. 2. 循环矩阵的逆矩阵还是循环矩阵吗?循环矩阵的逆矩阵还是循环矩阵吗?Inverse[A]//MatrixFormInverse[A]//MatrixForm

结论结论 :: 可逆循环矩阵是循环矩阵可逆循环矩阵是循环矩阵

1475

1675

175

175

175

175

1475

1675

175

175

175

175

1475

1675

175

175

175

175

1475

1675

1675

175

175

175

1475

Page 17: 数 学 实 验

数学试验 数学试验 1 1 循环矩阵的性质循环矩阵的性质

3. 3. 循环矩阵的方幂仍是循环矩阵吗?循环矩阵的方幂仍是循环矩阵吗?MatrixPower[A,2]//MatrixFormMatrixPower[A,2]//MatrixForm

结论结论 :: 循环矩阵的方幂是循环矩阵循环矩阵的方幂是循环矩阵

45 50 50 45 3535 45 50 50 4545 35 45 50 5050 45 35 45 5050 50 45 35 45

Page 18: 数 学 实 验

数学试验 数学试验 1 1 循环矩阵的性质循环矩阵的性质作业作业 ::1. 1. 随机生成可逆循环矩阵随机生成可逆循环矩阵 ,, 求逆求逆 .(Y).(Y)2. 2. 随机生成两个循环矩阵随机生成两个循环矩阵 ,, 求其和求其和 .(Y).(Y)3. 3. 随机生成两个循环矩阵随机生成两个循环矩阵 ,, 求其乘积求其乘积 .(N).(N)4. 4. 循环矩阵的和是循环矩阵吗循环矩阵的和是循环矩阵吗 ?? 循环矩阵的积循环矩阵的积

是循环矩阵吗是循环矩阵吗 ?? 你还能发现和研究循环矩阵其你还能发现和研究循环矩阵其它的性质吗 它的性质吗 ??

5. 5. 能证明你所得到的结论吗能证明你所得到的结论吗 ?(?( 先证幂先证幂 ,, 再证再证逆逆 ))

Page 19: 数 学 实 验

数学试验 数学试验 2 2 航线连接问题航线连接问题1. 1. 一个航空公司为一个航空公司为 88 个城市服务的航空路线如下个城市服务的航空路线如下

图图② ③

⑥⑦

Page 20: 数 学 实 验

数学试验 数学试验 2 2 航线连接问题航线连接问题

从城市从城市 ii 到城市到城市 jj 有直接的航线,则有直接的航线,则 (i,j)(i,j) 元为元为11 ,否则为,否则为 00 (邻接矩阵)(邻接矩阵) ,, 得到下面的矩阵得到下面的矩阵

A

0 1 0 0 0 0 0 10 0 0 0 0 1 0 01 0 0 1 0 0 0 00 0 0 0 0 0 1 00 0 1 0 0 0 0 00 0 0 1 0 0 0 00 0 0 0 0 0 0 11 0 0 0 1 0 0 0

Page 21: 数 学 实 验

数学试验 数学试验 2 2 航线连接问题航线连接问题

2. 用恰好两个航班有可能从 C2 到达 C4 吗?3. 用恰好两个航班有可能从 C5 到达 C1 吗?4. 求 A2 , 并说明它与上面的结论有什么联系?MatrixPower[A,2]//MatrixForm

1 0 0 0 1 1 0 00 0 0 1 0 0 0 00 1 0 0 0 0 1 10 0 0 0 0 0 0 11 0 0 1 0 0 0 00 0 0 0 0 0 1 01 0 0 0 1 0 0 00 1 1 0 0 0 0 1

Page 22: 数 学 实 验

数学试验 数学试验 2 2 航线连接问题航线连接问题

5. 5. 求 求 A+AA+A22+ A+ A33, , 并说明并说明 A+AA+A22+ A+ A33 的意义 的意义 (A+MatrixPower[A,2]+MatrixPower[A,(A+MatrixPower[A,2]+MatrixPower[A,

3])//MatrixForm3])//MatrixForm

1 2 1 1 1 1 0 20 0 0 1 0 1 1 02 1 0 1 1 1 1 21 0 0 0 1 0 1 11 1 1 1 0 0 1 10 0 0 1 0 0 1 11 1 1 0 1 0 0 23 1 1 1 2 1 0 1

Page 23: 数 学 实 验

数学试验 数学试验 33 生物群体模型生物群体模型

问题:问题:令令 FFii 是在时刻某地区狐狸的数目,是在时刻某地区狐狸的数目, CCii

是同一地区鸡的数目是同一地区鸡的数目 .. 假设在没有狐狸骚扰假设在没有狐狸骚扰

的情况下,鸡的出生率高于死亡率,使得的情况下,鸡的出生率高于死亡率,使得

CCii+1+1 = = 1.21.2CCi i .. 而在没有鸡供狐狸食用的情况下,而在没有鸡供狐狸食用的情况下,

狐狸的死亡率超过出生率,使得狐狸的死亡率超过出生率,使得 FFii+1+1 = 0.6 = 0.6FFii . .

Page 24: 数 学 实 验

数学试验 数学试验 33 生物群体模型生物群体模型

实际情况为狐狸和鸡的数目是相互制约的实际情况为狐狸和鸡的数目是相互制约的 . . 我我

们假定对们假定对 ii=1,2,…=1,2,…FFii = 0.6= 0.6FFii-1-1+0.5+0.5CCii-1-1.. 另一方面,另一方面,

由于狐狸的侵袭,鸡的群体必有损耗,假定狐狸由于狐狸的侵袭,鸡的群体必有损耗,假定狐狸

对鸡的捕杀率为对鸡的捕杀率为 kk ,于是,于是 CCii = 1.2 = 1.2CCii-1-1--kFkFii-1.-1.

Page 25: 数 学 实 验

数学试验 数学试验 33 生物群体模型生物群体模型

令 从而 令 从而

FF00 和和 CC00 为开始观察时狐狸和鸡的数目为开始观察时狐狸和鸡的数目 ..

假定假定 FF00=100,=100,CC00=1000=1000

0.6 0.5,

1.2i

ii

Fx A

C k

01 0 0

0

( 1,2, ),ii i

Fx Ax A x i x

C

L

Page 26: 数 学 实 验

数学试验 数学试验 33 生物群体模型生物群体模型

k k =0.1=0.1 的情形的情形n=99;n=99;A={{3/5,1/2},{-1/10,6/5}};A={{3/5,1/2},{-1/10,6/5}};a=Transpose[{{100,1000}}];a=Transpose[{{100,1000}}];For[i=1,i<n+1,Print[IntegerPart[For[i=1,i<n+1,Print[IntegerPart[MatrixPower[A,i].a]];i++];MatrixPower[A,i].a]];i++];

Page 27: 数 学 实 验

数学试验 数学试验 33 生物群体模型生物群体模型

{{560},{1190}} {{931},{1372}} {{1244},{1553}} {{560},{1190}} {{931},{1372}} {{1244},{1553}}

{{1523},{1739}} {{1783},{1935}} {{2037},{2143}}{{1523},{1739}} {{1783},{1935}} {{2037},{2143}}

{{2294},{2368}} {{2561},{2612}} {{2843},{2879}}{{2294},{2368}} {{2561},{2612}} {{2843},{2879}}

{{3145},{3170}} {{3472},{3490}} {{3829},{3841}}{{3145},{3170}} {{3472},{3490}} {{3829},{3841}}

{{4218},{4226}} {{4644},{4650}} {{5111},{5116}}{{4218},{4226}} {{4644},{4650}} {{5111},{5116}}

{{5625},{5628}} {{6189},{6191}} {{6809},{6810}}{{5625},{5628}} {{6189},{6191}} {{6809},{6810}}

{{7490},{7491}} {{8240},{8241}} {{9064},{9065}}{{7490},{7491}} {{8240},{8241}} {{9064},{9065}}

{{9971},{9971}} {{10968},{10968}}{{12065},{12065}}{{9971},{9971}} {{10968},{10968}}{{12065},{12065}}

Page 28: 数 学 实 验

数学试验 数学试验 33 生物群体模型生物群体模型

{{13272},{13272}} {{14599},{14599}} {{16059},{16059}}{{13272},{13272}} {{14599},{14599}} {{16059},{16059}}{{17665},{17665}} {{19432},{19432}} {{21375},{21375}}{{17665},{17665}} {{19432},{19432}} {{21375},{21375}}{{23513},{23513}} {{25864},{25864}} {{28450},{28450}}{{23513},{23513}} {{25864},{25864}} {{28450},{28450}}{{31295},{31295}} {{34425},{34425}} {{37868},{37868}}{{31295},{31295}} {{34425},{34425}} {{37868},{37868}}{{41654},{41654}} {{45820},{45820}} {{50402},{50402}}{{41654},{41654}} {{45820},{45820}} {{50402},{50402}}{{55442},{55442}} {{60986},{60986}} {{67085},{67085}}{{55442},{55442}} {{60986},{60986}} {{67085},{67085}}{{73794},{73794}} {{81173},{81173}} {{89290},{89290}}{{73794},{73794}} {{81173},{81173}} {{89290},{89290}}{{98219},{98219}} {{108041},{108041}} {{98219},{98219}} {{108041},{108041}} {{118846},{118846}} {{130730},{130730}}{{118846},{118846}} {{130730},{130730}} {{143803},{143803}} {{158184},{158184}}{{143803},{143803}} {{158184},{158184}} {{174002},{174002}} {{191402},{191402}}{{174002},{174002}} {{191402},{191402}} {{210543},{210543}} {{231597},{231597}} {{210543},{210543}} {{231597},{231597}}

Page 29: 数 学 实 验

数学试验 数学试验 33 生物群体模型生物群体模型{{254757},{254757}} {{280232},{280232}}{{254757},{254757}} {{280232},{280232}} {{308256},{308256}} {{339081},{339081}}{{308256},{308256}} {{339081},{339081}}{{372990},{372990}} {{410289},{410289}}{{372990},{372990}} {{410289},{410289}}{{451317},{451317}} {{496449},{496449}}{{451317},{451317}} {{496449},{496449}}{{546094},{546094}} {{600704},{600704}}{{546094},{546094}} {{600704},{600704}}{{660774},{660774}} {{726852},{726852}}{{660774},{660774}} {{726852},{726852}} {{799537},{799537}} {{879490},{879490}}{{799537},{799537}} {{879490},{879490}} {{967440},{967440}} {{1064184},{1064184}}{{967440},{967440}} {{1064184},{1064184}} {{1170602},{1170602}} {{1287662},{1287662}}{{1170602},{1170602}} {{1287662},{1287662}} {{1416428},{1416428}} {{1558071},{1558071}}{{1416428},{1416428}} {{1558071},{1558071}} {{1713879},{1713879}} {{1885266},{1885266}}{{1713879},{1713879}} {{1885266},{1885266}}{{2073793},{2073793}} {{2281172},{2281172}}{{2073793},{2073793}} {{2281172},{2281172}}

Page 30: 数 学 实 验

数学试验 数学试验 33 生物群体模型生物群体模型

{{2509290},{2509290}} {{2760219},{2760219}}{{2509290},{2509290}} {{2760219},{2760219}}{{3036241},{3036241}} {{3339865},{3339865}}{{3036241},{3036241}} {{3339865},{3339865}} {{3673851},{3673851}} {{4041237},{4041237}}{{3673851},{3673851}} {{4041237},{4041237}} {{4445360},{4445360}} {{4889896},{4889896}}{{4445360},{4445360}} {{4889896},{4889896}} {{5378886},{5378886}} {{5916775},{5916775}}{{5378886},{5378886}} {{5916775},{5916775}} {{6508452},{6508452}} {{7159297},{7159297}}{{6508452},{6508452}} {{7159297},{7159297}} {{7875227},{7875227}} {{8662750},{8662750}}{{7875227},{7875227}} {{8662750},{8662750}} {{9529025},{9529025}} {{10481928},{10481928}}{{9529025},{9529025}} {{10481928},{10481928}} {{11530120},{11530120}} {{12683133},{12683133}}{{11530120},{11530120}} {{12683133},{12683133}} {{13951446},{13951446}} {{15346591},{15346591}}{{13951446},{13951446}} {{15346591},{15346591}}

Page 31: 数 学 实 验

数学试验 数学试验 33 生物群体模型生物群体模型

kk=0.18=0.18 的情形的情形n=104;n=104;A={{3/5,1/2},{-9/50,6/5}};A={{3/5,1/2},{-9/50,6/5}};a=Transpose[{{100,1000}}];a=Transpose[{{100,1000}}];For[i=1,i<n+1,Print[IntegerPart[For[i=1,i<n+1,Print[IntegerPart[MatrixPower[A,i].a]];i++];MatrixPower[A,i].a]];i++];

Page 32: 数 学 实 验

数学试验 数学试验 33 生物群体模型生物群体模型{{560},{1182}} {{927},{1317}} {{1215},{1414}}{{560},{1182}} {{927},{1317}} {{1215},{1414}} {{1436},{1478}} {{1600},{1515}} {{1718},{1530}}{{1436},{1478}} {{1600},{1515}} {{1718},{1530}} {{1796},{1527}} {{1841},{1509}} {{1859},{1479}}{{1796},{1527}} {{1841},{1509}} {{1859},{1479}} {{1855},{1441}} {{1834},{1395}} {{1798},{1344}}{{1855},{1441}} {{1834},{1395}} {{1798},{1344}} {{1751},{1289}} {{1695},{1232}} {{1633},{1173}}{{1751},{1289}} {{1695},{1232}} {{1633},{1173}} {{1566},{1114}} {{1497},{1055}} {{1425},{996}}{{1566},{1114}} {{1497},{1055}} {{1425},{996}} {{1353},{939}} {{1281},{883}} {{1210},{829}}{{1353},{939}} {{1281},{883}} {{1210},{829}} {{1141},{777}} {{1073},{727}} {{1007},{679}}{{1141},{777}} {{1073},{727}} {{1007},{679}} {{944},{634}} {{883},{590}} {{825},{550}}{{944},{634}} {{883},{590}} {{825},{550}} {{770},{511}} {{718},{475}} {{668},{440}}{{770},{511}} {{718},{475}} {{668},{440}}

Page 33: 数 学 实 验

数学试验 数学试验 33 生物群体模型生物群体模型

{{621},{408}} {{577},{378}} {{535},{350}} {{496},{{621},{408}} {{577},{378}} {{535},{350}} {{496},{324}}{324}}

{{460},{299}} {{425},{276}} {{393},{255}} {{363},{{460},{299}} {{425},{276}} {{393},{255}} {{363},{235}}{235}}

{{336},{217}} {{310},{200}} {{286},{184}} {{263},{{336},{217}} {{310},{200}} {{286},{184}} {{263},{169}}{169}}

{{243},{155}} {{223},{143}} {{205},{131}} {{189},{{243},{155}} {{223},{143}} {{205},{131}} {{189},{121}}{121}}

{{174},{111}} {{160},{102}} {{147},{93}} {{135},{85}}{{174},{111}} {{160},{102}} {{147},{93}} {{135},{85}} {{123},{78}} {{113},{72}} {{104},{66}} {{95},{60}}{{123},{78}} {{113},{72}} {{104},{66}} {{95},{60}} {{87},{55}} {{80},{50}} {{73},{46}} {{67},{42}}{{87},{55}} {{80},{50}} {{73},{46}} {{67},{42}} {{61},{38}} {{56},{35}} {{51},{32}} {{47},{29}}{{61},{38}} {{56},{35}} {{51},{32}} {{47},{29}} {{43},{27}} {{39},{24}} {{36},{22}} {{33},{20}}{{43},{27}} {{39},{24}} {{36},{22}} {{33},{20}}

Page 34: 数 学 实 验

数学试验 数学试验 33 生物群体模型生物群体模型

{{30},{18}} {{27},{17}} {{25},{15}} {{22},{14}}{{30},{18}} {{27},{17}} {{25},{15}} {{22},{14}} {{20},{13}} {{19},{11}} {{17},{10}} {{15},{9}}{{20},{13}} {{19},{11}} {{17},{10}} {{15},{9}} {{14},{9}} {{13},{8}} {{12},{7}} {{11},{6}} {{14},{9}} {{13},{8}} {{12},{7}} {{11},{6}}

{{10},{6}}{{10},{6}}{{9},{5}} {{8},{5}} {{7},{4}} {{6},{4}} {{6},{3}}{{9},{5}} {{8},{5}} {{7},{4}} {{6},{4}} {{6},{3}} {{5},{3}} {{5},{3}} {{4},{2}} {{4},{2}} {{3},{2}}{{5},{3}} {{5},{3}} {{4},{2}} {{4},{2}} {{3},{2}} {{3},{2}} {{3},{2}} {{2},{1}} {{2},{1}} {{2},{1}}{{3},{2}} {{3},{2}} {{2},{1}} {{2},{1}} {{2},{1}} {{2},{1}} {{2},{1}} {{1},{1}} {{1},{1}} {{1},{0}}{{2},{1}} {{2},{1}} {{1},{1}} {{1},{1}} {{1},{0}} {{1},{0}} {{1},{0}} {{1},{0}} {{1},{0}} {{0},{0}}{{1},{0}} {{1},{0}} {{1},{0}} {{1},{0}} {{0},{0}}

Page 35: 数 学 实 验

数学试验 数学试验 33 生物群体模型生物群体模型

从上面两张表可以看出,若狐狸对鸡的从上面两张表可以看出,若狐狸对鸡的捕杀率足够低(捕杀率足够低( kk=0.1=0.1 ),鸡的群体将),鸡的群体将无限发展,这使得狐狸的群体也无限发无限发展,这使得狐狸的群体也无限发展;而捕杀率较大(展;而捕杀率较大( kk=0.18=0.18 ),鸡将),鸡将被消灭,那么狐狸也将自行消灭被消灭,那么狐狸也将自行消灭 ..

作业:作业: 1.1. 能否求的临界值能否求的临界值 (0.16)(0.16) 和能看到效果和能看到效果

的观察次数?的观察次数? 2. 2. 证明你的结论证明你的结论 ..

Page 36: 数 学 实 验

数学试验 数学试验 44 加密、解密与破译加密、解密与破译

1. HILL1. HILL 密码的加密与解密密码的加密与解密 ::(1) (1) 假设要加密的明文是由假设要加密的明文是由 2626 个字母所构成个字母所构成(2) (2) 将每个明文字母与 将每个明文字母与 0 – 25 0 – 25 的一个数字建立的一个数字建立1–11–1 对应关系,称为明文字母的表值对应关系,称为明文字母的表值

A B C D E F G H I J K L M

1 2 3 4 5 6 7 8 9 10 11 12 13

N O P Q R S T U V W X Y Z

14 15 16 17 18 19 20 21 22 23 24 25 0

Page 37: 数 学 实 验

数学试验 数学试验 44 加密、解密与破译加密、解密与破译

(3) (3) 选择一个加密矩阵 选择一个加密矩阵 AA(( 二阶非负整数值的矩二阶非负整数值的矩阵阵 ) . ) .

例如例如

(4) (4) 将明文字母依次按每两个字母一组查出其表将明文字母依次按每两个字母一组查出其表值,得到一组二维向量 值,得到一组二维向量

1 2

0 3A

{ }i

Page 38: 数 学 实 验

数学试验 数学试验 44 加密、解密与破加密、解密与破译译

(5) (5) 通过加密矩阵得到 而通过加密矩阵得到 而

(6) (6) 查向量 的字母表值,即得到密文 查向量 的字母表值,即得到密文

(7)(7)利用加密矩阵的逆矩阵,由此得到明文 利用加密矩阵的逆矩阵,由此得到明文

{ }i (mod 26)i iA

{ }i

1i iA

Page 39: 数 学 实 验

数学试验 数学试验 44 加密、解密与破加密、解密与破译译

2. 2. 一个简单实例一个简单实例明 文:明 文:Our marshal was shotOur marshal was shot分 组:分 组:ou rm ar sh al wa ss ho tt(ou rm ar sh al wa ss ho tt( 补充一字母补充一字母 ))对应向量对应向量 ::

15 18 1 19 1 23 19 8 20

21 13 18 8 12 1 19 15 20

Page 40: 数 学 实 验

数学试验 数学试验 44 加密、解密与破加密、解密与破译译

加 密:每个向量左乘加密矩阵加 密:每个向量左乘加密矩阵

直接结果直接结果 : :

对对 2626 求模得到密文向量求模得到密文向量 : :

1 2

0 3A

57 44 37 35 25 25 57 38 60

63 39 54 24 36 3 57 45 60

5 18 11 9 25 25 5 12 8

11 13 2 24 10 3 5 19 8

Page 41: 数 学 实 验

数学试验 数学试验 44 加密、解密与破加密、解密与破译译

密 文密 文 : ek rm kb ix yj yc ee ls hh: ek rm kb ix yj yc ee ls hh

解 密解 密 ::只要将 解密矩阵左乘只要将 解密矩阵左乘

密文向量即可求得明文向量,从而查出明文密文向量即可求得明文向量,从而查出明文

结 论结 论 : : 使用使用 HillHill 密码时的加密矩阵应该模密码时的加密矩阵应该模 226 6

可逆可逆

1 1 8(mod 26)

0 9A

Page 42: 数 学 实 验

数学试验 数学试验 44 加密、解密与破加密、解密与破译译

3. HILL3. HILL 密码的破译密码的破译 关键是求得加密矩阵的逆—解密矩阵关键是求得加密矩阵的逆—解密矩阵 , ,

只要分析出两个明文向量(线性无关)只要分析出两个明文向量(线性无关)与相应的密文向量与相应的密文向量 ..

1 1 3 3

2 2 4 4

1 3 1 3

2 4 2 4

1

1 3 1 3

2 4 2 4

,

b a b aA A

b a b a

b b a aA

b b a a

b b a aA

b b a a

Page 43: 数 学 实 验

数学试验 数学试验 44 加密、解密与破加密、解密与破译译

一个破译例子一个破译例子甲方截获了一段密文:甲方截获了一段密文:OJWPISWAZUXAUUISEABAUCRSIPLOJWPISWAZUXAUUISEABAUCRSIPLBHAAMMLPJJOTENHBHAAMMLPJJOTENH

(1) (1) 经分析这段密文是用经分析这段密文是用 HILLHILL 密码编译的,密码编译的,且这段密文的字母且这段密文的字母 UCRSUCRS 依次代表了字母依次代表了字母TACOTACO ,若明文字母的表值如前,试破译这,若明文字母的表值如前,试破译这密文的内容?密文的内容?

Page 44: 数 学 实 验

数学试验 数学试验 44 加密、解密与破加密、解密与破译译

关 系关 系 其中其中

其中其中

1 1

21

3

UA

C

1

20

1

T

A

2 2

18

19

RA

S

2

3

15

C

O

1

120 3 21 18 20 3 21 18,

1 15 3 19 1 15 3 19A A

Page 45: 数 学 实 验

数学试验 数学试验 44 加密、解密与破加密、解密与破译译

(2) (2) 计算计算 AA -- 11

B=Mod[{{20,3},{1,15}}.Inverse[{{21,18},B=Mod[{{20,3},{1,15}}.Inverse[{{21,18},{3,19}}, Modulus ->26] ,26]{3,19}}, Modulus ->26] ,26]

{{1,17},{0,9}}{{1,17},{0,9}}

Page 46: 数 学 实 验

数学试验 数学试验 44 加密、解密与破加密、解密与破译译

(3) (3) 破 译破 译X={O,J,W,P,I,S,W,A,Z,U,X,A,U,U,I,S,E,A,B,A,X={O,J,W,P,I,S,W,A,Z,U,X,A,U,U,I,S,E,A,B,A,

U,C,R,S,I,P,L,B,H,A,A,M,M,L,P,J,J,O,T,E,U,C,R,S,I,P,L,B,H,A,A,M,M,L,P,J,J,O,T,E,N,H}//.{A->1,a->1,B->2,b->2,C->3,c->3,D->4,N,H}//.{A->1,a->1,B->2,b->2,C->3,c->3,D->4,d->4,E->5,e->5,F->6,f->6,G->7,g->7,H->8,h-d->4,E->5,e->5,F->6,f->6,G->7,g->7,H->8,h->8,I->9,i->9,J->10,j->10,K->11,k->11,L->12,l->8,I->9,i->9,J->10,j->10,K->11,k->11,L->12,l->12,M->13,m->13,N->14,n->14,O->15,o->15,>12,M->13,m->13,N->14,n->14,O->15,o->15,P->16,p->16,Q->17,q->17,R->18,r->18,S->19,P->16,p->16,Q->17,q->17,R->18,r->18,S->19,s->19,T->20,t->20,U->21,u->21,V->22,v->22,s->19,T->20,t->20,U->21,u->21,V->22,v->22,W->23,w->23,X->24,x->24,Y->25,y->25,Z->0,W->23,w->23,X->24,x->24,Y->25,y->25,Z->0,z->0}z->0}

Page 47: 数 学 实 验

数学试验 数学试验 44 加密、解密与破加密、解密与破译译

{15,10,23,16,9,19,23,1,0,21,24,1,21,21,9,19,5,1,2,{15,10,23,16,9,19,23,1,0,21,24,1,21,21,9,19,5,1,2,1,21,3,18,19,9,16,12,2,8,1,1,13,13,12,16,10,10,1,21,3,18,19,9,16,12,2,8,1,1,13,13,12,16,10,10,15,20,5,14,8}15,20,5,14,8}

求密文求密文Clear[Y];Clear[Y];Y=Table[f,{i,2},{j,Length[X]/2}];Y=Table[f,{i,2},{j,Length[X]/2}];For[i=1,i<Length[X]/2+1,Y[[1,i]]=X[[2i-1]];i++];For[i=1,i<Length[X]/2+1,Y[[1,i]]=X[[2i-1]];i++];For[i=1,i<Length[X]/2+1,Y[[2,i]]=X[[2i]];i++];For[i=1,i<Length[X]/2+1,Y[[2,i]]=X[[2i]];i++];YY

Page 48: 数 学 实 验

数学试验 数学试验 44 加密、解密与破加密、解密与破译译

{{15,23,9,23,0,24,21,9,5,2,21,18,9,12,8,1,13,16,10,{{15,23,9,23,0,24,21,9,5,2,21,18,9,12,8,1,13,16,10,20,14},{10,16,19,1,21,1,21,19,1,1,3,19,16,2,1,13,20,14},{10,16,19,1,21,1,21,19,1,1,3,19,16,2,1,13,12,10,15,5,8}}12,10,15,5,8}}

这就是密文向量这就是密文向量 ..下面求明文向量下面求明文向量Z=Mod[B.Y,26]Z=Mod[B.Y,26]{{3,9,20,14,19,15,14,20,22,19,20,3,21,20,25,14,9,4,{{3,9,20,14,19,15,14,20,22,19,20,3,21,20,25,14,9,4,

5,1,20},{12,14,15,9,7,9,7,15,9,9,1,15,14,18,9,13,5,1,20},{12,14,15,9,7,9,7,15,9,9,1,15,14,18,9,13,4,12,5,19,20}}4,12,5,19,20}}

这是明文向量这是明文向量 ..

Page 49: 数 学 实 验

数学试验 数学试验 44 加密、解密与破译加密、解密与破译

把明文向量还原为明文把明文向量还原为明文 ..Flatten[Table[{Z[[1,i]],Z[[2,i]]},{i,LengtFlatten[Table[{Z[[1,i]],Z[[2,i]]},{i,Lengt

h[X]/2}]]//.{1->a,2->b,3->c,4->d,5->e,h[X]/2}]]//.{1->a,2->b,3->c,4->d,5->e,6->f,7->g,8->h,9->i,10->j,11->k,12->l,16->f,7->g,8->h,9->i,10->j,11->k,12->l,13->m,14->n,15->o,16->p,17->q,18->r,13->m,14->n,15->o,16->p,17->q,18->r,19->s,20->t,21->u,22->v,23->w,24->x,29->s,20->t,21->u,22->v,23->w,24->x,25->y,0->z}5->y,0->z}

{c,l,v,n,t,o,n,v,s,g,o,v,n,g,t,o,v,v,s,v,t,a,{c,l,v,n,t,o,n,v,s,g,o,v,n,g,t,o,v,v,s,v,t,a,c,o,u,n,t,r,y,v,n,m,v,d,d,l,e,e,a,s,t,t}c,o,u,n,t,r,y,v,n,m,v,d,d,l,e,e,a,s,t,t}

Page 50: 数 学 实 验

数学试验 数学试验 44 加密、解密与破加密、解密与破译译

由于由于 2626不是素数不是素数 ,, 有时候解是不惟一的有时候解是不惟一的 ,,比如比如22xx=4 Mod26=4 Mod26 有两个解有两个解 xx=2, =2, xx=15.=15.因此只能基本因此只能基本确定有意义的词确定有意义的词 ..

{c,l,v,n,t,o,n,v,s,g,o,v,n,g,t,o,v,v,s,v,t,a,c,o,u,n,{c,l,v,n,t,o,n,v,s,g,o,v,n,g,t,o,v,v,s,v,t,a,c,o,u,n,t,r,y,v,n,m,v,d,d,l,e,e,a,s,t,t}t,r,y,v,n,m,v,d,d,l,e,e,a,s,t,t}

明文:明文: Clinton is going to visit a country in MidClinton is going to visit a country in Middle Eastdle East

作业作业 :: 对加密所列举的例子用软件实现对加密所列举的例子用软件实现 ..

Page 51: 数 学 实 验

数学实验数学实验参考教材参考教材

1. 1. 同济大学数学教研室编,《线性代数》(第三同济大学数学教研室编,《线性代数》(第三版),高等教育出版社版),高等教育出版社

2. Elias Deeba & Ananda Gunawardena, Intera2. Elias Deeba & Ananda Gunawardena, Interactive Linear Algebra with MAPLE V, Springective Linear Algebra with MAPLE V, Springer Verlag New York, Inc., 1988 (with Chinese r Verlag New York, Inc., 1988 (with Chinese version)version)

3. Charles G.Cullen, Linear Algebra with Appl3. Charles G.Cullen, Linear Algebra with Applications, Scott. Foresmann and Company, 1ications, Scott. Foresmann and Company, 1988988

4. 4. 江声远江声远 .. 线性代数的应用线性代数的应用 ..江西高校出版社江西高校出版社 ,1997,19975. 5. 张韵华张韵华 .. 符号计算系统符号计算系统MathematicaMathematica教程教程 ..科科

学出版社学出版社 ,2001,2001

Page 52: 数 学 实 验

The End !The End !

Thanks !Thanks !