首页 > 其他分享 >测试

测试

时间:2023-07-18 13:11:50浏览次数:33  
标签:right ai cdots 测试 array vdots left

刚刚值完班,人很疲惫,也不太想动,所以想写写东西。工作以来,遇到许多事情,各种鸡零狗碎。唯一能让人保持清醒的就是《数学分析》和《高等代数》。有所的事物都会骗人,就数学不会。   
If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.

von Neumann

  在我看来,von Neumann确实说的特别对。最近看了谢启鸿老师的《高等代数》(第四版),也就是是数学系同学们传说中的白皮书,也就是下面这本,目前这本是最新版的:

  书中的题目很多其实挺难的。笔者打算阅读该书过程中,遇到的一些题目的解法的详细过程分享出来。在数学领域,从不奢望有太大的建树,但是希望能多学一些,多一些见识。在Cnblogs上写下,也当做是生活中的一种记录。

  在第7页,例1.4中,有一题:
 (爪行行列式)计算n阶行列式,其中ai≠0  (2≤in):

\[{\small \left| A \right| = \left| {\begin{array}{*{20}{c}}
{{a_1}}&{{b_2}}&{{b_3}}& \cdots &{{b_n}}\\
{{c_2}}&{{a_1}}&0& \cdots &0\\
{{c_3}}&0&{{a_3}}& \cdots &0\\
\vdots & \vdots & \vdots & \vdots & \vdots \\
{{c_n}}&0&0& \cdots &{{a_n}}
\end{array}} \right|} \]

   这题中,加了条件ai≠0 (2≤in),因此题目解起来很容易:从第2列开始直到第n列,把第i列(2≤in) 乘以并加到第一列上,这样的话,第一列的c1, c2, .. , cn都被消去成0,即:

\[{\huge \left| A \right| = \left| {\begin{array}{*{20}{c}}
{{a_1}{\rm{ - }}\sum\limits_{i = 2}^n {\frac{{{b_i}{c_i}}}{{{a_i}}}} }&{{b_2}}&{{b_3}}& \cdots &{{b_n}}\\
0&{{a_1}}&0& \cdots &0\\
0&0&{{a_3}}& \cdots &0\\
\vdots & \vdots & \vdots &{}& \vdots \\
0&0&0& \cdots &{{a_n}}
\end{array}} \right|} \]

  那么上述行列式化为上三角行列式,其结果为对角线元素的乘积:

\[{\huge \begin{array}{l}
\left| A \right| = ({a_1}{\rm{ - }}\sum\limits_{i = 2}^n {\frac{{{b_i}{c_i}}}{{{a_i}}}} ){a_2}{a_3} \cdots {a_n}\\
\;\;\;\;\; = {a_1}{a_2}{a_3} \cdots {a_n}\; - \;\sum\limits_{i = 2}^n {{a_2} \cdots {{\hat a}_i} \cdots {a_n}} {b_i}{c_i}
\end{array}} \]

  (其中表示${\hat a_i}$不在∑后面的连乘式中);

  本来解到这儿,已经算是松口气了。但是原题目后面后面还有一个remark:

  “去掉条件ai≠0 (2≤in),我们仍可以求出:

\[{\huge \left| A \right| = {a_1}{a_2}{a_3} \cdots {a_n}\; - \;\sum\limits_{i = 2}^n {{a_2} \cdots {{\hat a}_i} \cdots {a_n}} {b_i}{c_i}}\]
  ”

  具体的做法是谢老师也给出,“例如ai=0,则先按ci所在的行进行展开,再按bi所在的列进行展开,即得出结论”。当时看到这儿觉得挺神奇的,ai=0的话,也可以得出ai≠0一样的结论,尝试着进行推导,算了很久,也没算出来,终于在一个不眠之夜算出来了。

  设某个ai=0(只有一个):

\[{\huge \begin{array}{l}
{a_i} = 0,\forall j = i,{a_j} \ne 0\\
\left| A \right| = \left| {\begin{array}{*{20}{c}}
{{a_1}}&{{b_2}}&{{b_3}}& \cdots &{{b_{i - 1}}}&{{b_i}}&{{b_{i + 1}}}& \cdots &{{b_n}}\\
{{c_2}}&{{a_2}}&0&0&0&0&0&0&0\\
{{c_3}}&0&{{a_3}}&0&0&0&0&0&0\\
\vdots &0&0& \vdots &0&0&0&0&0\\
{{c_{i - 1}}}&0&0&0&{{a_{i - 1}}}&0&0&0&0\\
{{c_i}}&0&0&0&0&{{a_i}}&0&0&0\\
{{c_{i + 1}}}&0&0&0&0&0&{{a_{i + 1}}}&0&0\\
\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\
{{c_n}}&0&0&0&0&0&0&0&{{a_n}}
\end{array}} \right|
\end{array}} \]   

  上述的|A|确实很复杂,按书本上的提示,则先按ci所在的行进行展开,再按bi所在的列进行展开。其中,很关键的一个是按bi所在的列展开,bii-1列,而不是第i列,要不然算到猴年马月,都算不出来。依上述所示,那么原行列式等于:

\[{\huge \begin{array}{l}
\left| A \right| = {( - 1)^{i + 1}}{c_i}{( - 1)^{1 + i - 1}}{b_i}\left| {\begin{array}{*{20}{c}}
{{a_2}}&{}&{}&{}&{}&{}&{}\\
{}&{{a_3}}&{}&{}&{}&{}&{}\\
{}&{}& \cdots &{}&{}&{}&{}\\
{}&{}&{}&{{a_{i - 1}}}&{}&{}&{}\\
{}&{}&{}&{}&{{a_{i + 1}}}&{}&{}\\
{}&{}&{}&{}&{}& \cdots &{}\\
{}&{}&{}&{}&{}&{}&{{a_n}}
\end{array}} \right|\\
\;\;\;\;\; = - {c_i}{b_i}{a_2}{a_3} \cdots {a_{i - 1}}{a_{i + 1}} \cdots {a_n}
\end{array}} \]

  注意上述最后的结果,可以写成:

