代数及其应用

上传人:yx****d 文档编号:243041031 上传时间:2024-09-14 格式:PPT 页数:59 大小:95.50KB
返回 下载 相关 举报
代数及其应用_第1页
第1页 / 共59页
代数及其应用_第2页
第2页 / 共59页
代数及其应用_第3页
第3页 / 共59页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,代数及其应用,1,第1章 Mathematica软件 在代数中的应用,1.1 Mathematica系统简介,1.2 Mathematica在线性代数中的应用,1.3,Mathematica应用实例,2,1.1 Mathematica系统简介,Mathematica是由位于美国伊利诺州的伊利诺州大学香槟(Champaign)分校附近的Wolfram Research 公司开发的一套专门进行数学计算的软件。从1988年问世至今,已广泛地应用到工程、应用数学、计算机科学、财经、生物、药学、生命科学以及太空科学等领域,深受科学家、学生、教授、研究人员及工程师们的喜爱。数以万计的论文、科学报告、期刊杂志、图书资料、计算机绘图等都是Mathematica的杰作。,3,早在1995年发表的Mathematica3.0版,可谓数学计算机软件史上的一大创新,而1999年发表的Mathematica4.0,则达到了这类软件的顶峰。Mathematica除了提供数值处理与绘图的功能之外,还具有符号计算的能力,使您能够处理多项式的各种运算、函数的微分、积分、解微分方程、统计,甚至可以制作电脑动画及音效等等。,4,Mathematica对计算机的要求不高,只要能运行Office系列软件便能够运行Mathematica4.建议您的计算机配置达到如下要求:,1. 操作系统: Windows95WindowsNT3.51以上的版本,2.CPU处理器:Intel、Cyrix或AMD586级以上的中央处理器。,3.硬盘空间: 除了具备120MB的硬盘空间用以安装Mathematica之外,还必须由60MB的剩余硬盘空间作为交换文件(S)的存取空间。若进行较复杂的运算,则必须保证有100MB的剩余硬盘空间。,4.内存:至少32MB。建议64MB以上。,5,1.1.1 Mathematica基本操作,本节介绍Mathematica的基本操作。其中包括基本运算、Manthmatica的输入输出以及与操作界面的互动等。,6,基本运算,在工作窗口中输入2+3,再按Shift+Enter组合键(先按住Shift键不放,再按Enter键)执行这个简单的运算,这时在工作窗口中会显示如下图所示的结果:,图中的In1= 与Out1 是Mathematica自动生成的,而Inx与Outx中的数字x表示的是本次计算是运行Mathmatica之后的第x 次计算。输入算式时不能输入这些序号,否则系统将会提示错误信息。如果您的工作窗口中没有如上图所示的工具栏和标尺,可以在Format下拉菜单中分别单击Show Ruler和Show Toolbar显示它们。,7,注意:启动Mathmatica之后,进行第一次数学计算通常会占用较长的时间,因为这时Mathmatica正把计算的核心文件(Kernel files)加载到内存。第二次及以后的计算就会快得多。,8,Mathmatica的常用语法,基本运算,Mathematica的基本运算包括加、减、乘、除与乘方等。可以按照一般数学表达式的书写格式输入这些基本运算。例如2+4、2-4、5/72、32等都符合Mathematica的语法标准(注意:Mathematica以号表示乘方运算)。,9,乘法的表示方法,在Mathematica中,乘法的表示方法比较特殊,除了用*号之外,还可以用空格表示乘法,这一点类似于习惯的手写格式。下面三种情况都是合法的乘法运算:,x*y x,y x(y+1),| | |,乘号,在两个变量中间插入 变量与整个括号相乘,一个空格表示相乘,10,在Mathematica的语法中规定x2属于变量,而2x则表示数字2乘以变量x,注意:2与x之间没有空格,如果在2与x之间加上一个空格,仍然表示数字2乘以变量x。,2x 表示2*x,x2 表示变量x2,x,2 表示x*2,变量与乘法的区别,11,变量与函数的表示方法,习惯上在输入Mathematica的内部函数时第一个字母必须大写,变量必须用方括号括起来,而圆括号表示计算的优先级别。下图说明了变量与常数的使用规则。,变量通常用小写,函数中的变量必须用方括号括起来,| |,x=Siny*(6+4w),|,圆括号具有较高的计算优先级,内部函数的第一个字母必须大写,12,变量可以时几个 常量的第一个字母大写,英文字母的组合,| |,val=Mod15.5,2Pi,|,若函数有两个以上的参数则参数之间用逗号隔开,13,1.1.2 数学表达式的输入,Mathmatica提供了多种数学表达式的方法.除了用键盘输入外,还可以使用工具栏或者快捷输入运算符、矩阵或数学表达式。,14,数学表达式二维格式的输入,Mathematica提供了两种格式的数学表达式。形如x/(2+3x)+12/(2y-z+w)的称为一维格式,形如,的称为二维格式。,15,一维格式适用于简短的运算或仅提供纯文字的DOS界面的输入环境;,二维格式则适用于进行比较复杂的数学运算或Windows界面的输入环境。,16,矩阵的二维格式输入方法,输入二维格式的矩阵,步骤如下:,(1)单击Input下拉菜单中的Create Table/Matrix/Palette命令。,(2)在弹出的对话框中选择Matrix,并输入行数与列数。,(3)单击OK按钮。,17,另外,也可以单击基本输入工具栏上的,按钮完成矩阵二维格式的输入。,如果修改矩阵,例如增加一行或一列,可以使用快捷键。快捷键及其功能列表如下:,18,功能,快捷键,增加一行,Ctr.,增加一列,Ctr.ENTER,跳过矩阵的输入,Ctr.SPACE或方向键,19,Mathematica 的运算类型,Mathematica 的运算类型可以概况为,数值运算,(numerial calculation)和,符号运算,(symbolic calculation)两种。数值运算可以再细分为,精确(exact)运算,与,近似,(approximate),运算,。整数与整数相加减以及分数的运算等等都属于精确运算,而含有小数点的运算则属于近似值运算(或浮点运算)。符号运算包括不定积分的求解、函数的微分以及多项式的化简与分解等。,20,精确运算,通常把整数称为精确数(exact number),因为它不带任何小数。其它如,等数也属于精确数。如果数值运算的结果是精确数,则称这一运算为精确运算。精确数能够保持计算的精度,不会因小数的取舍而导致计算上的误差,因此在实际运算中,应当尽可能地用精确数表示运算结果。,21,近似运算,精确值固然可以保持计算的精度,而近似值(或称为浮点数)会让我们有大小的概念。Sin(2)对大多数人而言只是个符号,但是若把它化成近似值sin(2)=0.909297则会让我们有量的概念。虽然Mathematica会尽可能精确数来保持计算的精度,但我们也可以用一些技巧强制Mathematica把计算结果转换成近似值。例如,22,计算2+1.4,In7=2+1.4/2,注::计算结果是一个浮点数。,Out7,=2.7,计算32,2.3,In,8,:=3x2,2.3,运算结果也是一个浮点数。,Out,8,=14.7737,如果sin函数的自变量是一个浮点数,,Mathematica会自动用近似值表示运算,In,9,=Sin,2.0,结果。,Out,9,=0.909297,23,浮点数乘以精确sin(2),运算结果是,In,10,=3+2.2Sin,2,浮点数。,Out,10,=5.00045,这是一个精确运算。,In,11,=,Out,11,=,N命令可以将精确值化成近似值。,注意,Mathematica默认的有效数字位,In,12,=N,数为6位。,Out,12,=4.55581,24,符号运算,数值运算只是Mathematica运算功能的一小部分,Mathematica的真正用武之地表现在它的符号运算能力上。本节将对Mathematica的符号运算作初步介绍,用来比较它与数值运算的不同。在后续的章节中,我们将会把学习的重心转到Mathematica的符号运算上。,25,计算,In,1,:=,我们注意到积分的结果是,Out,1,=,一个符号运算,式,而不是数,值运算式,-,alog,26,基本数学运算,有了Mathematica运算的基本概念之后,现在可以学习一些简单的数学运算。,Manthmatica将数值分成了整数、实数(含有小数点的数,或称近似值或浮点数)和复数。分数可以看作是两个整数相除;整数的有效位数可以认为是无数位;而实数的有效位数则可以认为是有限的。,27,整数的运算,整数的基本运算命令(一),Factorialn或n! 计算n的阶乘。,Modm, n 计算m/n的余数,其中m,n,必须为整数,Quotientm, n 计算m/n的商,其中m, n必,须为整数,28,整数的基本运算命令(二),FactorIntgern 因数分解,GCDx,1, x,2, 求最大公约数,LCMx,1, x,2, 求最小公倍数,Divisorsn 求所有可以整除n的整数,RandomInteger, m,n 随机产生m到n之间的整数,其中m,n为,Primen 求第n个质数(2为第一个质数),PrimeQn 判断整数n是否为质数,若是,运算结果为True,否则结果为False.,29,分数与浮点数,如果m, n属于整数,则分数m/n属于精确值。如果要把精确值化成近似值或浮点数,只要把分母或分子中的任一项化成浮点数,Mathmatica就会自动用浮点数表示分式的运算结果。另外,还可以用N命令把精确值化成近似值。,30,Nnum或num/N 把精确数num化成浮点数(默认16位有效数字),Nnum, n 把num化成具有n个有效数字的浮点数,NumberFormnum, n ,以,n,个有效数字表示,num,虽然浮点数的默认的精确度位16位有效数字,但在大多数情况下,,为了节省输出空间,Mathematica只显示6位有效数字。,31,内部常数,Pi,常数,E 欧拉常数,Degree 角度转换成弧度的常数,Degree=,/180,Infinity 常数,I,虚数,I,32,1.2 Mathematicazai在线性代数中的应用,数组运算是Mathematica的强大功能之一,这个优点主要反映在矩阵的运算上,因为Mathematica的矩阵是由数组构成的。Mathematica不但可以完成基本向量与矩阵的运算,同时还可以处理矩阵的秩与零核空间,以及线性代数所包含的各种数学运算。,33,1.2.1 一维与多维数组,矩阵(array)是数组的延伸。在Mathmatica中,向量(Vector)是用一维数表示的,而矩阵(matrix)则是数组的数组(list of list, 即二维数组),但矩阵的各个次数组必须有相同的长度。,a,b,c 向量,ai+bj+ck,a,b, c,d 22矩阵,34,虽然数学上有行向量(column vector)和列向量(row vector)之分,但Mathematica都用一维的数组表示这两种向量。,35,这是一个向量 In1= a, b, c,Out1= a, b, c,MatrixFormne能够以 In2= MatrixForm%,列的形式显示向量,Out2/MtrixForm=,36,这是一个24的矩阵 In3=7,6,4,1, 2,6,12,3,out3= 7,6,4,1, 2,6,12,3,MatrixForm能把矩阵显 In4=MatrixForm%,示成类似于手写的格式 Out4/MtrixForm=,Dimensions可计算矩阵的维度 In5=Dimensions%,Out5=2, 4,37,一维数组与向量,除了Table命令之外,Mathematica还提供了多个命令用以生成向量。下表了列出了与向量相关的命令及其格式,。,Tablef, i,n 用f生成包含n个元素的向量,Arraya,n 生成一个a1,a2,an的向量,Rangen 生成一个1,2,n向量,Rangem,n 生成一个m,m+1,n的向量,Rangem,n,d 生成m.m+d,n的向量,Lengthlist,计算向量的长度,38,二维矩阵,有了向量的概念之后,理解矩阵就显得简单多了。向量只需1个标注便能存储所有的元素,而n维矩阵则需要n个标注。,Tablef,i,m,j,n 生成一个mn矩阵,Arraya,m,n 生成一个a,mn,的矩阵,DiagonalMatrixlist 生成一个对角矩阵,IndentityMatrixn 生成一个nn单位矩阵,Partlist,i或listi 提取矩阵的第i行,Partlist,i,j或listi,j 提取矩阵的第i行第j列元素,Dimensionslist 矩阵的阶数,39,另外,Mathematica也提供了把向量或矩阵输出成类似一般数学格式的命令,如下所示:,ColumnFormlist 将list输出成一列,TableFormlist 将list输出成表格,MatrixFormlist 将list输出成矩阵,40,1.2.2,向量运算,向量的基本运算,向量的点积和叉积可以用Dot与Cross命令运算。,Dotv,1, v,2,或v,1,.v,2,计算向量v,1, v,2,的点积,Crossv,1, v,2, 计算向量v,1, v,2,的叉积,虽然在数学上标量不能和向量相加,但Mathematica会把标量k看成k,k.,k再和向量相加。,41,向量的大小与夹角,Mathematica没有直接提供用以计算范数与向量之间夹角的命令,但我们可以根据它们的数学表达式来定义它们。,向量,a,b,c,的范数为,向量,F, G,的夹角由下来公式来求得,向量的范数计算公式,In1=normvect_:=,向量的夹角计算公式,In2=anglev1_, v2:=,42,1.2.3,矩阵的基本运算,Mathematica提供了完整的矩阵运算命令,来协助处理矩阵的运算。,基本矩阵运算,常用的矩阵运算包括矩阵的加法、乘法、常数乘以矩阵、矩阵的转置与逆矩阵。,43,A_1+A_2 计算矩阵A_1+A_2,c*M 常数c乘以矩阵M,A_1A-2 两个矩阵相乘,An 对矩阵A的每个元素进行n次方运算,InverseA 求矩阵A的逆矩阵,TransposeA 求矩阵A的转置,MatrixPowerA,n 求矩阵A的n次方,MatrixExpA 求矩阵A的幂,即e,A,TrA,求矩阵,A,的迹,即对角线元素的和,44,当然,有些数学上的限制,使得执行矩阵运算命令时会产生警告或错误信息。例如一个矩阵可能本身没有逆矩阵,而我们却对它进行Invrse运算, Mathematics会提示错误信息。,另外,对一个行向量或列向量进行Transpose运算,Mathematica会提示错误信息。如果对1n或n1矩阵进行Transpose运算,则不会发生这类,问题。,a1,a2,an 1n矩阵,a1, a2,an n,1,矩阵,45,矩阵元素的操作命令,Mathematica,还提供了一些命令用以删除矩阵的行或,列,或者将具有相同行数的矩阵组合成一个新的矩阵。,因为这些命令属于内部命令,,所以在调用它们之前须,先加载LinearAlgebrMatrixManipulation函数库。,46,矩阵基本操作命令(一),AppendColumnsm,1, m,2, 以列方式合并矩阵m,1, m,2, ,AppendRowsm,1, m,2, 以行方式合并矩阵m,1, m,2, ,BolckMatrixblocks 将多个矩阵blocks重新组成一,个 新的矩阵,47,矩阵基本操作命令(二),TakeColumnsm,n 提取矩阵m的前n列,TakeColumnsm,-n 提取矩阵m的倒数第n列,TakeColumnsm, n,1,n,2, 提取矩阵m第n,1,列到第n,2,列,TakeRowsm,n 提取矩阵m的前n行,TakeRowsm,-n 提取矩阵m的倒数第n行,TakeRowsm, n,1, n,2, 提取矩阵m第n,1,行到第n,2,行,SubMatrixm, pos,dim 从m的pos位置开始,提取维,度为 dim的子矩阵,48,1.2.4 矩阵初等行变换,所谓的基本行运算是指下面的三种运算方式:,(1) 用一个非零的常数乘以矩阵的某一行.,(2)将矩阵的任意两行互换。,(3),将某一行乘以某个常数之后再与另一行相加。,49,用Mathematica进行初等行变换,需要四个命令,AgumentA, B 扩展矩阵A:B,AddRowA, r,1, r,2, m 将矩阵A的r,1,行乘以m, 再与A的,r,2,行相加,MulRowA,r,m 将矩阵A的第r列乘以m,SA, r,1, r,2, 将矩阵A的第r,1,行与第r,2,行互换,50,用初等行变换既可解线性方程组,又可求矩阵的逆。,如果想快速求得矩阵A的简约行梯形矩阵,可用RowReduce命令。,RowReduceA 将矩阵A化成简约行梯形矩阵,51,1.2.5,行列式,DetA 计算矩阵A的行列式,Minors,计算,A,n,n,的子行列式,其中第,i,j,个元素元素是移去第,n-i+1,列与,n-j+1,行之后的行列式,.,MapReverse, MinorsA,0,1,同上,但第,i,j,个元,素是移去第i列与第,j行所得行列式的值,52,代数余子式c,ij,=(-1),i+j,MapReverse, Minorsm, 0,1i,j,矩阵A的伴随矩阵:AdjointA_:=TransposecofactorA,利用伴随矩阵可求得A的逆矩阵:AdjointA/DetA/MatrixForm,53,1.2.6,特征值与特征向量,Mathematica 所提供的EigenvaluesEigenvectors与,Eigensystem命令可以方便地求出矩阵A的特征值与,特征向量。,EigenvaluesA 求矩阵A的特征值,EigenvectorsA 求矩阵A的特征向量,EigensystemA,求出矩阵,A,的,特征值,特征向量,54,1.2.7,矩阵的秩与空间,若A 为mn矩阵,则由A的列向量所形成的子空间R,n,称为矩阵A的列空间,而由A的行向量所形成的子空间R,m,称为矩阵A的h行空间,齐次线性方程组AX=O的解空间(Solution space), 称为零核空间(null space).,另外,矩阵A的行空间与列空间共同的维度,称为矩阵A的秩(rank), 而A的零核空间的维度称为零核维度(nullity),矩阵的维度定理告诉我们。若A为一个含有n列的矩阵,则有,rank(A)+nullity(A)=n,55,Mathematica提供了Nullspace命令用以计算零核空间。矩阵的秩与零核维度等的计算可根据它们的数学定义进行求解。,NullSpaceA 计算矩阵A的零核空间,LengthNullSpaceA,计算矩阵,A,的零核维度,56,定义计算rank的函数为:,in1=RankA_:=LengthDeleteCasesA,Table0,LengthPartA,1,另外,Rank命令也可求出矩阵A 的秩。,in2:=RankA,定义计算矩阵零核维度的函数为:,in3=NullityA_:=LengthNullSpaceA,57,1.2.8,解线性方程组,Mathematica提供了两种解线性方程组的命令,即Solve和LinearSolve.,Solveeqn,x 解方程式,求变量x 的解,Solveeqn,1, eqn,2,x,y,z 解方程组,求变量x,y,z,的解,LinearSolvem,b,求满足矩阵方程,mx=b,的向,量,x.,58,如果方程个数少于变量的个数,则会出现警告信息,但仍然能得到一个解(含有自由未知量)。,当方程的个数多于要求解的变量个数,并且所有的方程式都线性独立时,Mathematica会输出一个空集(无解)。,Mathematica会判断方程组是线性独立还是线性相关,然后输出一个正确的解。,59,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!