首页 > 其他分享 >去**的线性代数

去**的线性代数

时间:2025-01-03 20:44:19浏览次数:1  
标签:矩阵 det times 线性代数 pmatrix 行列式 向量

粘一段 oi-wiki 上对线代的描述:

线性代数源于人们的观察。人们发现,很多对象都拥有相似的性质,比如:

  • 力可以被分解、合成。

  • 对于任意的 \(k,x_0,k \sin (x-x_0)\) 可以分解成 \(k_1\sin x + k_2\cos x\)。

这些性质与所描述对象的 缩放、分解、叠加 等有关。线性代数把这些性质从具体对象中抽象出来,作为一个独立的学科来研究。


由此可见,线代是一个历史悠久,用处很大的数学分支。

这里略过一些线代中的基础定义。

先从线代最初的作用:解方程说起。假设我们有如下的一个方程组:

\[\sum\limits_{j=1}^ma_{i,j}x_j=b_j(i=\overline{1,2,\cdots,n}) \]

如果我们用矩阵和向量来描述方程组中的参数和未知数,可以得到:

\(A\times \vec x=\vec b\),其中 \(\vec x\) 和 \(\vec b\) 是两个列向量,分别存储了所有的 \(x\) 和 \(b\)。

考虑只记录 \(A\) 和 \(\vec b\),我们考虑平时消元的过程:依次处理所有的未知数 \(x_i\),找到一个含有 \(x_i\) 的方程,将这个方程的若干倍加到其他的方程上从而消去其他方程中的 \(x_i\) 项,直到所有方程都呈现 \(ax=b\) 的形式。我们称其为 高斯-约旦消元(如果每次只消去后面的方程中的 \(x_i\),解出一个 \(x\) 后再依次回代的叫高斯消元)。

其中将方程的若干倍加到其他方程上的一步是整个算法变化最多的一步:

  • 如果方程组在实数域内就直接用实数除法。
  • 如果方程组定义在模质数意义下就用逆元。
  • 如果方程组定义在模任意自然数意义下考虑对于两个方程辗转相除,将某一个方程的这一项消到 0。
  • 如果方程定义在模 2 意义下考虑用 bitset 优化此过程。

一般情况下复杂度为 \(O(n^3)\)。处理特殊矩阵时会有更优秀的复杂度。


我们都知道如果一组向量无法相互表示那它们就是线性无关的,而一组向量的极大线性无关子集就成为这组向量的线性基。

考虑如何求解线性基,每次插入一个向量时从它的最高位开始考虑,如果现在它的最高位 \(p\) 没有对应的向量 \(b_p\),就将其插入,否则用 \(b_p\) 将给向量的 \(p\) 位置给消去。当向量被消为 0 时就表明现在线性基中的向量可以表示该向量,无法插入。

我们称一个向量组的线性基的大小为该向量组的秩,或是维数。

对于一个矩阵,如果我们将其看为将若干个行向量堆叠在一起,这这些行向量的秩称为矩阵的行秩。同样的定义有矩阵的列秩。同时我们有对于任意矩阵,行秩等于列秩,证明略。

行秩和列秩统称为矩阵的秩,记为 \(\operatorname{rank} A\)。


对于一个方阵 \(A_{n,n}\),定义方阵的行列式 \(\det A=\sum\limits_{p_{1,n}}(-1)^{\sigma(p)}\prod\limits_{i=1}^nA_{i,p_i}\),其中 \(\sigma(p)\) 表示排列 \(p\) 的逆序对数。

或者行列式还可以由 Laplace 展开式计算: \(\det A=\sum_{i=1}^n(-1)^{1+i}A_{1,i}\times \det M_{1,i}\),其中 \(M_{i,j}\) 表示原方阵 \(A\) 中删去第 \(i\) 行和第 \(j\) 列后剩余的子矩阵,称为余子阵,\(\det M_{i,j}\) 被称为余子式。

这告诉我们一个三角矩阵的行列式值等于其对角线上所有元素的乘积。

