线性代数行列式计算方法之降阶法

声明与简介线性代数行列式计算之降阶法一般针对于行列是0元素较多的情况,它的核心思想是对某行(列)能方便的进行行列式展开,即某行(列)元素与其代数余子式的乘积,而该行(列)元素为0的较多,对应的代数余子式又比较简单的求出(比如三角形的行列式)。降阶法代数余子式展开计算n阶行列式:过程详解#1思路Step1先观察行列式的特点,再整理思路Step2以第1列为轴,不难发现它对应的代数余子式是个对角形。Step3思路形成,以第1列对应的两个元素a和b分别乘以对应的代数余子.

大家好,又见面了,我是你们的朋友全栈君。

声明与简介

线性代数行列式计算之降阶法一般针对于行列是0元素较多的情况,它的核心思想是对某行(列)能方便的进行行列式展开,即某行(列)元素与其代数余子式的乘积,而该行(列)元素为0的较多,对应的代数余子式又比较简单的求出(比如三角形的行列式)。

降阶法

代数余子式展开

计算n阶行列式:

线性代数行列式计算方法之降阶法

 过程详解

#1 思路
Step1 先观察行列式的特点,再整理思路
Step2 以第1列为轴,不难发现它对应的代数余子式是个对角形。
Step3 思路形成,以第1列对应的两个元素a和b分别乘以对应的代数余子式得到该行列式。

线性代数行列式计算方法之降阶法

# 实操
Step1:有上述思路所以,行列式D的计算方式转换为a乘其代数余子式加上b乘其代数余子式。

这里a的代数余子式为线性代数行列式计算方法之降阶法

Step2:而针对b展开时,需要分两步,展开时系数为线性代数行列式计算方法之降阶法

b的代数余子式系数类似a即为0,结果为线性代数行列式计算方法之降阶法

step3:所以最终结果为:线性代数行列式计算方法之降阶法

附录是元素b对应的余子式。

线性代数行列式计算方法之降阶法

 行列临位错位相减

计算n阶行列式

线性代数行列式计算方法之降阶法

 过程详解

#1 思路
Step1 先观察行列式的特点,再整理思路
Step2 观察行列式不难发现如下规律:出现了大量重复的a和d(尽管有系数上的差距)。这时优先考虑消除a,因为每一行(列)里的a是固定的,而d是动态(随元素位置变化)的。进而通过隔行(列)消除d,最终在余子式里化成三角形。

#2 实操

Step1:以行操作为例,第n-1行的-1倍加到第n行上去(等同于第n行减去第n-1行,一般我们用符合行列式性质的说法去描述,尽管有些绕口),同理第n-2行的-1倍加到第n-1行上去,直至第2行的-1倍加到第1行上去,最终第1行没法类似操作,即保留不动。

线性代数行列式计算方法之降阶法

结果为:

线性代数行列式计算方法之降阶法

Step2: 针对上式,以列方式观察第1行第1列的余子式,不难发现除第1列的其它列含大量重复的d(共n-1个),仅有一处元素对应位置不同,即第一列某处是d而其它列对应位置是-(n-1)d。

处理方法,将第1列的-1倍加到第2、3…n列上去。

线性代数行列式计算方法之降阶法

结果为:

线性代数行列式计算方法之降阶法

Step3:针对Step3,需要把第1列的d给消除掉,这时需要第2、3…n列的1/n倍加到第1列上去。

线性代数行列式计算方法之降阶法

结果为:

线性代数行列式计算方法之降阶法

Step4:针对行列式第1行第1列的余子式,不难发现是三角型的,这里我们用行列式的定义即可求出。如下图这个框起来的子行列式(记住E)每个元素都是-nd,这里我们以列作为正序数取,即列为1,2,3…来取b。

那么得到行列式E(n-1阶的)对角线元素对应的序号为

(n-1)1、(n-2)2、(n-3)3…1(n-1)

针对上述的逆序数,不能得出代数余子式系数: (n-1+1)(n-1)/2,而对象线相乘得

线性代数行列式计算方法之降阶法

线性代数行列式计算方法之降阶法

Step5:整理后最终结果为:

线性代数行列式计算方法之降阶法

 行列临位错位相乘

计算n阶行列式

线性代数行列式计算方法之降阶法

过程详解 

#1 思路
Step1 先观察行列式的特点,再整理思路
Step2 观察行列式不难发现如下规律:
行列的第1列提取公因子之后和其它列对应元素有个倍数差,利用这点可以实现清0。

#2 实操

Step1:提取第1列公因子线性代数行列式计算方法之降阶法 ,并将第1列的负线性代数行列式计算方法之降阶法倍加到其它各列上去,其中i从2到n。

线性代数行列式计算方法之降阶法

结果为:

线性代数行列式计算方法之降阶法

Step2再基于行列式展开式,对第n行元素展开,再结合三角形性质得最终结果:

线性代数行列式计算方法之降阶法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126945.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • influx数据同步「建议收藏」

    influx数据同步「建议收藏」经过测试,通过设置influxdb可以将多个influx数据库实时汇总到一台服务器的同一个数据库里。1、test_A数据库创建保留策略influx-execute“CREATESUBSCRIPTION“momServices_sub”ON“test_A”.“autogen”DESTINATIONSANY‘http://192.168.50.50:8086’”-database“Test_All”momServices_sub:同步规则名mom_services:要做数据同步的

    2022年10月25日
    0
  • mysql decimal 空,MySQL DECIMAL数据类型

    mysql decimal 空,MySQL DECIMAL数据类型同事问MySQL数据类型DECIMAL(N,M)中N和M分别表示什么含义,M不用说,显然是小数点后的小数位数,但这个N究竟是小数点之前的最大位数,还是加上小数部分后的最大位数?这个还真记不清了。于是乎,创建测试表验证了一番,结果如下:测试表,seller_cost字段定义为decimal(14,2)CREATETABLE`test_decimal`(`id`int(11)NOTNULL,`sell…

    2022年7月17日
    19
  • Memwatch使用说明

    Memwatch使用说明linux下的测试工具真是少之又少,还不好用,最近试用了memwatch,感觉网上的介绍不太好,所以放在这里跟大家分享 。其实大部分都是看的帮助,很多地方翻译得不好还有错,请原谅指出最好看原文。如果转载或引用,请注明我的博客地址,谢谢。 1介绍MemWatch由 Johan Lindh 编写,是一个开放源代码 C 语言内存错误检测工具。MemWatch支持 ANSI C,它提供结果日志纪录

    2022年7月13日
    18
  • Android studio 入门教程(案例)

    Android studio 入门教程(案例) 1.创建一个Android项目,点击File->New->NewProject,其中的open是打开一个Android项目2.输入项目的名称test,此项目放在E盘下,然后点击Finish3.选择Android虚拟机的版本,版本越低运行起来越快,其他的无需勾选。 4.选择Android的模板,选择基础类android的空模板Empty…

    2022年6月7日
    33
  • apache StopWatch基本使用

    apache StopWatch基本使用转载自:http://blog.csdn.net/eg366/article/details/11835191pom:[html] viewplaincopydependency>      groupId>commons-langgroupId>      artifactId>commons-langarti

    2022年6月23日
    122
  • Pycharm创建文件时自动生成文件头注释(自定义设置作者、日期等信息)

    Pycharm创建文件时自动生成文件头注释(自定义设置作者、日期等信息)为了不用每次新建文件时都要手动添加作者、创建日期等信息,我们可以为Pycharm设置一套模板(IDEA设置也可以参考Pycharm),提高效率。

    2022年6月26日
    87

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号