6.2 对角化矩阵(1)

devtools/2024/11/19 18:29:15/

一、对角化矩阵

x \boldsymbol x x A A A 的一个特征值时,则 A A A 乘上 x \boldsymbol x x 就是一个数字 λ \lambda λ x \boldsymbol x x A x = λ x A\boldsymbol x=\lambda \boldsymbol x Ax=λx,这样矩阵所带来的困难就不存在了,我们就不用处理一个相互联系的系统,只需要分开处理特征向量。就像对角矩阵一样,它没有非对角线上的联系。对角矩阵的 100 100 100 次方就很容易计算。
我们使用合适的特征向量将矩阵 A A A 转换成对角矩阵 Λ \Lambda Λ 这个矩阵的形式是关键的概念,我们先由一个重要的计算开始, A X = X Λ AX=X\Lambda AX=XΛ

对角化 \kern 10pt 假设 n × n n\times n n×n 的矩阵 A A A n n n 个线性无关的特征向量 x 1 , x 2 , ⋯ , x n \boldsymbol x_1,\boldsymbol x_2,\cdots,\boldsymbol x_n x1,x2,,xn。将它们放在特征向量矩阵(egienvector matrix) X \pmb X X 的列中,则 X − 1 A X X^{-1}AX X1AX 就是特征值矩阵(eigenvalue matrix) Λ \pmb{\Lambda} Λ 特征向量矩阵 X 特征值矩阵 Λ X − 1 A X = Λ = [ λ 1 ⋱ λ n ] ( 6.2.1 ) \begin{array}{l}\pmb{特征向量矩阵\,X}\\\pmb{特征值矩阵\,\Lambda}\end{array}\kern 20pt{\color{blue}X^{-1}AX=\Lambda=\begin{bmatrix}\lambda_1&&\\&\ddots\\&&\lambda_n\end{bmatrix}}\kern 18pt(6.2.1) 特征向量矩阵X特征值矩阵ΛX1AX=Λ= λ1λn (6.2.1)

矩阵 A A A 被 “对角化(diagonalized)”,我们使用大些的 Λ \Lambda Λ 表示特征值矩阵,因为小的 λ ′ s \lambda's λs(特征值)都在它的对角线上。

例1 A A A 是三角矩阵,所有它的特征值在对角线上: λ = 1 \lambda=1 λ=1 λ = 6 \lambda=6 λ=6 特征向量进到 X 中 [ 1 0 ] [ 1 1 ] [ 1 − 1 0 1 ] [ 1 5 0 6 ] [ 1 1 0 1 ] = [ 1 0 0 6 ] X − 1 A X = Λ \boxed{特征向量进到\,X\,中\,\begin{bmatrix}1\\0\end{bmatrix}\,\begin{bmatrix}1\\1\end{bmatrix}}\kern 10pt\begin{bmatrix}1&-1\\0&\kern 7pt1\end{bmatrix}\begin{bmatrix}\pmb1&\pmb5\\0&\pmb6\end{bmatrix}\begin{bmatrix}1&1\\0&1\end{bmatrix}=\begin{bmatrix}\pmb1&0\\0&\pmb6\end{bmatrix}\\\kern 140pt\color{blue}X^{-1}\kern 23ptA\kern 25ptX\kern 13pt=\kern 13pt\Lambda 特征向量进到X[10][11][1011][1056][1011]=[1006]X1AX=Λ换一种写法, A = X Λ X − 1 A=X\Lambda X^{-1} A=XΛX1,则 A 2 = X Λ X − 1 X Λ X − 1 A^2=X\Lambda X^{-1}X\Lambda X^{-1} A2=XΛX1XΛX1,所以 A 2 = X Λ 2 X − 1 \pmb{A^2=X\Lambda^2X^{-1}} A2=XΛ2X1 A 2 有和 X 中相同的特征向量,在 Λ 2 中是 A 的特征值的平方。 \pmb{A^2\,有和\,X\,中相同的特征向量,在\,\Lambda^2\,中是\,A\,的特征值的平方。} A2有和X中相同的特征向量,在Λ2中是A的特征值的平方。为什么 A X = X Λ AX=X\Lambda AX=XΛ 呢? A A A 乘上它的特征向量(特征向量就是 X X X 的列), A X AX AX 的第一列是 A x 1 A\boldsymbol x_1 Ax1,就是 λ 1 x 1 \lambda_1\boldsymbol x_1 λ1x1 X X X 的每一列都被它的特征值乘: A 乘 X A X = A [ x 1 ⋯ x n ] = [ λ 1 x 1 ⋯ λ n x n ] {\color{blue}A\,乘\,X}\kern 20ptAX=A\begin{bmatrix}\\\boldsymbol x_1&\cdots&\boldsymbol x_n\\\,\end{bmatrix}=\begin{bmatrix}\\\lambda_1\boldsymbol x_1&\cdots&\lambda_n\boldsymbol x_n\\\,\end{bmatrix} AXAX=A x1xn = λ1x1λnxn 技巧是将矩阵 A X AX AX 分割成 X X X Λ \Lambda Λ X 乘 Λ [ λ 1 x 1 ⋯ λ n x n ] = [ x 1 ⋯ x n ] [ λ 1 ⋱ λ n ] = X Λ {\color{blue}X\,乘\,\Lambda}\kern 20pt\begin{bmatrix}\\\lambda_1\boldsymbol x_1&\cdots&\lambda_n\boldsymbol x_n\\\,\end{bmatrix}=\begin{bmatrix}\\\boldsymbol x_1&\cdots&\boldsymbol x_n\\\,\end{bmatrix}\begin{bmatrix}\lambda_1\\&\ddots\\&&\lambda_n\end{bmatrix}=X\Lambda XΛ λ1x1λnxn = x1xn λ1λn =XΛ这些矩阵保持右序,则 λ 1 \lambda_1 λ1 乘第一列 x 1 \boldsymbol x_1 x1 即如上式。此时我们完成了对角化,我们可以将 A X = X Λ AX=X\Lambda AX=XΛ 写成两种方式:

A X = X Λ 可以写成 X − 1 A X = Λ 或 A = X Λ X − 1 ( 6.2.2 ) AX=X\Lambda\kern 10pt可以写成\kern 5pt{\color{blue}X^{-1}AX=\Lambda}\kern 5pt或\kern 5pt{\color{blue}A=X\Lambda X^{-1}}\kern 16pt(6.2.2) AX=XΛ可以写成X1AX=ΛA=XΛX1(6.2.2)