\[{\huge \begin{array}{l}
\left| \mathbf{\mathit{A} } \right| = - {a_2}{a_3} \cdots {a_{i - 1}}{a_{i + 1}} \cdots {a_n}{c_i}{b_i}\\
\;\;\;\;\;\;= \;({a_1}{a_2}{a_3} \cdots {a_{i - 1}}0{a_{i + 1}} \cdots {a_n})\;\; - ({a_3}{a_4} \cdots {a_{i - 1}}0{a_{i + 1}} \cdots {a_n}{c_i}{b_i})\; - \cdots - ({a_2}{a_3} \cdots {a_{i - 1}}{a_{i + 1}} \cdots {a_n}{c_i}{b_i})\;\\
\;\;\;\;\;\;\; - \cdots - ({a_2}{a_3} \cdots {a_{i - 1}}{a_{i + 1}} \cdots {a_n}{c_i}{b_i})\\
\;\;\;\; \;\;= {a_1}{a_2}{a_3} \cdots {a_n}\; - \;\sum\limits_{i = 2}^n {{a_2} \cdots {{\hat a}_i} \cdots {a_n}} {b_i}{c_i}
\end{array}} \]

QED.

  上述是在某一个ai=0的情况下算出来的,如果有多个ai=0的情况,那计算过程可能有点不太一样。有空再写一下,今晚先告一段落。虽然会失眠,但还是要让自己睡下去。

标签:right,ai,cdots,测试,array,vdots,left
From: https://www.cnblogs.com/songyan/p/17562157.html

相关文章

  • Python单元测试之道:从入门到精通的全面指南
    在这篇文章中,我们会深入探讨Python单元测试的各个方面,包括它的基本概念、基础知识、实践方法、高级话题,如何在实际项目中进行单元测试,单元测试的最佳实践,以及一些有用的工具和资源一、单元测试重要性测试是软件开发中不可或缺的一部分,它能够帮助我们保证代码的质量,减少bug,提高系......
  • kubeasz K8S测试环境删除多余 node 节点
    kubeaszK8S测试环境删除多余node节点背景:公司之前存在3套test环境,有1套环境部署的生产环境老系统,目前生产环境已经完成了新老系统切换,不在需要老系统test环境,需要进行回收1|查看节点列表使用kubectl命令来查看当前集群中的节点列表,以确认要删除的节点的名称。kub......
  • 测试一个线程向集合添加数据,另一个线程读取数据
    //Console.WriteLine("--------------------------------");//Console.WriteLine("测试一个线程向集合添加数据,另一个线程读取数据,请输入人名,输入exit退出");//BlockingCollection<string>names=newBlockingCollection<string>();......
  • 电脑桌面app客户端、微信公众号-小程序测试方法
    1、找到微信小程序的网络通信exe程序打开任务管理器,找到微信的网络通信exe程序右键打开文件位置2、安装代理软件proxifiler下载地址:https://download.csdn.net/download/weixin_43264067/87672675无脑下一步,傻瓜式操作安装好后,打开app3、配置代理服务器设置为burp地......
  • 超详细OA系统功能测试分析学习教程
    OA系统可以简单快速地建立企业级的办公自动化系统。办公自动化系统是员工及管理者使用频率最高的应用系统,可以极大提高公司的办公效率,帮助企业节省数字化、信息化办公的成本。本文中的OA系统来自于下面的资源:https://www.gougucms.com/home/pages/detail/s/gouguoa.html包含诸多......
  • NOI春季测试前模拟赛题解
    T312819命题工作直接容斥。总方案-一题出现四次-一题出现三次-一题出现两次。一题出现两次的情况略有不同,注意考虑周全。复杂度\(O(n)\)。codeT312891图上棋局有技巧的博弈论。如果当前点的所有出边均为先手必胜,那么当前点为先手必败。否则先手必胜。于是......
  • 软件测试从零基础到高级测试学习技术
    软件测试从零基础到高级测试学习技术1.基础知识:-深入理解软件开发生命周期(SDLC)的不同阶段,如需求分析、设计、编码、测试和维护。-学习各种测试方法和技术,如静态测试、动态测试、回归测试和探索性测试等。-掌握测试文档的编写规范和最佳实践,如测试计划、测试用例规范......
  • pytest---更改自动化测试用例执行顺序
    前言在自动化测试中,自动化测试用例设计原则就是执行过程时不能存在依赖顺序,那么如果测试用例需要按照指定顺序执行,这个时候应该怎么做呢?目前单元测试框架中unittest没有办法改变测试用例的执行顺序,但是另一个单元测试框架pytest可以做到,辅助测试人员更改测试用例的执行顺序,今天小......
  • 39软件系统测试
    功能测试性能测试:1负载测试:各种负载情况下软件的性能(罗列各种情况下的系统的性能)2、压力测试:测上限3、强度测试:测下限4、容量测试(并发测试):同时在线的用户数5、可靠性测试 ......
  • 36白盒测试和黑盒测试
    白盒测试和黑盒测试都是动态测试,都要运行程序。白盒测试是结构测试主要用于单元测试。黑盒测试是功能测试用于集成测试、确认测试和系统测试阶段。白盒测试有:控制流测试:语句覆盖、路径覆盖(路径覆盖最强、语句覆盖最弱)数据流测试程序变异测试黑盒测试有:等价类划分,又分有效......