Mathematica入门教程
Out[2]:=
In[3]:=
Out[3]:=
◆ 线性代数
1、定义向量和矩阵函数
定义一个矩阵,可用函数Table或Array.当矩阵元素能用一个函数表达式时,用函数Table在定义矩阵大小的同时也给每个矩阵元素定义确定的值.用函数Range只能定义元素为数值的向量.Array只能用于定义向量、矩阵和张量,并规定矩阵和张量的元素下标从1开始.Array的一般形式:
Array[向量元素名,n,f]
定义下标从f开始的有n个元素的向量,当f是1时可省略. Array[矩阵元素名,{m,n}]
定义m行n列的矩阵.其中:矩阵元素名是一个标识符,表示矩阵元素的名称,当循环范围是{u,v,w}时定义一个张量.
Table[表达式f,循环范围]
表达式f表示向量或矩阵元素的通项公式;循环范围定义矩阵的大小. 循环范围的一般形式:{循环变量名,循环初值,循环终值,循环步长}.
在Array或Table的循环范围表示方法略有区别.请在下面的实例中注意观察. In[1]:= Out[1]:= In[2]:= Out[2]:= In[3]:= Out[3]:= In[4]:= Out[4]:= In[5]:=
10
Out[5]:= 0
020
(*矩阵每一行元素用一对{}括起来*)
(*IndentityMatrix[n]生成n维矩阵*)
(*生成对角元素为表元素的对角矩阵*)
(*TableForm[m]或MatrixForm[m]按矩阵形式输出m*)
003
Mathematica入门教程
一个矩阵可用一个变量表示,如In[2]所示U是一个矩阵,则U[[I]]表示U的第I行的N个元素;Transpose[U][[j]]表示U的第J行的M个元素;U[[I,j]]或a[I,j]表示U的第I行第J列元素;U[[{i1,i2,…,ip},{j1,j2,…,jq}]]表示由行为{i1,i2,…,ip}和列为{j1,j2,…,jq}组成的子矩阵.
2、矩阵的运算符号和函数
表达式 A+c A+B cA U.V A.B Det[M]
Transepose[M] Inverse[M] Eigenvalus[A] Eigenvalus[N[A]] Eigenvectors[A] Eigenvectors[N[A]] Eigensystem[A] Eigensystem[N[A]]
意义
A为矩阵,c为标量,c与A中的每一个元素相加 A,B为同阶矩阵或向量,A与B的对应元素相加 A为矩阵,c为标量,c与A中的每个元素相乘 向量U与V的内积
矩阵A与矩阵B相乘,要求A的列数等于B的行数 计算矩阵M的行列式的值
计算矩阵M的逆矩阵(M的转置矩阵(
或
T'
) )
1
计算矩阵A的全部(准确解)特征值 计算矩阵A的全部(数值解)特征值 计算矩阵A的全部(准确解)特征向量 计算矩阵A的全部(数值解)特征向量
计算矩阵A的所有(准确解)特征值和特征向量 计算矩阵A的所有(数值解)特征值和特征向量
3、方程组求解函数
在Mathematica中用LinerSolve[A,B],求解满足AX=B的一个解.如果A的行列式不为零,那么这个解是方程组的唯一解; 如果A的行列式是零,那么这个解是方程组的一个特解,方程组的全部解由基础解系向量的线性组合加上这个特解组成.
NullSpace[A]计算方程组AX=0的基础解系的向量表,用LinerSolve[A,B]和NullSpace[A]联手解出方程组AX=B的全部解.
Mathematica中还有一个美妙的函数RowReduce[A],它对A的行向量作化间成梯形的初等线性变换.用RowReduce可计算矩阵的秩,判断向量组是线性相关还是线性无关和计算极大线性无关组等工作. 解方程组函数 意义 RowReduce[A] 作行的线性组合化简A,A为m行n列的矩阵 LinerSolve[A,B] 求解满足AX=B的一个解,A为方阵 NullSpace[A] 求解方程组AX=0的基础解系的向量表, A为方阵
1
13
例:已知A= 3
1012
1-1-11
113
3,计算A的秩,计算AX=0的基础解系.
In[1]:= In[2]:= Out[2]:= In[3]:= Out[3]:=
(*显然,A的秩是2*)
(*A的两个线性无关解*)