矩阵 X X X 有逆矩阵,因为它的列( A A A 的特征向量)刚开始我们假设是线性无关的,如果没有 n n n 个无关的特征向量,我们就无法对角化。
A A A Λ \Lambda Λ 有相同的特征值 λ 1 , λ 2 , ⋯ , λ n \lambda_1,\lambda_2,\cdots,\lambda_n λ1,λ2,,λn,它们的特征向量不同。原始的特征向量 x 1 , x 2 , ⋯ , x n \boldsymbol x_1,\boldsymbol x_2,\cdots,\boldsymbol x_n x1,x2,,xn 的工作就是对角化 A A A,这些在 X X X 中的特征向量得到 A = X Λ X − 1 A=X\Lambda X^{-1} A=XΛX1,这个式子简洁,但是它有重要意义。 第 k k k 次方是 A k = X Λ k X − 1 A^{k} = X\Lambda^kX^{-1} Ak=XΛkX1,这个很容易计算: A k = ( X Λ X − 1 ) ( X Λ X − 1 ) ⋯ ( X Λ X − 1 ) = X Λ k X − 1 \pmb{A^k=(X\Lambda X^{-1})(X\Lambda X^{-1})\cdots(X\Lambda X^{-1})=X\Lambda^kX^{-1}} Ak=(XΛX1)(XΛX1)(XΛX1)=XΛkX1 例 1 的幂 [ 1 5 0 6 ] k = [ 1 1 0 1 ] [ 1 6 k ] [ 1 − 1 0 1 ] = [ 1 6 k − 1 0 6 k ] = A k \pmb{例\,1\,的幂}\kern 15pt\begin{bmatrix}1&5\\0&6\end{bmatrix}^k=\begin{bmatrix}1&1\\0&1\end{bmatrix}\begin{bmatrix}1\\&6^k\end{bmatrix}\begin{bmatrix}1&-1\\0&\kern 7pt1\end{bmatrix}=\begin{bmatrix}\pmb1&\pmb{6^k-1}\\0&\pmb{6^k}\end{bmatrix}=A^k 1的幂[1056]k=[1011][16k][1011]=[106k16k]=Ak k = 1 k=1 k=1 时得到 A A A;当 k = 0 k=0 k=0 时得 A 0 = I A^0=I A0=I λ 0 = 1 \lambda^0=1 λ0=1);当 k = − 1 k=-1 k=1 时得到 A − 1 A^{-1} A1;当 k = 2 k=2 k=2 A 2 = [ 1 35 0 36 ] A^2=\begin{bmatrix}1&35\\0&36\end{bmatrix} A2=[103536] 这个公式都适用。
下面是关于 Λ \Lambda Λ 4 4 4 个小注解:

注解1: 假设特征值 λ 1 , λ 2 , ⋯ , λ n \lambda_1,\lambda_2,\cdots,\lambda_n λ1,λ2,,λn 都不相同,则 n n n 个特征向量 x 1 , x 2 , ⋯ , x n \boldsymbol x_1,\boldsymbol x_2,\cdots,\boldsymbol x_n x1,x2,,xn 会自动无关,特征向量矩阵 X X X 可逆。任何的没有重复特征值的矩阵 A A A 都可以对角化。

注解2: 我们可以用任意的非零常数乘上特征向量 A ( c x ) = λ ( c x ) A(c\boldsymbol x)=\lambda(c\boldsymbol x) A(cx)=λ(cx) 任然成立。例 1 1 1 中,我们可以将 x = ( 1 , 1 ) \boldsymbol x=(1,1) x=(1,1) 除以 2 \sqrt2 2 来生成一个单位向量。
MATLAB 和几乎所有的其它代码都是得到长度 ∣ ∣ x ∣ ∣ = 1 ||\boldsymbol x||=1 ∣∣x∣∣=1 的特征向量。

注解3: X X X 中的特征向量的顺序和 Λ \Lambda Λ 中特征值的顺序一样。要反转 Λ \Lambda Λ 的顺序,也要在 X X X 中将特征向量 ( 1 , 1 ) (1,1) (1,1) 放在 $(1,0) $ 前: 新顺序 6 , 1 [ 0 1 1 − 1 ] [ 1 5 0 6 ] [ 1 1 1 0 ] = [ 6 0 0 1 ] = Λ new \pmb{新顺序\,6,1}\kern 15pt\begin{bmatrix}0&\kern 7pt1\\1&-1\end{bmatrix}\begin{bmatrix}1&5\\0&6\end{bmatrix}\begin{bmatrix}1&1\\1&0\end{bmatrix}=\begin{bmatrix}6&0\\0&1\end{bmatrix}=\Lambda_{\pmb{\textrm{new}}} 新顺序6,1[0111][1056][1110]=[6001]=Λnew要对角化 A A A 一定要使用特征向量矩阵,由 X − 1 A X = Λ X^{-1}AX=\Lambda X1AX=Λ 可知 A X = X Λ AX=X\Lambda AX=XΛ,假设 X X X 的第一列是 x \boldsymbol x x,则 A X AX AX X Λ X\Lambda XΛ 的第一列是 A x A\boldsymbol x Ax λ 1 x \lambda_1\boldsymbol x λ1x,要想它们相等,则 x \boldsymbol x x 一定要是特征向量。

