[问题2014A02] 解答一(两次升阶法,由张钧瑞同学、董麒麟同学提供)

将原行列式 \(|A|\) 升阶,考虑如下 \(n+1\) 阶行列式:

\[|B|=\begin{vmatrix} 1 & -a_1 & -a_2 & \cdots & -a_{n-1} & -a_n \\ 0 & 0 & a_1+a_2 & \cdots & a_1+a_{n-1} & a_1+a_n \\ 0 & a_2+a_1 & 0 & \cdots & a_2+a_{n-1} & a_2+a_n \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ 0 & a_{n-1}+a_1 & a_{n-1}+a_2 & \cdots & 0 & a_{n-1}+a_n \\ 0 & a_n+a_1 & a_n+a_2 & \cdots & a_n+a_{n-1} & 0 \end{vmatrix},\]

显然 \(|A|=|B|\). 将 \(|B|\) 的第一行分别加到余下的 \(n\) 行上,可得

\[|B|=\begin{vmatrix} 1 & -a_1 & -a_2 & \cdots & -a_{n-1} & -a_n \\ 1 & -a_1 & a_1 & \cdots & a_1 & a_1 \\ 1 & a_2 & -a_2 & \cdots & a_2 & a_2 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ 1 & a_{n-1} & a_{n-1} & \cdots & -a_{n-1} & a_{n-1} \\ 1 & a_n & a_n & \cdots & a_n & -a_n \end{vmatrix}.\]

再次将上述行列式升阶,考虑如下 \(n+2\) 阶行列式:

\[|C|=\begin{vmatrix} 1 & 0 & 0 & 0 & \cdots & 0 & 0 \\ 0 & 1 & -a_1 & -a_2 & \cdots & -a_{n-1} & -a_n \\ -a_1 & 1 & -a_1 & a_1 & \cdots & a_1 & a_1 \\ -a_2 & 1 & a_2 & -a_2 & \cdots & a_2 & a_2 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ -a_{n-1} & 1 & a_{n-1} & a_{n-1} & \cdots & -a_{n-1} & a_{n-1} \\ -a_n & 1 & a_n & a_n & \cdots & a_n & -a_n \end{vmatrix},\]

显然 \(|A|=|B|=|C|\). 将 \(|C|\) 的第一列分别加到最后的 \(n\) 列上,可得

\[|C|=\begin{vmatrix} 1 & 0 & 1 & 1 & \cdots & 1 & 1 \\ 0 & 1 & -a_1 & -a_2 & \cdots & -a_{n-1} & -a_n \\ -a_1 & 1 & -2a_1 & 0 & \cdots & 0 & 0 \\ -a_2 & 1 & 0 & -2a_2 & \cdots & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ -a_{n-1} & 1 & 0 & 0 & \cdots & -2a_{n-1} & 0 \\ -a_n & 1 & 0 & 0 & \cdots & 0 & -2a_n \end{vmatrix}.\]

上述行列式是典型的爪型行列式 (参考高代白皮书第 6 页的例 1.2),只要利用非零主对角元将爪的一边消去,变成 (分块) 上 (下) 三角行列式即可求值出来了. 我们选择消去前两列的爪边. 在上述行列式中, 将第 \(i\) 列 (\(i=3,4,\cdots,n+2\)) 乘以 \(-\frac{1}{2}\) 都加到第一列上,再将第 \(i\) 列 (\(i=3,4,\cdots,n+2\)) 乘以 \(\frac{1}{2a_{i-2}}\) 都加到第二列上,可得

\[|C|=\begin{vmatrix} 1-\frac{n}{2} & \frac{T}{2} & 1 & 1 & \cdots & 1 & 1 \\ \frac{S}{2} & 1-\frac{n}{2} & -a_1 & -a_2 & \cdots & -a_{n-1} & -a_n \\ 0 & 0 & -2a_1 & 0 & \cdots & 0 & 0 \\ 0 & 0 & 0 & -2a_2 & \cdots & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ 0 & 0 & 0 & 0 & \cdots & -2a_{n-1} & 0 \\ 0 & 0 & 0 & 0 & \cdots & 0 & -2a_n \end{vmatrix},\]

其中 \(S=a_1+a_2+\cdots+a_n\), \(T=\frac{1}{a_1}+\frac{1}{a_2}+\cdots+\frac{1}{a_n}\). 注意到上述行列式是分块上三角行列式, 从而可得

\[|A|=|C|=(-2)^{n-2}\prod_{i=1}^na_i\bigg((n-2)^2-\Big(\sum_{i=1}^na_i\Big)\Big(\sum_{i=1}^n\frac{1}{a_i}\Big)\bigg). \quad\Box\]

