首页 > 代码库 > 关于行列式的公理化定义

关于行列式的公理化定义

 

    学过线性代数我们都知道,对于矩阵,很容易理解,它就是一个数表!但是对于行列式,就是一个数!我们自然会问,这个数到底是个神马玩意呢?为什么它就这么定义计算式呢?

    线性代数中,我们知道给定的$n$阶方阵$A=(a_{ij})_{n\times n}$,其行列式的计算公式就定义为

detA=σSnτσi=1naiσ(i)(*)
<script id="MathJax-Element-1" type="math/tex; mode=display">\det A=\sum_{\sigma\in S_{n}}\tau_{\sigma}\prod_{i=1}^na_{i\sigma(i)}\tag{*}</script>

其中$\tau_{\sigma}$是置换$\sigma$的符号,定义为

τσ=(?1)k
<script id="MathJax-Element-2" type="math/tex; mode=display">\tau_{\sigma}=(-1)^k</script>

其中$k$为置换$\sigma$分解为不想交对换的分解式中对换的个数.

那么(*)这个公式到底是怎么来的呢?

    我们先来看一个几何问题,三维空间中给定一个平行六面体

A3(α1,α2,α3)(1)
<script id="MathJax-Element-3" type="math/tex; mode=display">\begin{align*}A_3:(\alpha_{1},\alpha_{2},\alpha_{3})\tag{1}\end{align*}</script>

其中$\alpha_{i}\in\mathbb R^3$是以$A_3$某一顶点为起点的三条棱所对应的向量.我们显然有$A_{3}$中的点都形如

x1α1+α2A2+x3α3,0xi1
<script id="MathJax-Element-4" type="math/tex; mode=display">x_{1}\alpha_{1}+\alpha_{2}A_{2}+x_{3}\alpha_{3},0\leq x_{i}\leq1</script>

所以说我们用(1)中的矩阵来定义或表示一个平行六面体是合理的.由空间解析几何的知识我们知道

VA3=|(α1×α2)?α3|(2)
<script id="MathJax-Element-5" type="math/tex; mode=display">V_{A_{3}}=|(\alpha_{1}\times \alpha_{2})\cdot \alpha_{3}|\tag{2}</script>

即为三向量$\alpha_{1},\alpha_{2},\alpha_{3}$之混合积的绝对值,计算公式即为

det(α1,α2,α3)
<script id="MathJax-Element-6" type="math/tex; mode=display">\det(\alpha_{1},\alpha_{2},\alpha_{3})</script>

(这里一、二、三阶行列式的定义我们可以事先给出)事实上对于二维的平行六面体$A_{2}$,即平面中的平行四边形,我们也有类似的结论

VA2=|det(α1,α2)|(3)
<script id="MathJax-Element-7" type="math/tex; mode=display">V_{A_{2}}=|\det(\alpha_{1},\alpha_{2})|\tag{3}</script>

这里的$\alpha_{i}$指$A_2$的具有同一起点的两条临边对应的向量.为了去掉(2),(3)中的绝对值,我们只要引入“有向体积”的概念,即允许体积取负值即可(这有点类似于多元微积分中我们为了消除${\rm d}x\wedge{\rm d}y$与${\rm d}y\wedge{\rm d}x$的区别,引入了可定向曲面的概念).当然我们可以事先约定一个正方向,比如在三维空间中我们可以约定如果有序向量组$\alpha_{1},\alpha_{2},\alpha_{3}$和$\mathbb R^3$中的有序基向量组$\overrightarrow i ,\overrightarrow j,\overrightarrow k $的定向一致,则相应的体积取正,否则取负.这样我们便得到了二维、三维(一维即为线段,这显然也是满足的)平行六面体(有向)体积统一的计算公式了

VA=detA
<script id="MathJax-Element-8" type="math/tex; mode=display">V_{A}=\det \mathbb A</script>

这里矩阵$\mathbb A$的定义前文已经提及.这样的话对于一般的$n$阶行列式

detAn=det(α1,?,αn)
<script id="MathJax-Element-9" type="math/tex; mode=display">\det A_{n}=\det(\alpha_{1},\cdots,\alpha_{n})</script>

我们很自然的将其定义为由向量$\alpha_{i}\in \mathbb R^n$所对应的$n$维平行六面体的(有向)体积,更一般的我们可以将行列式$\det$看做函数

det:Mn(F)An?FdetAn
<script id="MathJax-Element-10" type="math/tex; mode=display">\begin{align*}\det:M_{n}(\mathbb F)&\to\mathbb F\\A_{n}\mapsto&\det A_{n}\end{align*}</script>

 我们来看这个函数应当满足什么条件,也就是体积所具有的的性质,这里我们不加证明的给出

