求个四阶行列式值

来源:百度知道 编辑:UC知道 时间:2024/06/23 08:59:57
a1 0 0 b1
0 a2 b2 0
0 b3 a3 0
b4 0 0 a4

按第行或列展开我知道怎么算,但是我希望知道按定义也就是最直接的对角线算法答案怎么会和按行列展开算的不一样啊,很困扰人呢
对角线做的答案貌似:a1a2a3a4-b1b2b3b4
按行列展开来的是:(a2a3-b2b3)(a1a4-b1b4)
主要因为这是个选择题~~~

答案不重要,只是希望能有人给我个解释

可能是我没说清楚,大概不是叫对角线算法

反正例如

1 2
3 4

算得:1*4-2*3=-2

先两行互换,变成
a1 b1 0 0
0 0 b2 a2 (前面有负号)
0 0 a3 b3
b4 a4 0 0
再两列互换,变成
a1 b1 0 0
b4 a4 0 0
0 0 a3 b3
0 0 b2 a2
这时就可以用分块矩阵性质拉普拉斯展开式计算
a1 b1 a3 b3
b4 a4 b2 a2 相乘
=(a2a3-b2b3)(a1a4-b1b4)

肯定是你算错了,按第行或列展开的时候看看正负号,小标和是偶数的项是正号,奇数的项是负号,还有用对角线算法时,对角线一侧的数都得是0.
对角线的你做错了
a1 0 0 0
x a2 0 0
x x a3 0
x x x a4
这样的才能用对角线的方法做,必须是对角线上一侧都是0

a1 a2 a3 a4 - a1 a4 b2 b3 - a2 a3 b1 b4 + b1 b2 b3 b4

可以这样来做:
第一行乘以b1/a1加到第四行上,第二行乘以b2/a3加到第三行上,这样的话矩阵就化成了如下形式
A O
B C
再根据分块矩阵的性质可以知道上式=|A||C|
同理任意n阶的也可以这样处理。

因为是四阶行列式,不能够按定义来做。