注解4:(重复特征值的重复警告)有些矩阵的特征向量很少,这种矩阵无法对角化,下面是两个示例: 无法对角化 A = [ 1 − 1 1 − 1 ] 和 B = [ 0 1 0 1 ] \pmb{无法对角化}\kern 15ptA=\begin{bmatrix}1&-1\\1&-1\end{bmatrix}\kern 5pt和\kern 5ptB=\begin{bmatrix}0&1\\0&1\end{bmatrix} 无法对角化A=[1111]B=[0011]它们的特征值恰好都是 0 0 0 0 0 0 λ = 0 \lambda=0 λ=0 并没有什么特殊的,它们的问题是 λ \lambda λ 的重复,第一个矩阵所有的特征向量都是 ( 1 , 1 ) (1,1) (1,1) 的倍数: 特征向量只有一条直线 A x = 0 x 表示 [ 1 − 1 1 − 1 ] [ x ] = [ 0 0 ] 且 x = c [ 1 1 ] \pmb{特征向量只有一条直线}\kern 6ptA\boldsymbol x=0\boldsymbol x\kern 3pt表示\kern 3pt\begin{bmatrix}1&-1\\1&-1\end{bmatrix}\Big[\boldsymbol x\Big]=\begin{bmatrix}0\\0\end{bmatrix}且\kern 3pt\boldsymbol x=c\begin{bmatrix}1\\1\end{bmatrix} 特征向量只有一条直线Ax=0x表示[1111][x]=[00]x=c[11]并没有第二个方向的特征向量,所有这个不同寻常的矩阵 A A A 无法对角化。
这些矩阵是用来判断关于特征向量叙述的最佳例子,在很多判断问题中,无法对角化的矩阵会得到错误的结果。
注意可逆与可对角化之间没有什么联系:

  • 可逆性特征值有关( λ = 0 \lambda=0 λ=0 λ ≠ 0 \lambda\neq0 λ=0
  • 可对角化特征向量相关( X X X 中的特征向量是否足够)

每个特征值至少有一个特征向量! A − λ I A-\lambda I AλI 是奇异的,如果 ( A − λ I ) x = 0 (A-\lambda I)\boldsymbol x=\boldsymbol 0 (AλI)x=0 可以得到 x = 0 \boldsymbol x=\boldsymbol 0 x=0,则 λ \lambda λ 不是特征值。这说明在求解 det ⁡ ( A − λ I ) = 0 \det(A-\lambda I)=0 det(AλI)=0 时出现了错误。

不同的 λ \lambda λ 有无关的 x \boldsymbol x x \kern 8pt 全部不相同的特征值对应的特征向量 x 1 , x 2 , ⋯ , x j \boldsymbol x_1,\boldsymbol x_2,\cdots,\boldsymbol x_j x1,x2,,xj 都是线性无关的。任意的 n × n n\times n n×n 矩阵有 n n n 个不同的特征值(没有重复的 λ ′ s \lambda's λs)一定可以对角化。

证明: 假设 c 1 x 1 + c 2 x 2 = 0 c_1\boldsymbol x_1+c_2\boldsymbol x_2=\boldsymbol 0 c1x1+c2x2=0。左乘 A A A 得到 c 1 λ 1 x 1 + c 2 λ 2 x 2 = 0 c_1\lambda_1\boldsymbol x_1+c_2\lambda_2\boldsymbol x_2=\boldsymbol 0 c1λ1x1+c2λ2x2=0,用 λ 2 \lambda_2 λ2 乘得到 c 1 λ 2 x 1 + c 2 λ 2 x 2 = 0 c_1\lambda_2\boldsymbol x_1+c_2\lambda_2\boldsymbol x_2=\boldsymbol 0 c1λ2x1+c2λ2x2=0,然后将两式相减: 相减得到 ( λ 1 − λ 2 ) c 1 x 1 = 0 因此 c 1 = 0 相减得到\kern 10pt(\lambda_1-\lambda_2)c_1\boldsymbol x_1=\boldsymbol 0\kern 12pt因此\kern 2ptc_1=0 相减得到(λ1λ2)c1x1=0因此c1=0由于 λ ′ s \lambda's λs 都不相同且 x 1 ≠ 0 \boldsymbol x_1\neq\boldsymbol 0 x1=0,所有我们可以得到 c 1 = 0 c_1=0 c1=0。同理可得 c 2 = 0 c_2=0 c2=0。只有组合 c 1 = c 2 = 0 c_1=c_2=0 c1=c2=0 可以得到 c 1 x 1 + c 2 x 2 = 0 c_1\boldsymbol x_1+c_2\boldsymbol x_2=\boldsymbol 0 c1x1+c2x2=0,所以特征向量 x 1 \boldsymbol x_1 x1 x 2 \boldsymbol x_2 x2 一定是无关的。
这个证明可以直接扩展到 j j j 个特征向量,假设 c 1 x 1 + c 2 x 2 + ⋯ + c j x j = 0 c_1\boldsymbol x_1+c_2\boldsymbol x_2+\cdots+c_j\boldsymbol x_j=\boldsymbol 0 c1x1+c2x2++cjxj=0 A A A 乘上式,然后 λ j \lambda_j λj 乘上式,得到的两个式子相减,则 x j \boldsymbol x_j xj 的系数是 λ j − λ j = 0 \lambda_j-\lambda_j=0 λjλj=0,所以可以消去 x j \boldsymbol x_j xj;然后分别用 A A A λ j − 1 \lambda_{j-1} λj1 乘得到的式子再相减,就可以消去 x j − 1 \boldsymbol x_{j-1} xj1,最终只剩下 x 1 \boldsymbol x_1 x1 我们得到 ( λ 1 − λ 2 ) ( λ 1 − λ 3 ) ⋯ ( λ 1 − λ j ) c 1 x 1 = 0 一定有 c 1 = 0 ( 6.2.3 ) 我们得到\kern 10pt(\lambda_1-\lambda_2)(\lambda_1-\lambda_3)\cdots(\lambda_1-\lambda_j)c_1\boldsymbol x_1=\boldsymbol 0\kern 5pt一定有\kern 5ptc_1=0\kern 15pt(6.2.3) 我们得到(λ1λ2)(λ1λ3)(λ1λj)c1x1=0一定有c1=0(6.2.3)同理可得每个 c i = 0 c_i=0 ci=0,当所有的 λ ′ s \lambda's λs 都不相等,特征向量无关。所有的特征向量构成特征向量矩阵 X X X 的列。

例2 A 的幂 \pmb{A\,的幂}\kern 9pt A的幂马尔可夫矩阵 A = [ 0.8 0.3 0.2 0.7 ] A=\begin{bmatrix}0.8&0.3\\0.2&0.7\end{bmatrix} A=[0.80.20.30.7] 的特征值 λ 1 = 1 \lambda_1=1 λ1=1 λ 2 = 0.5 \lambda_2=0.5 λ2=0.5 A = X Λ X − 1 A=X\Lambda X^{-1} A=XΛX1 使得这些特征值在 Λ \Lambda Λ 的对角线上: 马尔可夫例子 [ 0.8 0.3 0.2 0.7 ] = [ 0.6 1 0.4 − 1 ] [ 1 0 0 0.5 ] [ 1 1 0.4 − 0.6 ] = X Λ X − 1 \pmb{马尔可夫例子}\kern 10pt\begin{bmatrix}0.8&0.3\\0.2&0.7\end{bmatrix}=\begin{bmatrix}0.6&\kern 7pt1\\0.4&-1\end{bmatrix}\begin{bmatrix}1&0\\0&0.5\end{bmatrix}\begin{bmatrix}1&1\\0.4&-0.6\end{bmatrix}=X\Lambda X^{-1} 马尔可夫例子[0.80.20.30.7]=[0.60.411][1000.5][10.410.6]=XΛX1特征向量 ( 0.6 , 0.4 ) (0.6,0.4) (0.6,0.4) ( 1 , − 1 ) (1,-1) (1,1) X X X 的列,它们也是 A 2 A^2 A2 的特征向量。 A 2 A^2 A2 有同样的 X X X A 2 A^2 A2 的特征向量矩阵是 Λ 2 \Lambda^2 Λ2

A 2 A^2 A2 有相同的 X X\kern 15pt X A 2 = X Λ X − 1 X Λ X − 1 = X Λ 2 X − 1 ( 6.2.4 ) {\color{blue}A^2}=X\Lambda X^{-1}X\Lambda X^{-1}={\color{blue}X\Lambda^2 X^{-1}}\kern 20pt(6.2.4) A2=XΛX1XΛX1=XΛ2X1(6.2.4)

保持这个形式,就可以看到为什么高次幂 A k A^k Ak 趋近一个 “稳定状态”: A 的幂 A k = X Λ k X − 1 = [ 0.6 1 0.4 − 1 ] [ 1 k 0 0 ( 0.5 ) k ] [ 1 1 0.4 − 0.6 ] \pmb{A\,的幂}\kern 25ptA^k=X\Lambda^kX^{-1}=\begin{bmatrix}0.6&\kern 7pt1\\0.4&-1\end{bmatrix}\begin{bmatrix}1^k&0\\0&(0.5)^k\end{bmatrix}\begin{bmatrix}1&1\\0.4&-0.6\end{bmatrix} A的幂Ak=XΛkX1=[0.60.411][1k00(0.5)k][10.410.6] k k k 变大, ( 0.5 ) k (0.5)^k (0.5)k 变小,极限时会消失,这个极限就是 A ∞ A^\infty A 极限 k → ∞ A ∞ = [ 0.6 1 0.4 − 1 ] [ 1 0 0 0 ] [ 1 1 0.4 − . 6 ] = [ 0.6 0.6 0.4 0.4 ] \pmb{极限\,k\rightarrow\infty}\kern 20ptA^\infty=\begin{bmatrix}0.6&1\\0.4&-1\end{bmatrix}\begin{bmatrix}1&0\\0&0\end{bmatrix}\begin{bmatrix}1&1\\0.4&-.6\end{bmatrix}=\begin{bmatrix}0.6&0.6\\0.4&0.4\end{bmatrix} 极限kA=[0.60.411][1000][10.41.6]=[0.60.40.60.4]这个极限的两个列都是特征向量 x 1 \boldsymbol x_1 x1

问题 什么时候 A k → 零矩阵 答案 所有的 ∣ λ ∣ < 1 {\color{blue}问题}\kern 5pt\boxed{什么时候 A^k\rightarrow 零矩阵}\kern 15pt{\color{blue}答案}\kern 5pt\boxed{所有的\,|\lambda|<1} 问题什么时候Ak零矩阵答案所有的λ<1

二、相似矩阵:相同的特征值

假设特征值矩阵 Λ \Lambda Λ 固定,随着特征向量矩阵 X X X 的改变,我们得到一整个家族里的不同矩阵 A = X Λ X − 1 A=X\Lambda X^{-1} A=XΛX1 —— 它们都和 Λ \Lambda Λ 有相同的特征值。所有的这些矩阵 A A A(有相同的 Λ \Lambda Λ)称为相似(similar)。
这个概念可以扩展至无法对角化的矩阵,我们选择一个常数矩阵(不需要是 Λ \Lambda Λ),我们观察一下这整个家族的矩阵 A = B C B − 1 \pmb{A=BCB^{-1}} A=BCB1,这里任意的可逆矩阵 B B B 都可以,同样有 A A A C C C 相似
我们用 C C C 代替 Λ \Lambda Λ,因为 C C C 不一定是对角矩阵;用 B B B 代替 X X X,因为 B B B 的列不一定是特征向量。我们只需要 B B B 是可逆的 —— 它的列可以是 R n \pmb{\textrm R}^n Rn 的任意一组基。只要满足这些条件的就是相似矩阵。相似矩阵 A A A C C C 有相同的特征值。

所有的矩阵 A = B C B − 1 A=BCB^{-1} A=BCB1 都是 “相似” 的,它们和 C C C 有相同的特征值。

证明: 假设 C x = λ x C\boldsymbol x=\lambda\boldsymbol x Cx=λx,则 B C B − 1 BCB^{-1} BCB1 有相同的特征值 λ \lambda λ 和新的特征向量 B x B\boldsymbol x Bx 相同的 λ ( B C B − 1 ) ( B x ) = B C x = B λ x = λ ( B x ) ( 6.2.5 ) \pmb{相同的\,\lambda}\kern 20pt(BCB^{-1})(B\boldsymbol x)=BC\boldsymbol x=B\lambda\boldsymbol x=\lambda(B\boldsymbol x)\kern 17pt(6.2.5) 相同的λ(BCB1)(Bx)=BCx=Bλx=λ(Bx)(6.2.5)一个固定的矩阵 C C C 可以生成一个家族的相似矩阵 B C B − 1 BCB^{-1} BCB1 B B B 是任意的可逆矩阵。当 C C C 是单位矩阵时,这个家族很小,唯一的成员是 B I B − 1 = I BIB^{-1}=I BIB1=I,单位矩阵是唯一的所有的特征值 λ = 1 \lambda=1 λ=1 且可以对角化的矩阵。
λ = 1 \lambda=1 λ=1 1 1 1 但是只有一个特征向量(无法对角化)时,这个家族会大一些。最简单的 C C C 是若尔当形(Jordan form)。所有相似的 A ′ s A's As 有两个参数 r r r s s s,它们不同时为零:总是有行列式 det ⁡ = 1 \det=1 det=1 和迹 t r a c e = 2 trace=2 trace=2 C = [ 1 1 0 1 ] = 若尔当形得到的 A = B C B − 1 = [ 1 − r s r 2 − s 2 1 + r s ] ( 6.2.6 ) C=\begin{bmatrix}\pmb1&\pmb1\\0&\pmb1\end{bmatrix}=若尔当形得到的\,A=BCB^{-1}=\begin{bmatrix}1-rs&r^2\\-s^2&1+rs\end{bmatrix}\kern 13pt(6.2.6) C=[1011]=若尔当形得到的A=BCB1=[1rss2r21+rs](6.2.6)另一个重要的例子是 λ = 1 \lambda=1 λ=1 0 0 0,这是不重复的两个特征值。则现在的整个家族都可以对角化,且有相同的特征值矩阵 Λ \Lambda Λ。我们得到任意的 2 × 2 2\times2 2×2 的矩阵特征值都是 1 1 1 0 0 0,迹是 1 1 1 且行列式为零: 所有的相似矩阵 Λ = [ 1 0 0 0 ] A = [ 1 1 0 0 ] 或 A = [ 0.5 0.5 0.5 0.5 ] 或 任意的 A = x y T x T y \pmb{所有的相似矩阵}\kern 10pt\Lambda=\begin{bmatrix}\pmb1&0\\0&\pmb0\end{bmatrix}\kern 10ptA=\begin{bmatrix}1&1\\0&0\end{bmatrix}\,或\,A=\begin{bmatrix}0.5&0.5\\0.5&0.5\end{bmatrix}\,或\,任意的\,A=\frac{\boldsymbol x\boldsymbol y^T}{\boldsymbol x^T\boldsymbol y} 所有的相似矩阵Λ=[1000]A=[1010]A=[0.50.50.50.5]任意的A=xTyxyT这个家族包含所有的 A 2 = A A^2=A A2=A 的矩阵、包含当 B = I B=I B=I 时的 A = Λ A=\Lambda A=Λ。当 A A A 对称时这些也是投影矩阵。特征值 1 1 1 0 0 0 让生活变得简单。

三、斐波那契数

斐波那契数(Fibonacci Numbers)是很著名的数列,特征值可以告诉我们斐波那契数是如何快速增长的。每个新的斐波那契数都是前两个斐波那契数 F ′ s F's Fs 的和:

序列 0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , ⋯ \kern 8pt\color{blue}0,1,1,2,3,5,8,13,\cdots\kern 10pt 0,1,1,2,3,5,8,13,来自于 F k + 2 = F k + 1 + F k \kern 10pt\color{blue}F_{k+2}=F_{k+1}+F_k Fk+2=Fk+1+Fk

这些数字会以各种神奇的方式出现。植物和树是以螺旋形式生长的,如果把位于枝干或茎的周围的同一方向的最近的两片叶子作为周期的开始和结束,这个周期中的叶子会沿着枝干或茎绕很多圈。梨树有 8 8 8 片叶子共绕 3 3 3 圈,柳树有 13 13 13 片叶子绕 5 5 5 圈。而向日葵花盘的螺旋线也符合斐波那契数,比较大的向日葵逆顺螺旋线有 144 144 144 233 233 233 个,这是斐波那契数列中的 F 12 F_{12} F12 F 13 F_{13} F13。我们的问题比较基础。
问题:求出斐波那契数 F 100 \pmb{F_{100}} F100 使用公式 F k + 2 = F k + 1 + F k F_{k+2}=F_{k+1}+F_{k} Fk+2=Fk+1+Fk 一步一步的计算是很慢的方法。将 F 6 = 8 F_6=8 F6=8 加上 F 7 = 13 F_7=13 F7=13 可以得到 F 8 = 21 F_8=21 F8=21,最终可以求得 F 100 F_{100} F100。但是线性代数提供了更好的方法。
关键是由一个矩阵方程 u k + 1 = A u k \boldsymbol u_{k+1}=A\boldsymbol u_{k} uk+1=Auk 开始,这是第一步。第二步我们将两个斐波那契数放在一个向量中来应用适配这些规则,就可以得到矩阵 A A A

u k = [ F k + 1 F k ] \kern 8pt{\color{blue}\boldsymbol u_k=\begin{bmatrix}F_{k+1}\\\\F_k\end{bmatrix}}\kern 5pt uk= Fk+1Fk 规则 F k + 2 = F k + 1 + F k F k + 1 = F k + 1 \begin{array}{l}F_{k+2}=F_{k+1}+F_k\\F_{k+1}=F_{k+1}\end{array}\kern 5pt Fk+2=Fk+1+FkFk+1=Fk+1 就是 u k + 1 = [ 1 1 1 0 ] u k \kern 5pt\color{blue}\boldsymbol u_{k+1}=\begin{bmatrix}1&1\\\\1&0\end{bmatrix}\boldsymbol u_k uk+1= 1110 uk ( 6.2.7 ) \kern 60pt(6.2.7) (6.2.7)

每一步左乘 A = [ 1 1 1 0 ] A=\begin{bmatrix}1&1\\1&0\end{bmatrix} A=[1110] 100 100 100 步后就可以得到 u 100 = A 100 u 0 \boldsymbol u_{100}=A^{100}\boldsymbol u_0 u100=A100u0 u 0 = [ 1 0 ] , u 1 = [ 1 1 ] , u 2 = [ 2 1 ] , u 3 = [ 3 2 ] , ⋯ , u 100 = [ F 101 F 100 ] \boldsymbol u_0=\begin{bmatrix}1\\0\end{bmatrix},\boldsymbol u_1=\begin{bmatrix}1\\1\end{bmatrix},\boldsymbol u_2=\begin{bmatrix}2\\1\end{bmatrix},\boldsymbol u_3=\begin{bmatrix}3\\2\end{bmatrix},\cdots,\boldsymbol u_{100}=\begin{bmatrix}F_{101}\\F_{100}\end{bmatrix} u0=[10],u1=[11],u2=[21],u3=[32],,u100=[F101F100]这个问题就变成了特征值问题,从 A A A 的对角线减去 λ \lambda λ 得: A − λ I = [ 1 − λ 1 1 − λ ] 得 det ⁡ ( A − λ I ) = λ 2 − λ − 1 A-\lambda I=\begin{bmatrix}1-\lambda&1\\1&-\lambda\end{bmatrix}\kern 10pt得\kern 10pt\det(A-\lambda I)=\lambda^2-\lambda-1 AλI=[1λ11λ]det(AλI)=λ2λ1方程 λ 2 − λ − 1 = 0 \lambda^2-\lambda-1=0 λ2λ1=0 由求根公式 − b ± b 2 − 4 a c 2 a \displaystyle\frac{-b±\sqrt{b^2-4ac}}{2a} 2ab±b24ac 可以解出两个特征值: 特征值 λ 1 = 1 + 5 2 ≈ 1.618 和 λ 2 = 1 − 5 2 ≈ − 0.618 \pmb{特征值}\kern 10pt{\color{blue}\lambda_1=\frac{1+\sqrt5}{2}\approx1.618}\kern 4pt和\kern 4pt{\color{blue}\lambda_2=\frac{1-\sqrt5}{2}\approx-0.618} 特征值λ1=21+5 1.618λ2=215 0.618由特征值可以求得特征向量 x 1 = ( λ 1 , 1 ) \boldsymbol x_1=(\lambda_1,1) x1=(λ1,1) x 2 = ( λ 2 , 1 ) \boldsymbol x_2=(\lambda_2,1) x2=(λ2,1),然后找出得到 u 0 = ( 1 , 0 ) \boldsymbol u_0=(1,0) u0=(1,0) 的特征向量的组合: [ 1 0 ] = 1 λ 1 − λ 2 ( [ λ 1 1 ] − [ λ 2 1 ] ) 或 u 0 = x 1 − x 2 λ 1 − λ 2 ( 6.2.8 ) \begin{bmatrix}1\\0\end{bmatrix}=\frac{1}{\lambda_1-\lambda_2}\Big(\begin{bmatrix}\lambda_1\\1\end{bmatrix}-\begin{bmatrix}\lambda_2\\1\end{bmatrix}\Big)\kern 3pt或\kern 3pt\boldsymbol u_0=\frac{\boldsymbol x_1-\boldsymbol x_2}{\lambda_1-\lambda_2}\kern 20pt(6.2.8) [10]=λ1λ21([λ11][λ21])u0=λ1λ2x1x2(6.2.8)第三步是 u 0 \boldsymbol u_0 u0 左乘 A 100 A^{100} A100 得到 u 100 \boldsymbol u_{100} u100,特征向量 x 1 \boldsymbol x_1 x1 x 2 \boldsymbol x_2 x2 仍然分开,分别用 ( λ 1 ) 100 (\lambda_1)^{100} (λ1)100 ( λ 2 ) 100 (\lambda_2)^{100} (λ2)100 乘上它们: 来自 u 0 的第 100 步 u 100 = ( λ 1 ) 100 x 1 − ( λ 2 ) 100 x 2 λ 1 − λ 2 ( 6.2.9 ) \pmb{来自\,\boldsymbol u_0\,的第\,100\,步}\kern 20pt{\color{blue}\boldsymbol u_{100}=\frac{(\lambda_1)^{100}\boldsymbol x_1-(\lambda_2)^{100}\boldsymbol x_2}{\lambda_1-\lambda_2}}\kern 15pt(6.2.9) 来自u0的第100u100=λ1λ2(λ1)100x1(λ2)100x2(6.2.9)我们需要的 F 100 F_{100} F100 等于 u 100 \boldsymbol u_{100} u100 的第二个分量, x 1 \boldsymbol x_1 x1 x 2 \boldsymbol x_2 x2 的第二分量都是 1 1 1 λ 1 = 1 + 5 2 \lambda_1=\displaystyle\frac{1+\sqrt5}{2} λ1=21+5 λ 2 = 1 − 5 2 \lambda_2=\displaystyle\frac{1-\sqrt5}{2} λ2=215 的差是 5 \sqrt5 5 ,且 λ 2 100 ≈ 0 \lambda_2^{100}\approx0 λ21000 第 100 个斐波那契数 = λ 1 100 − λ 2 100 λ 1 − λ 2 = 最接近 1 5 ( 1 + 5 2 ) 100 的整数 ( 2.6.10 ) 第\,100\,个斐波那契数=\frac{\lambda^{100}_1-\lambda^{100}_2}{\lambda_1-\lambda_2}=最接近\,\frac{1}{\sqrt5}\Big(\frac{1+\sqrt5}{2}\Big)^{100}\,的整数\kern 12pt(2.6.10) 100个斐波那契数=λ1λ2λ1100λ2100=最接近5 1(21+5 )100的整数(2.6.10)每个 F k F_k Fk 都是整数,比值 F 101 / F 100 F_{101}/F_{100} F101/F100 非常接近比值 ( 1 + 5 ) / 2 (1+\sqrt5)/2 (1+5 )/2。希腊人称这个数是 “黄金分割(golden mean)”,因为某些原因,矩阵的边长比例是 1.618 1.618 1.618 1 1 1 时会非常优美。
由特征值我们可以求得斐波那契数的通项公式 F n = 1 5 [ ( 1 + 5 2 ) n − ( 1 − 5 2 ) n ] F_n=\displaystyle\frac{1}{\sqrt5}\Big[\Big(\frac{1+\sqrt5}{2}\Big)^{n}-\Big(\frac{1-\sqrt5}{2}\Big)^{n}\Big] Fn=5 1[(21+5 )n(215 )n],第 100 100 100 项是 F 100 = 354224848179261915075 F_{100}=354224848179261915075 F100=354224848179261915075

四、矩阵的幂 A k A^k Ak

斐波那契的例子是典型的差分方程 u k + 1 = A u k \boldsymbol u_{k+1}=A\boldsymbol u_k uk+1=Auk每步都左乘 A A A 解是 u k = A k u 0 \boldsymbol u_k=A^k\boldsymbol u_0 uk=Aku0。我们要在三步内使用对角化矩阵快速计算 A k A^k Ak u k \boldsymbol u_k uk
特征向量矩阵 X X X 可以得到 A = X Λ X − 1 A=X\Lambda X^{-1} A=XΛX1,这也是矩阵的一种分解,就像 A = L U A=LU A=LU A = Q R A=QR A=QR 分解一样。新的分解方法很适合计算矩阵的幂,因为每次 X − 1 X^{-1} X1 X X X 都会得到 I I I A 的幂 A k u 0 = ( X Λ X − 1 ) ( X Λ X − 1 ) ⋯ ( X Λ X − 1 ) u 0 = X Λ k X − 1 u 0 \pmb{A\,的幂}\kern 8ptA^k\boldsymbol u_0=(X\Lambda X^{-1})(X\Lambda X^{-1})\cdots(X\Lambda X^{-1})\boldsymbol u_0=X\Lambda^k X^{-1}\boldsymbol u_0 A的幂Aku0=(XΛX1)(XΛX1)(XΛX1)u0=XΛkX1u0下面将 X Λ k X − 1 u 0 X\Lambda^kX^{-1}\boldsymbol u_0 XΛkX1u0 分解成三步,以展示其中特征值是如何起作用的:

  1. 将 u 0 写成特征向量的组合 c 1 x 1 + c 2 x 2 + ⋯ + c n x n \color{blue}将\, \boldsymbol u_0 写成特征向量的组合 c_1\boldsymbol x_1+c_2\boldsymbol x_2+\cdots+c_n\boldsymbol x_n u0写成特征向量的组合c1x1+c2x2++cnxn。则 c = X − 1 u 0 \boldsymbol c=X^{-1}\boldsymbol u_0 c=X1u0
  2. 每个特征向量 x i 乘上 ( λ i ) k \color{blue}每个特征向量\,\boldsymbol x_i\,乘上\,(\lambda_i)^k 每个特征向量xi乘上(λi)k。现在我们有 Λ k X − 1 u 0 = Λ k c \Lambda^kX^{-1}\boldsymbol u_0=\Lambda^k\boldsymbol c ΛkX1u0=Λkc c = X − 1 X c \boldsymbol c=X^{-1}X\boldsymbol c c=X1Xc 中的特征向量矩阵 X X X 中的 x i \boldsymbol x_i xi 每个乘上 ( λ i ) k (\lambda_i)^k (λi)k,即得到 Λ k c \Lambda^k\boldsymbol c Λkc
  3. 将每一部分的 c i ( λ i ) k x i 加起来求出解 u k = A k u 0 \color{blue}将每一部分的\,c_i(\lambda_i)^k\boldsymbol x_i\,加起来求出解\,\boldsymbol u_k=A^k\boldsymbol u_0 将每一部分的ci(λi)kxi加起来求出解uk=Aku0。这个就是 X Λ k X − 1 u 0 X\Lambda^k X^{-1}\boldsymbol u_0 XΛkX1u0

u k + 1 = A u k 的解 u k = A k u 0 = c 1 ( λ 1 ) k x 1 + c 2 ( λ 2 ) k x 2 + ⋯ + c n ( λ n ) k x n ( 6.2.11 ) \boldsymbol u_{k+1}=A\boldsymbol u_k\,\boldsymbol{的解}\kern 20pt{\color{blue}\boldsymbol u_k=A^k\boldsymbol u_0=c_1(\lambda_1)^k\boldsymbol x_1+c_2(\lambda_2)^k\boldsymbol x_2+\cdots+c_n(\lambda_n)^k\boldsymbol x_n}\kern 15pt(6.2.11) uk+1=Auk的解uk=Aku0=c1(λ1)kx1+c2(λ2)kx2++cn(λn)kxn(6.2.11)

使用矩阵语言 A k A^k Ak 等于 ( X Λ X − 1 ) k (X\Lambda X^{-1})^k (XΛX1)k 就是 X X X Λ k \Lambda^k Λk X − 1 X^{-1} X1。在步骤 1 1 1 中, X X X 中的特征向量得到组合 u 0 = c 1 x 1 + c 2 x 2 + ⋯ + c n x n \boldsymbol u_0=c_1\boldsymbol x_1+c_2\boldsymbol x_2+\cdots+c_n\boldsymbol x_n u0=c1x1+c2x2++cnxn 中的 c ′ s c's cs 步骤 1 u 0 = [ x 1 ⋯ x n ] [ c 1 ⋮ c n ] ,这个就是 u 0 = X c ( 6.2.12 ) \boldsymbol{步骤\,1}\kern 10pt\boldsymbol u_0=\begin{bmatrix}\,\\\boldsymbol x_1&\cdots&\boldsymbol x_n\\\,\end{bmatrix}\begin{bmatrix}c_1\\\vdots\\c_n\end{bmatrix},这个就是\,{\color{blue}\boldsymbol u_0=X\boldsymbol c}\kern 15pt(6.2.12) 步骤1u0= x1xn c1cn ,这个就是u0=Xc(6.2.12)步骤 1 1 1 的系数是 c = X − 1 u 0 \boldsymbol c=X^{-1}\boldsymbol u_0 c=X1u0。然后步骤 2 2 2 左乘 Λ k \Lambda^k Λk,最终的结果是步骤 3 3 3 u k = ∑ c i ( λ i ) k x i \boldsymbol u_k=\sum c_i(\lambda_i)^k\boldsymbol x_i uk=ci(λi)kxi,这个就是 X X X Λ k \Lambda^k Λk X − 1 u 0 X^{-1}\boldsymbol u_0 X1u0 的乘积: A k u 0 = X Λ k X − 1 u 0 = X Λ k c = [ x 1 ⋯ x n ] [ ( λ 1 ) k ⋱ ( λ n ) k ] [ c 1 ⋮ c n ] ( 6.2.13 ) {\color{blue}A^k\boldsymbol u_0}=X\Lambda^kX^{-1}\boldsymbol u_0=X\Lambda^k\boldsymbol c=\begin{bmatrix}\\\color{blue}\boldsymbol x_1&\color{blue}\cdots&\color{blue}\boldsymbol x_n\\\,\end{bmatrix}\begin{bmatrix}\color{blue}(\lambda_1)^k\\\,&\color{blue}\ddots\\\,&&\color{blue}(\lambda_n)^k\end{bmatrix}\begin{bmatrix}\color{blue}c_1\\\color{blue}\vdots\\\color{blue}c_n\end{bmatrix}\kern 15pt(6.2.13) Aku0=XΛkX1u0=XΛkc= x1xn (λ1)k(λn)k c1cn (6.2.13)这个结果就是 u k = c 1 ( λ 1 ) k x 1 + c 2 ( λ 2 ) k x 2 + ⋯ + c n ( λ n ) k x n \boldsymbol u_k=c_1(\lambda_1)^k\boldsymbol x_1+c_2(\lambda_2)^k\boldsymbol x_2+\cdots+c_n(\lambda_n)^k\boldsymbol x_n uk=c1(λ1)kx1+c2(λ2)kx2++cn(λn)kxn,它是 u k + 1 = A u k \boldsymbol u_{k+1}=A\boldsymbol u_k uk+1=Auk 的解。

例3】从 u 0 = ( 1 , 0 ) \boldsymbol u_0=(1,0) u0=(1,0) 开始,计算这个快速斐波那契数的 A k u 0 A^k\boldsymbol u_0 Aku0 A = [ 1 2 1 0 ] 有 λ 1 = 2 , x 1 = [ 2 1 ] 和 λ 2 = − 1 , x 2 = [ 1 − 1 ] A=\begin{bmatrix}1&2\\1&0\end{bmatrix}有\,\lambda_1=\pmb2,\kern 3pt\boldsymbol x_1=\begin{bmatrix}2\\1\end{bmatrix}和\,\lambda_2=\pmb{-1},\kern 3pt\boldsymbol x_2=\begin{bmatrix}\kern 7pt1\\-1\end{bmatrix} A=[1120]λ1=2,x1=[21]λ2=1,x2=[11]这个矩阵很像斐波那契数,只是规则改为了 F k + 2 = F k + 1 + 2 F k F_{k+2}=F_{k+1}+\pmb2F_k Fk+2=Fk+1+2Fk,新的数列从 0 , 1 , 1 , 3 0,1,1,3 0,1,1,3 开始,由于 λ = 2 \lambda=2 λ=2,所有它们增长的比斐波那契数要更快。

用 3 步求出 u k = A k u 0 u 0 = c 1 x 1 + c 2 x 2 和 u k = c 1 ( λ 1 ) k x 1 + c 2 ( λ 2 ) k x 2 \pmb 用 \,3\,\pmb{步求出}\,\boldsymbol u_k=A^k\boldsymbol u_0\kern 10pt\boldsymbol u_0=c_1\boldsymbol x_1+c_2\boldsymbol x_2\,和\,\boldsymbol u_k=c_1(\lambda_1)^k\boldsymbol x_1+c_2(\lambda_2)^k\boldsymbol x_2 3步求出uk=Aku0u0=c1x1+c2x2uk=c1(λ1)kx1+c2(λ2)kx2 步骤 1 u 0 = [ 1 0 ] = 1 3 [ 2 1 ] + 1 3 [ 1 − 1 ] , 所以 c 1 = c 2 = 1 3 步骤 2 分别左乘两部分 ( λ 1 ) k = 2 k 和 ( λ 2 ) k = ( − 1 ) k 步骤 3 组合特征向量 c 1 ( λ 1 ) k x 1 和 c 2 ( λ 2 ) k x 2 得到 u k : u k = A k u 0 u k = 1 3 2 k [ 2 1 ] + 1 3 ( − 1 ) k [ 1 − 1 ] = [ F k + 1 F k ] \begin{array}{l}\boldsymbol{步骤\,1}\kern 15pt\boldsymbol u_0=\begin{bmatrix}1\\0\end{bmatrix}=\displaystyle\frac{1}{3}\begin{bmatrix}2\\1\end{bmatrix}+\frac{1}{3}\begin{bmatrix}\kern 7pt1\\-1\end{bmatrix},\kern 5pt所以\,c_1=c_2=\frac{1}{3}\\\,\\\boldsymbol{步骤\,2}\kern 15pt分别左乘两部分\,(\lambda_1)^k=2^k\,和\,(\lambda_2)^k=(-1)^k\\\,\\\boldsymbol{步骤3}\kern 15pt组合特征向量\,c_1(\lambda_1)^k\boldsymbol x_1\,和\,c_2(\lambda_2)^k\boldsymbol x_2\,得到\,\boldsymbol u_k:\end{array}\\\,\\\boldsymbol u_k=A^k\boldsymbol u_0\kern 15pt\boldsymbol u_k=\frac{1}{3}2^k\begin{bmatrix}2\\1\end{bmatrix}+\frac{1}{3}(-1)^k\begin{bmatrix}\kern 7pt1\\-1\end{bmatrix}=\begin{bmatrix}F_{k+1}\\F_k\end{bmatrix} 步骤1u0=[10]=31[21]+31[11],所以c1=c2=31步骤2分别左乘两部分(λ1)k=2k(λ2)k=(1)k步骤3组合特征向量c1(λ1)kx1c2(λ2)kx2得到uk:uk=Aku0uk=312k[21]+31(1)k[11]=[Fk+1Fk]新的数是 F k = 2 k − ( − 1 ) k 3 F_k=\displaystyle\frac{2^k-(-1)^k}{3} Fk=32k(1)k,在 0 , 1 , 1 , 3 0,1,1,3 0,1,1,3 后的数字是 F 4 = 15 3 = 5 F_4=\displaystyle\frac{15}{3}=5 F4=315=5
这些数字的例子后面都有一个基本的思想:跟随特征向量。它是从线性代数到微分方程的重要链接( λ k \lambda^k λk 会变成 e λ t e^{\lambda t} eλt);变化到特征向量基也会用到,最好的例子就是傅里叶级数(Fourier series),是由 d / d x \textrm d/\textrm dx d/dx 的特征向量 e i k x e^{ikx} eikx 创建的。


http://www.ppmy.cn/devtools/135262.html

相关文章

sql专场练习(二)(16-20)完结

第十六题 用户登录日志表为user_id,log_id,session_id,visit_time create table sql2_16(user_id int,log_id int,session_id int,visit_time string );没有数据 visit_time 时间格式为2024-11-15 用sql查询近30天每天平均登录用户数量 with t1 as (select visit_time,coun…

Prometheus结合K8s(二)使用

上一篇介绍了如何搭建 Prometheus结合K8s&#xff08;一&#xff09;搭建-CSDN博客&#xff0c;这章介绍使用 页面访问 kubectl get svc -n prom 看promeheus和granfana的端口访问页面 Prometheus 点击status—target&#xff0c;可以看到metrics的数据来源&#xff0c;即各…

IDEA旗舰版编辑器器快速⼊门(笔记)

简介&#xff1a;javaweb开发必备软件之IDEA期间版介绍 DEA编辑器器版本介绍 官⽹网&#xff1a;https://www.jetbrains.com/地址&#xff1a;https://www.jetbrains.com/idea/download/#sectionmac DEA 分社区版(Community) 和 旗舰版(Ultimate)&#xff0c;我们做JavaWeb开…

spring boot 集成 redis 实现缓存的完整的例子

Cacheable 注解是 Spring Cache 抽象的一部分&#xff0c;用于声明式地管理缓存。Cacheable 注解本身并不直接指定缓存的存储位置&#xff0c;而是依赖于配置的缓存管理器&#xff08;CacheManager&#xff09;来决定缓存数据的存储位置。 常见的缓存存储方式: 1、内存缓存&a…

NVR小程序接入平台/设备EasyNVR多个NVR同时管理设备接入:海康NVR 3.0提示不在线如何处理?

在视频监控领域&#xff0c;设备的兼容性和互操作性一直是用户关注的重点。海康NVR管理平台EasyNVR作为一款轻量级的视频监控平台&#xff0c;凭借其强大的兼容性、可扩展性和丰富的功能&#xff0c;成为了公共安全领域“云平台”解决方案的杰出代表。然而&#xff0c;在实际应…

Leetcode 3357. Minimize the Maximum Adjacent Element Difference

Leetcode 3357. Minimize the Maximum Adjacent Element Difference 1. 解题思路2. 代码实现 题目链接&#xff1a;3357. Minimize the Maximum Adjacent Element Difference 1. 解题思路 这一题思路上和题目3356相似&#xff0c;同样是一个二分查找的题目&#xff0c;我们定…

论文解析:基于区块链的计算能力共享系统

目录 论文解析:基于区块链的计算能力共享系统 2区top 核心内容: 核心创新点的原理与理论: 进化博弈论构建了计算服务部门之间计算力共享策略的动态模型。 采用深度强化学习(DRL)设计了节点选择算法,以最小化各部门的计算力成本 深度强化学习:深度学习的感知能力和…

Bugku CTF_Web——字符?正则?

Bugku CTF_Web——字符&#xff1f;正则&#xff1f; 进入靶场 <?php highlight_file(2.php); $keyflag{********************************}; $IM preg_match("/key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]]/i", trim($_GET["id"]), $match); if…