1)

det(α1,?,aαi+bβ,αi+1,?,αn)=adet(α1,?,αi,?,αn)+bdet(α1,?,β,?,αn)
<script id="MathJax-Element-11" type="math/tex; mode=display">\det(\alpha_{1},\cdots,a\alpha_{i}+b\beta,\alpha_{i+1},\cdots,\alpha_{n})=a\det(\alpha_{1},\cdots,\alpha_{i},\cdots,\alpha_{n})+b\det(\alpha_{1},\cdots,\beta,\cdots,\alpha_{n})</script>

换句话说函数$\det$在每个分量上都是线性的(这一点根据对应的平行六面体的构造方式来看是显然的),我们也把满足这种性质的函数叫做多重线性函数.

2)

det(α1,?,αi,?,αj,?,αn)=?det(α1,?,αj,?,αi,?,αn)
<script id="MathJax-Element-12" type="math/tex; mode=display">\det(\alpha_{1},\cdots,\alpha_{i},\cdots,\alpha_{j},\cdots,\alpha_{n})=-\det(\alpha_{1},\cdots,\alpha_{j},\cdots,\alpha_{i},\cdots,\alpha_{n})</script>

也就是说交换函数$\det$某两个分量的位置,函数值是变号的(这一点根据有向体积的概念来看也是显然的),我们也把这样的函数称作反对称的.

3)$\det E=1$,这是由于单位阵$E=(e_{1},\cdots,e_{n})$,$e_{i}$为$n$维向量空间的标准正交基.

 

    接下来我们就是要着手于证明满足(1),(2),(3)的函数$\det$必然具有"*"的计算公式.首先这样的函数存在是显然的,“*”式恰好给出了其一种存在性.

根据性质2)可知如果$A$中存在某两列相同,那么$\det A=0$,姑且把他记做性质(4).注意到

detA=det(EA)=det(e1,?,en)????a11?an1???a1n?ann????=det(i=1nai1ei,?,i=1nainei)=a11det(e1,i=1nai2ei,?,i=1nainei)   +a21(e2,i=1nai2ei,?,i=1nainei)+?=a11a22det(e1,e2,i=1nai3ei,?,i=1nainei)+?=σSna1σ(1)?anσ(n)det(eσ(1),?,eσ(n))=σSnτσi=1naiσ(i)detE=σSnτσi=1naiσ(i)
<script id="MathJax-Element-13" type="math/tex; mode=display">\begin{align*}\det A=\det(EA)&=\det(e_{1},\cdots,e_{n})\left(\begin{array}{ccc}a_{11}&\cdots&a_{1n}\\\vdots&\ddots&\vdots\\a_{n1}&\cdots&a_{nn}\end{array}\right)\\&=\det\left(\sum_{i=1}^{n}a_{i1}e_{i},\cdots,\sum_{i=1}^{n}a_{in}e_{i}\right)\\&=a_{11}\det\left(e_{1},\sum_{i=1}^{n}a_{i2}e_{i},\cdots,\sum_{i=1}^{n}a_{in}e_{i}\right)\\&~~~+a_{21}\left(e_{2},\sum_{i=1}^{n}a_{i2}e_{i},\cdots,\sum_{i=1}^{n}a_{in}e_{i}\right)+\cdots\\&=a_{11}a_{22}\det\left(e_{1},e_{2},\sum_{i=1}^{n}a_{i3}e_{i},\cdots,\sum_{i=1}^{n}a_{in}e_{i}\right)+\cdots\\&=\sum_{\sigma\in S_{n}}a_{1\sigma(1)}\cdots a_{n\sigma(n)}\det\left(e_{\sigma(1)},\cdots,e_{\sigma(n)}\right)\\&=\sum_{\sigma\in S_{n}}\tau_{\sigma}\prod_{i=1}^{n}a_{i\sigma(i)}\det E\\&=\sum_{\sigma\in S_{n}}\tau_{\sigma}\prod_{i=1}^{n}a_{i\sigma(i)}\end{align*}</script>

(推导过程中某些细节已经舍去,这些细节都是性质(1),(2),(4)的使用)这样便证明了*式之所以是行列式的原因了.

 

注记:由推导过程我们不难看出,如果某一个函数$\varphi: M_{n}(\mathbb F)\to\mathbb F$且满足性质(1),(2),即$\varphi$同时为矩阵列的多重线性函数和反对称函数,那么必有

φ(A)=φ(E)?detA
<script id="MathJax-Element-14" type="math/tex; mode=display">\varphi(A)=\varphi(E)\cdot\det A</script>

 此外行列式的公理化构造方式还有很多,这里只是举出其中一种相对比较直观的方式。