矩阵行列式
矩阵行列式
对于一个\(n\)行\(n\)列的矩阵\(A\),有矩阵的行列式(常用\(\det(A),|A|\))表示
行列式的意义
如果将矩阵的每一行视为一个\(n\)维向量,则\(n\)阶行列式的意义可以看做是:
有向长度/面积/体积在\(n\)为空间下的扩展
具体的例子
\(n=1\)时,\(|A|=A_{1,1}\),即有向长度
\(n=2\)时,\(|A|=A_{1,1}A_{2,2}-A_{1,2}A_{2,1}=\vec{A_1}\times \vec{A_2}\)
因此也可以得到常用的一个3维向量外积的表达式
\(\vec{a}\times \vec{b}=\begin{vmatrix} \vec{x}\ \ \vec{y}\ \ \vec{z} \\ a_1\ a_2\ a_3\\ b_1\ b_2\ b_3\end{vmatrix}\)
其中\(\vec{x},\vec{y},\vec{z}\)是三维平面的三个维度的单位向量
上式即将有向体积中的一个向量改为单位向量后压缩到一个平面上
最基本的求法:
枚举\(1,2,\cdots,n\)的一个排列\(p_i\),设排列\(p\)的逆序对为\(f(p)\)
则\(\begin{aligned} |A|=\sum (-1)^{f(p)} \Pi A_{i,p_i}\end{aligned}\)
矩阵行列式的性质:
1.交换任意两行(列)得到矩阵\(A'\),则\(|A'|=-|A|\) (交换后每个排列\(f(p)\)的奇偶性改变)
2.对于某一行(列)乘上一个值\(k\)得到矩阵\(A'\),则\(|A'|=k|A|\)
3.某一行减去另一行的\(k\)倍得到矩阵\(A'\),则\(|A'|=|A|\)
根据性质得到的快速求法
根据性质1,2,3可以对于矩阵进行高斯消元
而对于一个上三角/下三角矩阵,带入上面的基本求法,显然能够得到非0值的排列只有对角线\(p_i=i\)
因此得到上/下三角矩阵之后就可以快速求解,复杂度为高斯消元的\(O(n^3)\)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步