欢迎来到天天文库
浏览记录
ID:5619815
大小:30.00 KB
页数:7页
时间:2017-12-20
《行列式两种求值算法比较》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、行列式两种求值算法比较 摘要:为了实现科技和工程技术领域中对有限元线性方程组的快速求解,首先需判断该线性方程组所对应的行列式的值是否为零。若该值不为零,则线性方程组有惟一确定的解;否则,线性方程组的解不惟一。利用行列式的基本性质、代数余子式、定理,采用递归程序设计方法,设计了两种算法,用以求解行列式的值;并从运算精度和运行效率上比较了这两种算法,得出了这两种算法各自的适用环境。关键词:递归程序设计方法;行列式算法;运行效率;线性方程中图分类号:TN911?34文献标识码:A文章编号:1004?373X(2014
2、)04?0025?03ComparisonbetweentwodeterminantevaluationalgorithmsWEIHong?chun(DepartmentofComputerScience,SichuanUniversityofArtsandScience,Dazhou635000,China)Abstract:Inordertoquicklysolvethevalueoffiniteelementlinearequationsinthefieldsof7science,technologyand
3、engineering,Thefirststepistojudgethatthedeterminant’svaluecorrespondingtothegivenlinearequationsiszeroornot.Ifthevalueisnonzero,linearequationshaveonlyonedeterminatesolution.Otherwise,theanswerisnotdeterminate.Twoalgorithmsweredesignedbyusingdeterminant’sbasi
4、cnature,algebraiccomplement,relevanttheoremandrecursiveprogrammingmethodstosolvethedeterminant’svalue.Thetwoalgorithmswerecomparedincalculativeaccuracyandoperationalefficiency.Theapplicationenvironmentofeachalgorithmwasachieved.Keywords:recursiveprogrammingme
5、thod;determinantalgorithm;operatingefficiency;linearequation线性代数是研究有限维线性空间及其线性变换的基本理论,在科学技术及工程技术领域中应用十分广泛。例如,运筹学中的线性规划;设计集成电路时,对数百万电子元件的仿真;机械工程领域复杂线性方程组的数值求解;工程测量领域中的测量平差等等。其实质是求解n元一次线性方程组。7对于n元一次线性方程组An×nXn×1=Bn×1,若n阶方阵A满秩时,则有X=A-1B。因此,必须首先求解方阵A所对应的行列式。若该值非零
6、,则A存在可逆矩阵A-1,此方程组有惟一解;否则方阵A是奇异的,方程组的解不惟一。本文探讨了对n阶行列式求值的两种算法,并对这两种算法进行了比较。1基本理论对于n阶行列式A,有:性质1互换行列式的两行(列),行列式变号。性质2把行列式的某一列(行)的各元素乘以同一数后,加到另一列(行)对应的元素上去,行列式不变。代数余子式:在n阶行列式A中,把元素aij所在的第i行和第j列划去后(见图1),剩下的n-1阶行列式叫做元素aij的余子式,记作Mij,记:[Aij=(-1)i+jMij,i=1,2,…,n;j=1,2,
7、…,n]式中:Aij是元素aij的代数余子式。定理1行列式A的值d等于它的任一行(列)的各元素与其对应的代数余子式乘积之和,即:[d=j=1naijAij,j=1,2,…,n或d=i=1naijAij,i=1,2,…,n]2算法分析与设计7行列式的应用十分广泛,研究行列式的求值算法非常多[1?3]。在一些特殊领域,会产生一些特殊的行列式,如三次样条插值过程中产生的三对角阵,可采用追赶法求解。但对于普通的行列式,利用行列式的性质求解是合理的选择。下面分析并实现了行列式求值的两种算法,用以求解行列式。图1代数余子式2
8、.1代数余子式根据定理1所述的代数余子式法,可计算任意n阶行列式的值。为此,可选择最后一行元素,利用代数余子式计算行列式的值。分析[d=j=1naijAij(j=1,2,…,n)]可知,该式具有递归函数的特点,因此可设计递归函数计算行列式A。为方便分析,采用动态分配的二维数组double**p来计算。p表示待计算的行列式,n表示行列式p的阶。算法1:doubleGetVa
此文档下载收益归作者所有