[问题2014A02] 解答一(两次升阶法,由张钧瑞同学、董麒麟同学提供)的更多相关文章

  1. [问题2014A01] 解答三(升阶法,由董麒麟同学提供)

    [问题2014A01] 解答三(升阶法,由董麒麟同学提供) 引入变量 \(y\),将 \(|A|\) 升阶,考虑如下行列式: \[|B|=\begin{vmatrix} 1 & x_1-a & ...

  2. [问题2014A01] 解答一(第一列拆分法,由张钧瑞同学提供)

    [问题2014A01] 解答一(第一列拆分法,由张钧瑞同学提供) (1)  当 \(a=0\) 时,这是高代书复习题一第 33 题,可用升阶法和 Vander Monde 行列式来求解,其结果为 \[ ...

  3. [问题2014A02] 解答二(求和法+拆分法,由张诚纯同学提供)

    [问题2014A02] 解答二(求和法+拆分法,由张诚纯同学提供) 将行列式 \(|A|\) 的第二列,\(\cdots\),第 \(n\) 列全部加到第一列,可得 \[ |A|=\begin{vma ...

  4. [问题2014A02] 解答三(降阶公式法)

    [问题2014A02] 解答三(降阶公式法) 将矩阵 \(A\) 写成如下形式: \[A=\begin{pmatrix} -2a_1 & 0 & \cdots & 0 & ...

  5. 编程算法 - 两个升序列的同样元素 代码(C)

    两个升序列的同样元素 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 两个升序列的同样元素, 须要使用两个指针, 依次遍历, 假设相等输出, 假设小于或 ...

  6. 海选与包装,Python中常用的两个高阶函数(讲义)

    一.filter(function, iterable) - 过滤("海选") # 判断落在第一象限的点[(x1, y1), (x2, y2)...] points = [(-1, ...

  7. 两次内存断点法寻找OEP

    所谓“两次内存断点法寻找OEP”,按照<加密与解密*第三版>上的解释来说,就是这样的.一般的外壳会依次对.text..rdata..data..rsrc区块进行解压(解密)处理,所以,可以 ...

  8. ACM -- 算法小结(十)素数的两种打表法

    素数的两种打表法 下面介绍两种素数打表法,由于是两年前留下的笔记,所以没有原创链接~~ @_@!! 第一种疯狂打表法: #include<stdio.h> #include<math ...

  9. sql的升阶

    前言:基本数据库操作根本无法满足实际的需要,需要引入更多的操作. 触发器-隐式的,主动的,更新数据表中的信息.带有inserted和deleted两个临时表,代表新操作和旧操作. 它是一种特殊的存储过 ...

随机推荐

  1. (转)实例分析:MySQL优化经验

    [IT专家网独家]同时在线访问量继续增大,对于1G内存的服务器明显感觉到吃力,严重时甚至每天都会死机,或者时不时的服务器卡一下,这个问题曾经困扰了我半个多月.MySQL使用是很具伸缩性的算法,因此你通 ...

  2. junit测试框架

    import junit.framework.Assert; import org.junit.After; import org.junit.Before; import org.junit.Tes ...

  3. delete all untracked files

    git clean -f git clean -fdx f   file d  directory x   .gitignore

  4. java发布web项目

    Java Web 项目发布流程 一.基本条件 jdk tomcat 二.操作步骤 4.生成war包:Eclipse:右键项目->Export->WAR file,如:hello.war 4 ...

  5. Hadoop离线项目介绍(不包括程序)

    一:项目场景 1.需求分析 根据用户行为数据进行程序的处理,得到结果保存到关系型数据库中 需要收集用户(系统使用者)在不同客户端上产生的用户行为数据,最终保存到hdfs上 需要明确收集字段的相关信息, ...

  6. reporting service & wpf

    WPF做Windows程序界面很好很强大,RDLC做报表免费又好用,如何将两者强强联合呢?   方法1:    可以直接在WPF项目中加入一个WinForm窗体,在这个窗体上进行报表操作,与一般的Wi ...

  7. freemarker学习

    链接: http://swiftlet.net/archives/category/freemarker

  8. 浏览器网页判断手机是否安装IOS/Android客户端程序

    IOS 原理如下: 为HTML页面中的超链接点击事件增加一个setTimeout方法. 如果在iPhone上面500ms内,本机有应用程序能解析这个协议并打开程序,则这个回调方法失效: 如果本机没有应 ...

  9. Linux系统编程--文件IO操作

    Linux思想即,Linux系统下一切皆文件. 一.对文件操作的几个函数 1.打开文件open函数 int open(const char *path, int oflags); int open(c ...

  10. Android之ViewHolder用法

    http://www.cnblogs.com/mengdd/p/3254323.html (zhuan) http://blog.csdn.net/mrzhang_happy/article/deta ...