当前位置:文档之家› 行列式的求值(C语言版)

行列式的求值(C语言版)

行列式的求值(C语言版)
行列式的求值(C语言版)

行列式的求值(C语言版)

本程序用C语言实现行列式的求值,由于采用的是行列式中最原始的公式求解,其运行效率并不十分高,但可以保证只要电脑能跑下来,就可以算对.本人验证表明,对9阶以内的运行效果还可以.10阶就不好说了.本程序实际上是分二部分,第一部分是程序求0到n-1或1到n的全排列,并采用文件操作,将排列结果保存在一个文件中;第二部分是用数学方法求行列式的值,并从文件中读取排列结果并计算p(a1,a2,a3┈a n).本人设想的另一种办法是采用多线程,当生成一种排列后直接送到计算程序,或计可以加快计算速度.有名的MATLAB计算高阶行列式时(例如80阶)简直是不用眨眼就出来了,不知道用的是什么算法.第一部分的算法已单独的上传在本文揖中,名为.用户在使用时要将以下5个文件全部编译一遍才行.(本机运行环境是xpsp3+vc6.0++)

plzh为排列组合

det为行列式.

//头文件plzh.h

#ifndef PLZH_H

#define PLZH_H

#include

#include

void initial(int n);

int stackfull(int n);

void stackprint(int n);

void stackoutfile(int n);

void stackback();

void stackadd(int n);

void stackmov(int n);

void stackfun(int n);

#endif

//plzh.h的实现plzh.c

#include

#include

#include "plzh.h"

#define N 50 //定义栈的大小.

int stack[N]; //定义栈.

int p=-1; //定义栈底.

int a[N],b[N],c[N]; //分别表示当前数的值,改变后的值,及改变的次数.

FILE *pfile;

/**********************

*对栈进行初始化.

**********************/

void initial(int n)

