线性代数与线性规划
基础数学实验
矩阵
实验目的
掌握矩阵的输入方法. 掌握利用Mathematica (4.0以上版本) 对矩阵进行转置、加、减、 数乘、相乘、乘方等运算, 并能求矩阵的逆矩阵和计算方阵的行列式.
基本命令
在Mathematica中, 向量和矩阵是以表的形式给出的.
1. 表在形式上是用花括号括起来的若干表达式, 表达式之间用逗号隔开. 如输入
{2,4,8,16} {x,x+1,y,Sqrt[2]}
则输入了两个向量.
2. 表的生成函数
(1) 最简单的数值表生成函数Range, 其命令格式如下:
Range[正整数n]—生成表{1,2,3,4,?,n}; Range[m, n]—生成表{m,?,n};
Range[m, n, dx]—生成表{m,?,n}, 步长为dx. (2) 通用表的生成函数Table. 例如,输入命令
Table[n^3,{n,1,20,2}]
则输出 {1,27,125,343,729,1331,2197,3375,4913,6859}
输入
Table[x*y,{x,3},{y,3}]
则输出 {{1,2,3},{2,4,6},{3,6,9}}
3. 表作为向量和矩阵
一层表在线性代数中表示向量, 二层表表示矩阵. 例如,矩阵
?23???45?? ??可以用数表{{2,3},{4,5}}表示.
输入
A={{2,3},{4,5}}
则输出 {{2,3},{4,5}}
命令MatrixForm[A]把矩阵A显示成通常的矩阵形式. 例如, 输入命令:
MatrixForm[A]
?23?则输出 ??45??
??但要注意, 一般地, MatrixForm[A]代表的矩阵A不能参与运算.
输入
B={1,3,5,7}
输出为
{1,3,5,7}
输入
MatrixForm[B]
输出为
?1????3??5? ???7???虽然从这个形式看向量的矩阵形式是列向量, 但实质上Mathematica不区分行向量与列向量. 或者说在运算时按照需要, Mathematica自动地把向量当作行向量或列向量.
下面是一个生成抽象矩阵的例子. 输入
Table[a[i,j],{i,4},{j,3}] MatrixForm[%]
则输出
?a[1,1]a[1,2]??a[2,1]a[2,2] ?a[3,1]a[3,2]??a[4,1]a[4,2]?a[1,3]??a[2,3]? a[3,3]??a[4,3]??注:这个矩阵也可以用命令Array生成,如输入
Array[a,{4,3}]//MatrixForm
则输出与上一命令相同.
4. 命令IdentityMatrix[n]生成n阶单位矩阵. 例如,输入
IdentityMatrix[5]
则输出一个5阶单位矩阵(输出略).
5. 命令DiagonalMatrix[?]生成n阶对角矩阵. 例如,输入
DiagonalMatrix[{b[1],b[2],b[3]}]
则输出 {{b[1],0,0},{0,b[2],0},{0,0,b[3]}}
它是一个以b[1], b[2], b[3]为主对角线元素的3阶对角矩阵.
6. 矩阵的线性运算:A+B表示矩阵A与B的加法;k*A表示数k与矩阵A的乘法; A.B或
Dot[A,B]表示矩阵A与矩阵B的乘法.
7. 求矩阵A的转置的命令:Transpose[A]. 8. 求方阵A的n次幂的命令:MatrixPower[A,n]. 9. 求方阵A的逆的命令:Inverse[A]. 10.求向量a与b的内积的命令:Dot[a,b]. 实验1 求方阵的行列式
例1 计算|A|=
输入
4-35.2
Clear[A]; A={{4,-3},{5,2}}; Det[A]
23
3?4例2、计算行列式D4?6?3Clear[A];
00?5102.5704?2?1
A={{3,0,0,-5},{-4,1,0,2},{6,5,7,0},{-3,4,-2,-1}}; Det[A]
466
0例3、计算行列式D1?a12000000a430a2400.
0a310Clear[A,a[1,2],a[2,4],a[3,1],a[4,3]];
A={{0,a[1,2],0,0},{0,0,0,a[2,4]},{a[3,1],0,0,0},{0,0,a[4,3],0}}; Det[A]//Simplify Clear[A,a,b,c,d];
A={{0,a,0,0},{0,0,0,b},{a,0,0,0},{0,0,d,0}}; Det[A]//Simplify -abcd
3例2计算行列式D?26?31120. 25162
31例4 计算D?11Clear[A];
A={{3,1,1,1},{1,3,1,1},{1,1,3,1},{1,1,1,3}}; Det[A]
1311113111.13
48
12341012.例5 计算行列式 D?3?1?10120?5Clear[A];
A={{1,2,3,4},{1,0,1,2},{3,-1,-1,0},{1,2,0,-5}}; Det[A]
-24
53?1172例6 计算行列式 D?0?230?4?1023Clear[A];
A={{5,3,-1,2,0},{1,7,2,5,2},{0,-2,3,1,0},{0,-4,-1,4,0},{0,2,3,5,0}}; Det[A]
-1080
205210. 4050