矩阵的行列式有如下几条重要的性质:

  • 如果将矩阵 \(A\) 的某一行或某一列整体乘上一个常数 \(c\),则 \(\det A'=c\cdot\det A\)。
  • 如果矩阵 \(A\) 和矩阵 \(B,C\) 满足 \(A\) 的某一行或某一列是 \(B\) 和 \(C\) 对应的行或列的和,矩阵中的其他位置分别相等,则有 \(\det A=\det B+\det C\)。
  • 交换矩阵 \(A\) 的某两行或某两列的位置,矩阵的行列式值取反。

结合之前的三角矩阵行列式值,我们可以回想高斯消元的过程,发现消元的结果就是一个三角矩阵,也就是我们可以在 \(O(n^3)\) 的复杂度内求出行列式的值。

同时,如果一个矩阵的行列式值不为 0,一个充要条件是该矩阵满秩。证明显然。


Cauchy-binet formula,柯西比内公式的内容如下:对于两个矩阵 \(U_{n\times m}\) 和 \(V_{m\times n}\),其乘积的行列式 \(\det (U\times V)=\sum\limits_{S=\binom{[m]}n}\det U_{[n],S}\times \det V_{S,[n]}\)。表示对于 1 到 \(m\) 中每一个大小为 \(n\) 的子集,然后将 \(U,V\) 中对应的 \(n\) 阶子矩阵的行列式的乘积求和。

显然如果 \(n>m\) 积的行列式为 0(因为两矩阵乘积的秩不超过这两个矩阵的秩,所有乘积矩阵明显不是满秩的)。

该公式可以算一些神秘的组合意义题。鬼知道能不能用上。


Matrix Determinant Lemma,矩阵行列式引理表示为:

\[|I_n+UV|=|I_m+VU| \]

证明如下:

考虑块矩阵乘法,\(\begin{pmatrix}I_n&\\V&I_m\end{pmatrix}\begin{pmatrix}I_n+UV&U\\&I_m\end{pmatrix}\begin{pmatrix}I_n&\\-V&I_m\end{pmatrix}=\begin{pmatrix}I_n&U\\&I_m+VU\end{pmatrix}\)

由于上式所有矩阵都是三角矩阵,因此有 \(1\times|I_n+UV|\times1=|I_m+VU|\)。

另外此引理还有推广形式:对于一个 \(n\) 阶可逆方阵 \(A\),有 \(|A+UV|=|A|\cdot|I_n+(A^{-1}U)V|=|A|\cdot|I_m+VA^{-1}U|\)。


标签:矩阵,det,times,线性代数,pmatrix,行列式,向量
From: https://www.cnblogs.com/Miss-Grisses/p/18650890

相关文章

  • 线性代数听课笔记
    基本定义线性空间线性相关、线性无关基矩阵的秩像空间与核空间(im,ker)线性代数基本定理高斯消元初等行变换相当于左乘一个特殊矩阵。求逆:对\((A|I)\)跑高斯-约旦,即可拿到\((I|A^{-1})\)。PLU分解:初等行变换里,『一行加到零一行』、『一行乘k』都可以表示为下三......
  • 线性代数5.矩阵的行列式-相关性质
    5.矩阵的行列式-相关性质若存在行列式:\[|A|=\begin{vmatrix}a_{11}&a_{12}&a_{13}&...&a_{1n}\\a_{21}&a_{22}&a_{23}&...&a_{2n}\\a_{31}&a_{32}&a_{33}&...&a_{3n}\\&&......\\a_{n1}&......
  • 线性代数3.矩阵的行列式
    3.矩阵的行列式3.1二阶行列式定义:\[形如\begin{vmatrix}a&b\\c&d\end{vmatrix}的式子为二阶行列式,其中\begin{vmatrix}a&b\\c&d\end{vmatrix}=ad-bc\]应用:设存在以下二元线性方程组:\[\begin{cases}a_{11}x_1+a_{12}x_2=b_1\\a_{21}x_1+a_{22}x_2=b_2......
  • 线性代数2.矩阵的迹&转置&对称矩阵
    2.矩阵的迹&转置&对称矩阵2.1矩阵的迹定义:\(n\timesn\)矩阵主对角线上元素的总和称为\(矩阵的迹\)矩阵X的迹记为\(tr(X)\)示例:设存在以下\(n\timesn\)的矩阵:\[X_{n\timesn}=\begin{bmatrix}x_{11}&x_{12}&x_{13}&...&x_{1n}\\x_{21}&x_{22}&......
  • 线性代数1.矩阵的基本概念&意义&特殊矩阵&基本运算
    1.矩阵的基本概念&意义&特殊矩阵&基本运算1.1矩阵的定义:矩阵是由\(m\timesn\)个数排成的数表。如以下矩阵:\[X=\begin{bmatrix}x_{11}&x_{12}&x_{13}&...&x_{1n}\\x_{21}&x_{22}&x_{23}&...&x_{2n}\\x_{31}&x_{32}&x_{......
  • 《线性代数》学习笔记
    \(\newcommand{\a}{\alpha}\newcommand{\b}{\beta}\newcommand{\la}{\lambda}\newcommand{\ga}{\gamma}\newcommand{\si}{\sigma}\newcommand{\al}{\mathcal}\newcommand{\sp}[1]{\operatorname{Span}(#1)}\newcommand{\di}[1]{\operatornam......
  • Unity Shader学习日记 part 3 线性代数--矩阵变换
            之前我们学到了矩阵的相关基础,了解矩阵使用了进行变幻的。可是在三维空间中我们不管是表示点还是向量,都是通过x,y,z来表示的。那我们如何在三维向量中,表示出来变换的呢?齐次坐标    齐次坐标:将原本的n维向量用n+1维来表示。    原因:1.不论是......
  • shader 线性代数 矩阵
               ......
  • 《C++与 Armadillo:线性代数助力人工智能算法简化之路》
    在人工智能领域,线性代数运算可谓是构建各类模型与算法的基石。从神经网络中的矩阵乘法、向量运算,到数据处理中的特征分解、奇异值分解等,无一不依赖高效且精准的线性代数计算。而C++作为一种强大且高效的编程语言,在人工智能开发中有着独特的地位。Armadillo库的出现,则为在......
  • 【线性代数】矩阵的初等变换与线性方程组
    线性代数第三章矩阵的初等变换与线性方程组\(\S1\)矩阵的初等变换定义1初等变换(i)对换两行;(ii)以数\(k(k\not=0)\)乘某一行中的所有元;(iii)把某一行所有元的\(k\)倍加到另一行对应的元上去。显然上述三种变换均为可逆变换。将上述的行改为列即可得到初等列变......