{

int i=0;

for(i=0;i

{

stack[++p]=i; //第一次初始化的值.

a[i]=b[i]=i; //初始值相同.

c[i]=0; //0表示尚未改变过.

}

}

/*********************************************** *判断栈是否已满,在本程序中,此函数实际上是多余的.

***********************************************/ int stackfull(int n)

{

if(p+1==n)

return 1;

else

return 0;

}

/********************

*打印栈中的数值.

*此处是输出到屏幕上.

********************/

void stackprint(int n)

{

int i=0;

for(i=0;i

printf("%d ",stack[i]); printf("\n");

}

/************************* *也可输出到文件中.

*************************/

void stackoutfile(int n)

{

fwrite(stack,sizeof(int),n,pfile);

}

/***********************

*退栈.

*实际上这个可以省去,但为了更好理解,写成一个函数. ***********************/

void stackback()

{

p--;

}

/**********************************

*当经过一次退栈后,当前栈顶是p,则p+1到n-1

* 中并没有填充数字,此函数的作用就是为后面

* 的栈中重新入栈.

*并且此处是有规律的入栈.

**********************************/

void stackadd(int n)

{

int j,k,flag; //j,k是控制变量,flag是标志变量.

while(1+p

{

/************************

*此段的作用是使当前填充的值与前面的都不相同.

*用for循环控制.

************************/

for(j=0;j

{

flag=0;

for(k=0;k<=p;k++)

{

if(j==stack[k]) //若与某一个栈相同,则重新对j赋值.

{

flag=1;

break;

}

}

if(flag==0) //当flag为0时,表示赋值成功.

{

stack[++p]=j; //当此值赋到栈中.

a[p]=b[p]=j;//同时重新定义当前值,并使其相等.相当于又初始化.

c[p]=0; //把值的改变次数定义为0.

break;

}

}

}

}

/*********************************

*本程序的核心所在.

*算法是若退栈到当前值,则改变当前值.

*使当前栈值b[p]=(b[p]+1)%n;

*********************************/

void stackmov(int n)

{

int flag,i;

while(1)

{

b[p]=(b[p]+1)%n; //此处比较好理解,即循环.

c[p]++; //记录值的变化.

flag=0; //0表示赋值成功,1表示要赋的值已被占

用.

for(i=0;i

{

if(b[p]==stack[i]) //要赋的值已存在.

{

flag=1;

break;

}

}

if(flag==1) //若赋值失败则进行下一轮的赋值.

continue;

if((a[p]==b[p])||flag==0) //结果是要么赋值成功,要么回到原来的值.

break;

}

if(flag==0&&(a[p]!=b[p])) //当赋值成功.

{

stack[p]=b[p]; //将值赋进栈中.

stackadd(n); //对该栈后面的值进行填充.

}

else //当回到原来的位置,要退栈.

stackback();

}

/**********************************

*此处是接口函数.

**********************************/

void stackfun(int n)

{

pfile=fopen("dat.ttt","wb");

initial(n); //初始化.

if(stackfull(n)) //初始化后本身就是一个成功的排列,打印出来.

{

//stackprint(n);

stackoutfile(n);

}

while(1) //一直循环下去,直到退无可退.

{

/*********************************

*这是本程序中最关键的一条指令.

*此处的退栈仅且只能在值尚未发生变化的情况下退栈.

*若没有c[p]!=0,当退到任一个栈时,他们的初始状态都是a[p]==b[p]

*若是(a[p]==b[p])&&c[p]!=0表明当前栈已是退无可退.

*此处有个关键时,第一轮开始的时候并没有执行该指令,当栈顶值循环一轮后

*使c[p]!=0后才开始执行的,要特别注意这个地方.

*********************************/

if((a[p]==b[p])&&c[p]!=0)

stackback();

stackmov(n); //退完栈后要补齐后面的.

if(stackfull(n))

{

//stackprint(n);

stackoutfile(n);

}

if(p==-1) //结束的条件,退无可退.

break;

}

fclose(pfile);

}

// 行列式求值方法的头文件det.h #ifndef DET_H

#define DET_H

#include

#include

void detcal();

#endif

//det.h 的实现方法det.c

#include

#include

#include "det.h"

#include "plzh.h"

#define N 20

void detcal()

{

int col[N][N],R[N];

int sum,count;

int n;

int i,j;

FILE *pfile;

printf("输入行列式的阶(输0退出): "); scanf("%d",&n);

if(n==0)

exit(0);

printf("按行输入行列式的项: ");

for(i=0;i

for(j=0;j

scanf("%d",&col[i][j]);

stackfun(n);

sum=0;

pfile=fopen("dat.ttt","rb");

/**********************************

*此处遇到的巨大问题时,最后一行会读二遍, *即feof不是十分管用,所以采用如下策略,

*将fread()使用两遍,最后一次将因为提前读, *而被feof()判出界.

**********************************/ fread(R,sizeof(int),n,pfile);

while(!feof(pfile))

{

count=0;

for(i=0;i

for(j=i+1;j

{

if(R[i]>R[j])

count++;

}

if(count%2==0)

count=1;

else

count=-1;

for(i=0;i

count*=col[i][R[i]];

sum+=count;

fread(R,sizeof(int),n,pfile);

}

fclose(pfile);

printf("%d\n",sum);

}

//下面是用户的应该调用接口即main(). Interface.c #include

#include

#include "det.h"

int main()

{

for(;;)

{

detcal();

printf("\n");

}

return 0;

}

第2讲行列式按行(列)展开及计算

授课时间 第 周 星期 第 节 课次 2 授课方式 (请打√) 理论课□ 讨论课□ 实验课□ 习题课□ 其他□ 课时 安排 2 授课题目(教学章、节或主题): 第二讲 行列式按行(列)展开及计算 教学目的、要求(分掌握、熟悉、了解三个层次): 熟练掌握行列式按行(列)展开;掌握运用行列式的定义与性质计算行列式;熟悉一些典型行列式的计算;熟悉用数学归纳法证明行列式. 教学重点及难点: 重点:行列式按行(列)展开;利用行列式的定义与性质计算行列式 难点:行列式的计算 教 学 基 本 内 容 备注 一、行列式按行(列)展开 引理 一个n 阶行列式,如果其中第i 行所有元素除),(j i 元ij a 外都为零, 那么这行列式等于ij a 与它的代数余子式的乘积. 定理 行列式等于它的任一行(列)的各元素与其对应的代数余子式乘积之和,即 ) ,2,1(,),2,1(,22112211n j A a A a A a D n i A a A a A a D nj nj j j j j in in i i i i =++==++= (按行(列)展开法则) 推论 行列式的某一行(列)的元素与另一行(列)的对应元素的代数余子式乘积之和等于零,即 j i A a A a A a D jn in j i j i ≠++=,2211 或 .,2211j i A a A a A a D nj ni j i j i ≠++= 例1、3 2 3 1 11024315211 14----= D

解 法 1:241227 1 51271031251 13 4 312014 260211 14-=?-=---=----=------= D 解法2:244 8 224 8 1112021 2 3 5 010******** 14-=-= ---=-----= D 例2、设2 1 3 12 1014112 5 1 014---=D ,(1)求41312111A A A A +--;(2)444342412A A A A +-+。 解:(1)041312111=+--A A A A (2)4444444342414443424133422A A A A A A A A A A -=-+-+=+-+ 61 11 13 1 011121 13=--=---= 二、行列式的计算 例3、n n n n n b a a a a b a a a a b a D +++= 2 1 2212 1 1,其中021≠n b b b 解:n n n n n n n b a a a a b a a a a b a a a a D D +++==+ 2 1 2 212112 11 0001=n n b b b a a a 0 0100100112121---

行列式的计算技巧与方法总结

行列式的几种常见计算技巧和方法 2.1 定义法 适用于任何类型行列式的计算,但当阶数较多、数字较大时,计算量大,有一定的局限性. 例1 计算行列式 00400300200 1000. 解析:这是一个四级行列式,在展开式中应该有244=! 项,但由于出现很多的零,所以不等于零的项数就大大减少.具体的说,展开式中的项的一般形式是43214321j j j j a a a a .显然,如果41≠j ,那么011=j a ,从而这个项就等于零.因此只须考虑41=j 的项,同理只须考虑 1,2,3432===j j j 的这些项,这就是说,行列式中不为零的项只有 41322314a a a a ,而()64321 =τ,所以此项取正号.故 0 04003002001000 =()()241413223144321=-a a a a τ. 2.2 利用行列式的性质 即把已知行列式通过行列式的性质化为上三角形或下三角形.该方法适用于低阶行列式. 2.2.1 化三角形法 上、下三角形行列式的形式及其值分别如下:

nn n n n a a a a a a a a a a a a a 2211nn 333223221131211000000=,nn nn n n n a a a a a a a a a a a a a 221132 1 33323122211100 00 00=. 例2 计算行列式n n n n b a a a a a b a a a a ++= + 21 211211n 1 11 D . 解析:观察行列式的特点,主对角线下方的元素与第一行元素对应相同,故用第一行的()1-倍加到下面各行便可使主对角线下方的元素全部变为零.即:化为上三角形. 解:将该行列式第一行的()1-倍分别加到第2,3…(1n +)行上去,可得 1 21n 11210000D 0 n n n a a a b b b b b += = . 2.2.2 连加法 这类行列式的特征是行列式某行(或列)加上其余各行(或列)后,使该行(或列)元素均相等或出现较多零,从而简化行列式的计算.这类计算行列式的方法称为连加法.

n阶行列式的计算方法

n 阶行列式的计算方法 徐亮 (西北师大学数信学院数学系 , 730070 ) 摘 要:本文归纳总结了n 阶行列式的几种常用的行之有效的计算方法,并举列说明了它们的应运. 关键词:行列式,三角行列式,递推法,升降阶法,得蒙行列式 The Calculating Method of the N-order Determinant Xu Liang (College o f M athematics and Information Scien ce ,North west Normal Uni versit y , Lanzhou 730070,Gansu ,Chin a ) Abstract:This paper introduces some common and effective calculating methods of the n-order determinant by means of examples. Key words: determinant; triangulaire determinant; up and down order; vandermonde determinant 行列式是讨论线形方程组理论的一个有力工具,在数学的许多分支中都有这极为广泛的应用,是一种不可缺少的运算工具,它是研究线性方程组,矩阵,特征多项式等问题的基础,熟练掌握行列式的计算是非常必要的.行列式的计算问题多种多样,灵活多变,需要有较强的技巧.现介绍总结的计算n 阶行列式的几种常用方法. 1. 定义法 应用n 阶行列式的定义计算其值的方法,称为定义法. 根据定义,我们知道n 阶行列式 12121211 12121222() 1212(1)n n n n n j j j j j nj j j j n n nn a a a a a a a a a a a a π= -∑ L L L L L M M L M L .

浅谈行列式的计算方法x

浅 一、 特殊行列式法 1.定义法 当行列式中含零元较多时,定义法可行. 例1 计算n 级行列式 α β βαβαβα000000 0000 00 =D . 解:按定义,易见121,2,,,n j j j n === 或 1212,3,,,1n n j j j n j -==== . 得 11(1)n n n D αβ-+=+- 2.三角形行列式法 利用行列式性质,把行列式化成三角形行列式. nn a a a a a a 000n 222n 11211=nn n n a a a a a a 212212110 0112233nn a a a a = 例2 计算n 级行列式1231 131 211 2 3 1 n n x n D x n x +=++ 解: 将n D 的第(2,3,,)i i n = 行减去第一行化为三角形行列式,则 1230 1000 0200 1 (1)(2)(1) n n x D x x n x x x n -=--+=---+

3.爪形行列式法 例3 计算行列式 0121 1 220 0000n n n a b b b c a D c a c a = ()0,1,2,,i a i n ≠= 解: 将D 的第i +1列乘以(i i a c - )都加到第1列()n i ,2,1=,得 10 12 120000000 00n i i n i i n bc a b b b a a D a a - =∑= =011()n n i i i i i i b c a a a ==-∑∏ 4. 范德蒙行列式法 1 2 3 2 2221 2 3 11111 2 3 1111n n n n n n n a a a a D a a a a a a a a ----= 1()i j j i n a a ≤<≤= -∏ 例4 计算n 级行列式 2 2221233 333 1 2 3 12 3 11 1 1 n n n n n n n x x x x D x x x x x x x x = 解:利用D 构造一个1n +阶范德蒙行列式 12222 212121111()n n n n n n n x x x x g x x x x x x x x x = 多项式()g x 中x 的系数为3(1)n D +-,而()g x 又是一个范德蒙行列式,即 1 ()() n i i g x x x ==-∏∏≤<≤-n i j j i x x 1)(

行列式的计算方法

摘要 行列式是高等代数中重要的内容之一,在数学中有着广泛的应用.通过对行列式基本理论的介绍,针对不同类型的行列式,结合具体例题,介绍行列式的计算方法,其中包括降阶法,升阶法,数学归纳法等. 关键词:行列式;范德蒙行列式;计算

Abstract The determinant is an important content of higher algebra, which having wide application in mathematics. Through the introduction of the basic theory of the determinant, combined with concrete examples, the calculation for different types of determinant are introduced, which including the reduction method, order method, mathematical induction, and so on. Key words: determinant;vandermonde determinant;calculation

目录 摘要 ................................................................................................................................I Abstract ....................................................................................................................... II 第1章行列式的形成和性质 .. (1) 第1节行列式的发展史 (1) 第2节行列式的性质 (2) 第2章行列式的计算方法 (4) 第1节化三角形法 (4) 第2节降阶法 (8) 第3节递推法 (9) 第4节加边法 (11) 第5节拆行(列)法 (12) 第6节数学归纳法 (14) 结论 (16) 参考文献 (17) 致谢 (18)

(完整版)行列式的计算方法(课堂讲解版)

计算n 阶行列式的若干方法举例 n 阶行列式的计算方法很多,除非零元素较少时可利用定义计算(①按照某一列或某一行展开②完全展开式)外,更多的是利用行列式的性质计算,特别要注意观察所求题目的特点,灵活选用方法,值得注意的是,同一个行列式,有时会有不同的求解方法。下面介绍几种常用的方法,并举例说明。 1.利用行列式定义直接计算 例 计算行列式 0 0100200 1000000n D n n =-L L M M M M L L 解 D n 中不为零的项用一般形式表示为 112211!n n n nn a a a a n ---=L . 该项列标排列的逆序数t (n -1 n -2…1n )等于(1)(2) 2 n n --, 故(1)(2) 2 (1) !.n n n D n --=- 2.利用行列式的性质计算 例: 一个n 阶行列式n ij D a =的元素满足,,1,2,,,ij ji a a i j n =-=L 则称D n 为反对称 行列式, 证明:奇数阶反对称行列式为零. 证明:由ij ji a a =-知ii ii a a =-,即0,1,2,,ii a i n ==L 故行列式D n 可表示为1213112 23213 2331230000 n n n n n n n a a a a a a D a a a a a a -=-----L L L L L L L L L ,由行列式的性质A A '=,1213112 23213 2331230000 n n n n n n n a a a a a a D a a a a a a -----=-L L L L L L L L L 12131122321323312300(1)00 n n n n n n n a a a a a a a a a a a a -=------L L L L L L L L L (1)n n D =- 当n 为奇数时,得D n =-D n ,因而得D n = 0.

(完整word)行列式的计算技巧与方法总结,推荐文档

计算技巧及方法总结 一、 一般来说,对于二阶、三阶行列式,可以根据定义来做 1、二阶行列式 2112221122 2112 11a a a a a a a a -= 2、三阶行列式 33 32 31 23222113 1211a a a a a a a a a =.332112322311312213322113312312332211a a a a a a a a a a a a a a a a a a ---++ 例1计算三阶行列式6 01504 321 - 解 =-6 015043 21601??)1(52-?+043??+)1(03-??-051??-624??- 4810--=.58-= 但是对于四阶或者以上的行列式,不建议采用定义,最常采用的是行列式的性质以及降价法来做。但在此之前需要记忆一些常见行列式形式。以便计算。 计算上三角形行列式 nn nn n n a a a a a a a a a ΛΛ ΛΛΛΛΛΛ2211222112110 0= 下三角形行列式 nn n n a a a a a a Λ ΛΛΛΛΛΛ2122 21 110 00.2211nn a a a Λ= 对角行列式 nn nn n n a a a a a a a a a ΛΛ ΛΛΛΛΛΛ221121 222111000= 二、用行列式的性质计算 1、记住性质,这是计算行列式的前提 将行列式D 的行与列互换后得到的行列式,称为D 的转置行列式,记为T D 或'D ,即若

,21 2222111211nn n n n n a a a a a a a a a D Λ Λ ΛΛΛΛΛ= 则 nn n n n n T a a a a a a a a a D Λ ΛΛΛΛΛΛ 212 22 12 12111=. 性质1 行列式与它的转置行列式相等, 即.T D D = 注 由性质1知道,行列式中的行与列具有相同的地位,行列式的行具有的性质,它的列也同样具有. 性质2 交换行列式的两行(列),行列式变号. 推论 若行列式中有两行(列)的对应元素相同,则此行列式为零. 性质3 用数k 乘行列式的某一行(列), 等于用数k 乘此行列式, 即 .21 21 112112 1 21 112111kD a a a a a a a a a k a a a ka ka ka a a a D nn n n in i i n nn n n in i i n ===Λ ΛΛ Λ ΛΛΛΛΛΛΛΛ ΛΛΛΛΛΛΛΛΛΛ 第i 行(列)乘以k ,记为k i ?γ(或k C i ?). 推论1 行列式的某一行(列)中所有元素的公因子可以提到行列式符号的外面. 推论2 行列式中若有两行(列)元素成比例,则此行列式为零. 性质4 若行列式的某一行(列)的元素都是两数之和, 例如, nn n n in in i i i i n a a a c b c b c b a a a D Λ ΛΛΛΛΛ ΛΛΛΛΛ2 1 221111211+++=. 则 2121 21 11211212111211D D a a a c c c a a a a a a b b b a a a D nn n n in i i n nn n n in i i n +=+=Λ ΛΛ Λ ΛΛΛ ΛΛΛΛΛ ΛΛΛΛΛ ΛΛ Λ Λ Λ. 性质5 将行列式的某一行(列)的所有元素都乘以数k 后加到另一行(列)对应位置的元素上, 行列式不变. 注: 以数k 乘第j 行加到第i 行上,记作j i kr r +; 以数k 乘第j 列加到第i 列上,记作j i kc c +. 2、利用“三角化”计算行列式 计算行列式时,常用行列式的性质,把它化为三角形行列式来计算. 例如化为上三角形行列式的步骤是:

【对应线代】行列式计算7种技巧7种手段

行列式计算7种技巧7种手段 【说明】行列式是线性代数的一个重要研究对象,是线性代数中的一个最基本,最常用的工具,记为det(A).本质上,行列式描述的是在n 维空间中,一个线性变换所形成的平行多面体的体积,它被广泛应用于解线性方程组,矩阵运算,计算微积分等.鉴于行列式在数学各领域的重要性,其计算的重要性也不言而喻,因此,本人结合自己的学习心得,将几种常见的行列式计算技巧和手段归纳于此,供已具有行列式学习基础的读者阅读 一7种技巧: 【技巧】所谓行列式计算的技巧,即在计算行列式时,对已给出的原始行列式进行化简,使之转化成能够直接计算的行列式,由此可知,运用技巧只能化简行列式,而不能直接计算出行列式 技巧1:行列式与它的转置行列式的值相等,即D=D T 111211121121222122221 2 12n n n n n n nn n n nn a a a a a a a a a a a a a a a a a a = 技巧2:互换行列式的任意两行(列),行列式的值将改变正负号 111212122221222111211 2 1 2 n n n n n n nn n n nn a a a a a a a a a a a a a a a a a a =- 技巧3:行列式中某一行(列)的所有元素的公因子可以提到行列式记号的外面 1111121111121221 222 22212221 1 2 1 2 n n n n n n i n n n n n nn n n nn b a b a b a a a a b a b a b a a a a b b a b a b a a a a ==∏ 技巧4:行列式具有分行(列)相加性 11121111211112111 22 1 2121 2 1 2 1 2 n n n t t t t tn tn t t tn t t tn n n nn n n nn n n nn a a a a a a a a a b c b c b c b b b c c c a a a a a a a a a +++=+ 技巧5:将行列式的某一行(列)的各元素乘以同一数k 后加到另一行(列)对应的元素上,行列式的值不变

行列式的计算技巧与方法总结

行列式的若干计算技巧与方法 内容摘要 1. 行列式的性质 2.行列式计算的几种常见技巧和方法 定义法 利用行列式的性质 降阶法 升阶法(加边法) 数学归纳法 递推法 3. 行列式计算的几种特殊技巧和方法 拆行(列)法 构造法 特征值法 4. 几类特殊行列式的计算技巧和方法 三角形行列式 “爪”字型行列式 “么”字型行列式 “两线”型行列式 “三对角”型行列式 范德蒙德行列式 5. 行列式的计算方法的综合运用 降阶法和递推法 逐行相加减和套用范德蒙德行列式 构造法和套用范德蒙德行列式

行列式的性质 性质1 行列互换,行列式不变.即 nn a a a a a a a a a a a a a a a a a a n 2n 1n2 2212n12111nn n2n12n 2221 1n 1211 . 性质2 一个数乘行列式的一行(或列),等于用这个数乘此行列式.即 nn n2 n1in i2i1n 11211 k k k a a a a a a a a a k nn a a a a a a a a a n2n1in i2i1n 11211. 性质3 如果行列式的某一行(或列)是两组数的和,那么该行列式就等于两个行列式的和,且这两个行列式除去该行(或列)以外的各行(或列)全与原来行列式的对应的行(或列)一样.即 111211112111121112212121 2 1212.n n n n n n n n n nn n n nn n n nn a a a a a a a a a b c b c b c b b b c c c a a a a a a a a a K K K M M M M M M M M M M M M K K K M M M M M M M M M M M M K K K 性质4 如果行列式中有两行(或列)对应元素相同或成比例,那么行列式为零.即 k a a a ka ka ka a a a a a a nn n n in i i in i i n 21 2121112 11nn n n in i i in i i n a a a a a a a a a a a a 212121112 11 =0. 性质5 把一行的倍数加到另一行,行列式不变.即

第三讲 行列式按行按列展开

单位:理学院应用数学物理系计算数学教研室 批准:日期:年月日任课教员:刘静 课程名称:线性代数 章节名称:第一章行列式 课题:第三讲行列式按行按列展开 目的、要求: 1. 行列式的按行按列展开法则; 2. 掌握行列式的计算方法。 难点、重点:行列式按行按列展开法则及其应用。 器材设备:多媒体设备 课前检查

教学内容课堂组织

教学内容: 本讲主要介绍: 1. 行列式的按行(列)展开法则; 2. 掌握行列式的计算方法。 教学方法与思路: 1. 首先介绍余子式和代数余子式的概念; 2. 对于三阶行列式,容易验证: 1112132223212321232122231112 13 32 33 31 33 31 33 31 32 33 a a a a a a a a a a a a a a a a a a a a a a a a =-+ 可见一个三阶行列式可以转化成三个二阶行列式的计算。 由此容易想到:一个n 阶行列式是否可以转化为若干个 n -1 阶行列式来计算? 3. 给出一个特殊的n 阶行列式的计算方法,从而给出一个引理; 4. 进而介绍行列式的按行(列)展开法则。 教学中运用多媒体手段,讲解、板书与教学课件相结合,以讲解为主。 教学步骤: 教学内容、方法、步骤

教学内容课堂组织 1. 介绍余子式和代数余子式的概念; 2. 引理; 3. 行列式的按行(列)展开法则; 4. 应用举例。 5. 小结并布置作业。

212 n n n nn a a a 中仅含下面形式的项 a M =1 0n ij n nj nn a a a a 行依次与第i-1行,第i-2行,……,第21,1,11,,1 (1)i j j i j i n ij nj n j nn a a a M a a a +-----=-

【原创】行列式计算7种技巧7种手段

行列式计算7种技巧7种手段 编者:Castelu 【编写说明】行列式是线性代数的一个重要研究对象,是线性代数中的一个最基本,最常用的工具,记为det(A).本质上,行列式描述的是在n 维空间中,一个线性变换所形成的平行多面体的体积,它被广泛应用于解线性方程组,矩阵运算,计算微积分等.鉴于行列式在数学各领域的重要性,其计算的重要性也不言而喻,因此,本人结合自己的学习心得,将几种常见的行列式计算技巧和手段归纳于此,供已具有行列式学习基础的读者阅读 一.7种技巧: 【技巧】所谓行列式计算的技巧,即在计算行列式时,对已给出的原始行列式进行化简,使之转化成能够直接计算的行列式,由此可知,运用技巧只能化简行列式,而不能直接计算出行列式 技巧1:行列式与它的转置行列式的值相等,即D=D T 111211121121222122221 212n n n n n n nn n n nn a a a a a a a a a a a a a a a a a a = 技巧2:互换行列式的任意两行(列),行列式的值将改变正负号 111212122221222111211 21 2n n n n n n nn n n nn a a a a a a a a a a a a a a a a a a =- 技巧3:行列式中某一行(列)的所有元素的公因子可以提到行列式记号的外面 111112111112122122222212221 121 2n n n n n n i n n n n n nn n n nn b a b a b a a a a b a b a b a a a a b b a b a b a a a a == ∏ 技巧4:行列式具有分行(列)相加性 11121111211112111221 21 21 2 1 21 2n n n t t t t tn tn t t tn t t tn n n nn n n nn n n nn a a a a a a a a a b c b c b c b b b c c c a a a a a a a a a +++=+ 技巧5:将行列式的某一行(列)的各元素乘以同一数k 后加到另一行(列)对应的元素上,行列式的值不变

最新几种特殊类型行列式及其计算

1 行列式的定义及性质 1.1 定义[3] n 级行列式 1112121 22 212 n n n n nn a a a a a a a a a 等于所有取自不同行不同列的个n 元素的乘积12 12n j j nj a a a (1)的代数和,这里12 n j j j 是 1,2, ,n 的一个排列,每一项(1)都按下列规则带有符号:当12n j j j 是偶排列时,(1)带正号,当 12n j j j 是奇排列时,(1)带有负号.这一定义可写成 () () 121212 1112121 22 21212 1n n n n j j j n j j nj j j j n n nn a a a a a a a a a a a a τ= -∑ 这里 12 n j j j ∑ 表示对所有n 级排列求和. 1.2 性质[4] 性质1.2.1 行列互换,行列式的值不变. 性质1.2.2 某行(列)的公因子可以提到行列式的符号外. 性质1.2.3 如果某行(列)的所有元素都可以写成两项的和,则该行列式可以写成两行列式的和;这两个行列式的这一行(列)的元素分别为对应的两个加数之一,其余各行(列)与原行列式相同. 性质1.2.4 两行(列)对应元素相同,行列式的值为零. 性质1.2.5 两行(列)对应元素成比例,行列式的值为零. 性质1.2.6 某行(列)的倍数加到另一行(列)对应的元素上,行列式的值不变. 性质1.2.7 交换两行(列)的位置,行列式的值变号.

2 行列式的分类及其计算方法 2.1 箭形(爪形)行列式 这类行列式的特征是除了第1行(列)或第n 行(列)及主(次)对角线上元素外的其他元素均为零,对这类行列式可以直接利用行列式性质将其化为上(下)三角形行列式来计算.即利用对角元素或次对角元素将一条边消为零. 例1 计算n 阶行列式 ()1 2323111100 1 0001 n n n a a D a a a a a =≠. 解 将第一列减去第二列的 21a 倍,第三列的3 1a 倍第n 列的 1 n a 倍,得 1 223 111110 000 000 n n n a a a a D a a ?? -- - ?? ? = 1221n n i i i i a a a ==?? =- ?? ? ∑ ∏. 2.2 两三角型行列式 这类行列式的特征是对角线上方的元素都是c ,对角线下方的元素都是b 的行列式,初看,这一类型似乎并不具普遍性,但很多行列式均是由这类行列式变换而来,对这类行列式,当 b c =时可以化为上面列举的爪形来计算,当b c ≠时则用拆行(列)法[9]来计算. 例2 计算行列式

(完整版)行列式的计算方法总结

行列式的计算方法总结: 1. 利用行列式性质把行列式化为上、下三角形行列式. 2. 行列式按一行(一列)展开,或按多行(多列)展开(Laplace 定理). 几个特别的行列式: B A B C A B C A == 0021 , B A B A D D B A mn )1(0 021 -== ,其中B A ,分别是n m ,阶的方阵. 例子: n n a b a b a b b a b a b a D 22O N N O = , 利用Laplace 定理,按第1,+n n 行展开,除2级子式 a b b a 外其余由第1,+n n 行所得的2级子式均为零. 故222222112)()1(--+++++-=-= n n n n n n n D b a D a b b a D ,此为递推公式,应用可得 n n n n b a D b a D b a D )()()(224222222222-==-=-=--Λ. 3. 箭头形行列式或者可以化为箭头形的行列式. 例:n n n n n n n a x x a a x x a a x x a a a a x x a a a a x a a a a x a a a a x ------=Λ ΛΛΛΛΛΛΛΛΛ ΛΛΛΛΛΛΛΛ00 000 01 133112 2113213 21321 321321 -----(倍加到其余各行第一行的1-) 100 101010 011)(3 332 221 111 Λ ΛΛΛΛΛΛΛΛ-------? -=∏=n n n n i i i a x a a x a a x a a x x a x --------(每一列提出相应的公因子i i a x -) 1 001000 010)(3 332 222111 1 Λ ΛΛΛΛΛΛΛΛn n n n i i i i n i i i a x a a x a a x a a x a a x x a x ----+-? -=∑∏== --------(将第n ,,3,2Λ列加到第一列)

浅论行列式及其计算方法

浅论行列式及其计算方法 摘要:本文主要介绍了行列式的概念——行列式是n 阶矩阵的一个特征量。行列式的性质——行列式和它的转置行列式相等等一系列性质。行列式的计算方法——化三角法,定义法等。克莱姆法则。以及和矩阵相关的一些问题。 关键词:行列式的概念 行列式的性质 行列式的计算 矩阵 克莱姆法则 正文 1行列式的概念 1.1 二阶、三阶行列式 行列式是代数式的简要记号,如 1112112212212122a a a a a a a a =- (1.1) 111213 21222311223312233113213231 32 33 a a a a a a a a a a a a a a a a a a =++ 322311332112312213a a a a a a a a a --- (1.2) 分别是二阶、三阶行列式,两式的左端表示行列式的记号,右端是行列式的全面展开式。行列式的元素有两个下标,分别称为行标和列标。如32a 表示该元素位于第3行、第2列。 二阶、三阶行列式的全面展开可以用对角线法。 【例】5152(1)3133 2 -=?--?=; 2 2 2 2 ()a b a b a b b a =--=+-; 250 1334 1 6 ---2361(1)0(5)(3)4=??+?-?+-?-?034-?? (1)(3)21(5)6--?-?-?-?(36)(0)(60)(0)(6)(30)120=++----=。 1.2 n 阶行列式的全面展开 用2 n 个元素可以构成n 阶行列式 nn n n n n a a a a a a a a a 2 1 2222111211 。 行列式有时简记为j i a 。一阶行列式a 就是a 。高于4阶的行列式不能用对角线法展开。参照二阶、三阶行列式的展开式(1.1)、(1.2),规定n 阶行列式的全面展开按如下方式进行: (1)展开式的每一项都是不同行、不同列的n 个元素的乘积。 (2)取自不同行、不同列的n 个元素要出现所有不同的搭配。若将行标顺序安排,则每一项对应列标的一个排列。如332112a a a 对应的排列是2 1 3。所有不同的搭配,对应所有不同的列标排列,n 个自然数共有!n 种排列,因而全面展开式共有!n 项。 (3)各项的前置符号,偶排列取正,奇排列取负。所谓偶(奇)排列是指该排列的逆序数

特殊行列式与行列式计算方法总结

特殊行列式及行列式计算方法总结 一、 几类特殊行列式 1. 上(下)三角行列式、对角行列式(教材P7例5、例6) 2. 以副对角线为标准的行列式 11112112,1 221222,11,21,1 1,11 2 ,1 (1)2 12,11 000000 0000 0000 (1) n n n n n n n n n n n nn n n n n n nn n n n n n a a a a a a a a a a a a a a a a a a a a a a ---------===-L L L L L L M M M M M M M M M N L L L L 3. 分块行列式(教材P14例10) 一般化结果: 00n n m n n m n m m n m m n m A C A A B B C B ????= =? 0(1)0n m n n m n mn n m m m n m m n A C A A B B C B ????= =-? 4. 范德蒙行列式(教材P18例12) 注:4种特殊行列式的结果需牢记! 以下几种行列式的特殊解法必须熟练掌握!!! 二、 低阶行列式计算 二阶、三阶行列式——对角线法则 (教材P2、P3) 三、 高阶行列式的计算 【五种解题方法】 1) 利用行列式定义直接计算特殊行列式; 2) 利用行列式的性质将高阶行列式化成已知结果的特殊行列式; 3) 利用行列式的行(列)扩展定理以及行列式的性质,将行列式降阶进行计算 ——适用于行列式的某一行或某一列中有很多零元素,并且非零元素的代数余子式很容易计算; 4) 递推法或数学归纳法; 5) 升阶法(又称加边法)

#行列式的计算方法 (1)

计算n 阶行列式的若干方法举例 1.利用行列式的性质计算 例: 一个n 阶行列式n ij D a =的元素满足,,1,2,,,ij ji a a i j n =-= 则称D n 为反对称 行列式, 证明:奇数阶反对称行列式为零. 证明:由ij ji a a =-知ii ii a a =-,即0,1,2, ,ii a i n == 故行列式D n 可表示为1213112 23213 233123000 n n n n n n n a a a a a a D a a a a a a -=-----,由行列式的性质A A '=,1213112 23213 23312300 00 n n n n n n n a a a a a a D a a a a a a -----=-12131122321323312300( 1)0 n n n n n n n a a a a a a a a a a a a -=------(1)n n D =- 当n 为奇数时,得D n =-D n ,因而得D n = 0. 2.化为三角形行列式 例2 计算n 阶行列式123123 1 23 1 2 3 1111n n n n a a a a a a a a D a a a a a a a a ++=++. 解 这个行列式每一列的元素,除了主对角线上的外,都是相同的,且各列的结构相似,因此n 列之和全同.将第2,3,…,n 列都加到第一列上,就可以提出公因子且使第一列的元素全是1. [][]()()()()()()122323122 3231223231122 3 2 3 211 12, ,2,,11 111 1 1111 1111 11 1n n n n n n n n n i n i n n n n i i i i i n i n a a a a a a a a a a a a a a a a a a D a a a a a a a a a a a a a a a a a a a a a a ==+-==+++ +++++++??+++++=++ ??? +++ +++?? + ??? ∑∑3110100 111 . 00100 1 n n n i i i i a a a ==?? =+=+ ??? ∑∑

行列式计算的若干种方法讲解

中南民族大学 毕业论文(设计) 学院: 数学与统计学学院 专业: 统计学年级:2008 题目: 行列式计算的若干方法 学生姓名: 曹金金学号:08067005

指导教师姓名: 汪宝彬职称:讲师 2012年4月30日

中南民族大学本科毕业论文(设计)原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果.除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品.本人完全意识到本声明的法律后果由本人承担. 作者签名: 年月日

目录 摘要 (1) 关键词 (1) Abstract (1) Key words (1) 1 引言 (2) 2.1排列 (2) 2.2行列式的定义 (2) 2.2.1 二阶、三阶行列式 (2) 2.2.2 n阶行列式的定义 (3) 2.2.3 几种特殊的行列式的定义 (3) 2.3 行列式的基本性质 (5) 3几种常见的行列式的计算方法 (6) 3.1利用行列式定义直接计算 (6) 3.2 利用行列式的性质计算 (6) 3.3 三角化法 (7) 3.4 降阶法 (8) 3.5利用范德蒙德行列式求解 (10) 3.6 数学归纳法 (11) 3.7 拆项法 (12) 3.8析因子法 (13) 3.9 加边法(升阶法) (13) 3.10递推公式法 (14) 3.11超范德蒙行列式法 (15) 3.12利用分块计算行列式 (16) 4 结论 (16) 致谢 (17) 参考文献 (17)

行列式计算的若干方法 摘要:在线性代数中,行列式的求解是非常重要的. 本文首先介绍行列式的定义与性质;然后通 过实例给出了计算行列式的几种方法.从文中可以看出,选择合适的计算方法可有效的计算行列式. 关键词:行列式;性质;计算方法 Some Methods of Determinant Calculation Abstract: Determinant plays an important role in the linear algebra. In this paper we first introduce the definition and properties of determinant. Then several methods of the calculation are given by some examples. It can be seen from the paper that choose the appropriate calculation method can efficiently compute the determinant. Key words: determinant; property; the calculation methods

行列式的几种求法

行列式的求法有多种,以下简单进行总结。 一、逆序定义法 行列式的逆序法定义如下: 1212121112121222(,,......,)12,,......,1 2(1)......n n n n n j j j j j nj j j j n n nn a a a a a a a a a a a a τ= -∑ 这里,12,,......,n j j j 为1,2,...,n 的任一排列,12(,,......,)n j j j τ为该排列的逆序数,求和是对所有的排列求的,因此,该和式一共有!n 项,每项都是n 个数相乘,并得计算逆序数,计算量巨大。因此,一般而言,逆序法定义具有理论上研究的意义,而比较少用于求行列式。但是,如果行列式的项中有大量的0,那么用逆序法计算可能会很简单。以下举例如下: 例1:求 11 22 nn a a a 。 解答: 12121211 22 (,,......,)12,,......,(1)......n n n j j j j j nj j j j nn a a a a a a τ= -∑ 只当11j =,22j =,……,n j n =,其项才可能非零。因此, 11 22 (1,2,......,)01,12,2,1,12,2,1,12,2,(1)......(1)............n n n n n n n nn a a a a a a a a a a a a τ=-=-= 例2、求 1 2 n d d d 。 解答: 1212121 2 (,,......,)12,,......,(1)......n n n j j j j j nj j j j n d d a a a d τ= -∑ 只当1j n =,21j n =-,……,1n j =,其项才可能非零。因此,

几种特殊类型行列式及其计算

1行列式的定义及性质 1.1定义[3] n级行列式 a 11 a12 (1) a 21 I-a22… a a 2n a a n1 a n2…a nn n元素的乘积的屜…a% (1)的代数和,这里jj…j n是1,2/ ,n的一个排列,每一项(1)都按下列规则带有符号:当jj…j n是偶排列时,⑴带正号,当j l j2…j n 是奇排列时,(1)带有负号.这一定义可写成 an a12 a1n a 21 a22 (2) I-a=无(-1F 山压)?…a nj j1 j2…j n a n1 a n2 a nn 这里V 表示对所有n级排列求和. j1 j2 ■ j n 1.2性质[4] 性质1.2.1行列互换,行列式的值不变. 性质1.2.2某行(列)的公因子可以提到行列式的符号外. 性质1.2.3如果某行(列)的所有元素都可以写成两项的和,则该行列式可以写成两行列式的和;这两个行列式的这一行(列)的元素分别为对应的两个加数之一,其余各行(列)与原行列式相同. 性质1.2.4两行(列)对应元素相同,行列式的值为零. 性质1.2.5两行(列)对应元素成比例,行列式的值为零. 性质1.2.6某行(列)的倍数加到另一行(列)对应的元素上,行列式的值不变. 性质1.2.7交换两行(列)的位置,行列式的值变号. 等于所有取自不同行不同列的个

2行列式的分类及其计算方法 2.1箭形(爪形)行列式 这类行列式的特征是除了第1行(列)或第n 行(列)及主(次)对角线上元素外的其他元素均 为零,对这类行列式可以直接利用行列式性质将其化为上(下)三角形行列式来计算?即利用对 角元素或次对角元素将一条边消为零. 例1计算n 阶行列式 a 1 1 ■ ■ .L 1 1 a 2 0 0 D n = 1 0 a 3… 0 (&2&3…a n 式0) 1 0 … a n 2.2两三角型行列式 这类行列式的特征是对角线上方的元素都是 c,对角线下方的元素都是b 的行列式,初看, 这一类型似乎并不具普遍性,但很多行列式均是由这类行列式变换而来,对这类行列式,当 b 二 c 时可以化为上面列举的爪形来计算,当 b = c 时则用拆行例)法 [9] 来计算. 例2计算行列式 将第一列减去第二列的 丄倍,第三列的丄倍…第n 列的 a 2 a 3 倍,得 1 a i - a 2 1 1 a 2 0 a 3 0 0 a n n =''a i i =2 n *1 ' ■- i=2 丄 a i 丿

相关主题
文本预览
相关文档 最新文档