机器学习数学基础:14.矩阵的公式

1. 操作顺序可交换

对于矩阵 A A A,若存在两种运算 ? ? ? ? ? ?,使得 ( A ? ) ? = ( A ? ) ? (A^{?})^{?}\ =(A^{?})^{?} (A?)? =(A?)?,这意味着这两种运算的顺序可以交换。由此我们得到以下三个重要等式:

  • ( A ∗ ) − 1 = ( A − 1 ) ∗ (A^{*})^{-1}\ =(A^{-1})^{*} (A)1 =(A1)
    • 已知伴随矩阵与逆矩阵的关系 A ∗ = ∣ A ∣ A − 1 A^{*} \ = |A|A^{-1} A =AA1
    • 对于 ( A ∗ ) − 1 (A^{*})^{-1} (A)1,将 A ∗ = ∣ A ∣ A − 1 A^{*} \ = |A|A^{-1} A =AA1代入可得 ( ∣ A ∣ A − 1 ) − 1 (|A|A^{-1})^{-1} (AA1)1
    • 根据逆矩阵性质 ( k A ) − 1 = 1 k A − 1 (kA)^{-1}\ =\frac{1}{k}A^{-1} (kA)1 =k1A1(这里 k = ∣ A ∣ k \ = |A| k =A),则 ( ∣ A ∣ A − 1 ) − 1 = 1 ∣ A ∣ ( A − 1 ) − 1 (|A|A^{-1})^{-1}\ =\frac{1}{|A|}(A^{-1})^{-1} (AA1)1 =A1(A1)1
    • 又因为 ( A − 1 ) − 1 = A (A^{-1})^{-1}\ =A (A1)1 =A,所以 1 ∣ A ∣ ( A − 1 ) − 1 = 1 ∣ A ∣ A \frac{1}{|A|}(A^{-1})^{-1}\ =\frac{1}{|A|}A A1(A1)1 =A1A
    • 对于 ( A − 1 ) ∗ (A^{-1})^{*} (A1),由 A ∗ = ∣ A ∣ A − 1 A^{*} \ = |A|A^{-1} A =AA1可得 ( A − 1 ) ∗ = ∣ A − 1 ∣ ( A − 1 ) − 1 (A^{-1})^{*}\ =|A^{-1}|(A^{-1})^{-1} (A1) =A1(A1)1
    • 已知 ∣ A − 1 ∣ = 1 ∣ A ∣ |A^{-1}|\ =\frac{1}{|A|} A1 =A1,所以 ( A − 1 ) ∗ = 1 ∣ A ∣ ( A − 1 ) − 1 = 1 ∣ A ∣ A (A^{-1})^{*}\ =\frac{1}{|A|}(A^{-1})^{-1}\ =\frac{1}{|A|}A (A1) =A1(A1)1 =A1A
    • 综上, ( A ∗ ) − 1 = ( A − 1 ) ∗ (A^{*})^{-1}\ =(A^{-1})^{*} (A)1 =(A1)
  • ( A T ) ∗ = ( A ∗ ) T (A^{T})^{*}\ =(A^{*})^{T} (AT) =(A)T
    • A = ( a i j ) A\ =(a_{ij}) A =(aij),则 A T = ( a j i ) A^{T}\ =(a_{ji}) AT =(aji)
    • 伴随矩阵 A ∗ A^{*} A的元素 ( A ∗ ) i j = A j i (A^{*})_{ij}\ =A_{ji} (A)ij =Aji(其中 A i j A_{ij} Aij A A A的代数余子式)。
    • 对于 ( A T ) ∗ (A^{T})^{*} (AT),其元素 ( ( A T ) ∗ ) i j = ( A T ) j i ((A^{T})^{*})_{ij}\ =(A^{T})_{ji} ((AT))ij =(AT)ji的代数余子式。
    • ( A T ) j i = A i j (A^{T})_{ji}\ =A_{ij} (AT)ji =Aij,所以 ( ( A T ) ∗ ) i j ((A^{T})^{*})_{ij} ((AT))ij实际上是 A i j A_{ij} Aij的代数余子式。
    • 对于 ( A ∗ ) T (A^{*})^{T} (A)T ( A ∗ ) T (A^{*})^{T} (A)T的元素 ( ( A ∗ ) T ) i j = ( A ∗ ) j i ((A^{*})^{T})_{ij}\ =(A^{*})_{ji} ((A)T)ij =(A)ji,而 ( A ∗ ) j i (A^{*})_{ji} (A)ji也是 A i j A_{ij} Aij的代数余子式。
    • 所以 ( A T ) ∗ = ( A ∗ ) T (A^{T})^{*}\ =(A^{*})^{T} (AT) =(A)T
  • ( A − 1 ) T = ( A T ) − 1 (A^{-1})^{T}\ =(A^{T})^{-1} (A1)T =(AT)1
    • 因为 A A − 1 = E AA^{-1}\ =E AA1 =E,两边同时取转置,根据 ( A B ) T = B T A T (AB)^{T}\ =B^{T}A^{T} (AB)T =BTAT,可得 ( A A − 1 ) T = ( A − 1 ) T A T = E T = E (AA^{-1})^{T}\ =(A^{-1})^{T}A^{T}\ =E^{T}\ =E (AA1)T =(A1)TAT =ET =E
    • 由逆矩阵定义,若 A B = E AB \ = E AB =E,则 B = A − 1 B \ = A^{-1} B =A1,所以 ( A − 1 ) T (A^{-1})^{T} (A1)T A T A^{T} AT的逆矩阵,即 ( A − 1 ) T = ( A T ) − 1 (A^{-1})^{T}\ =(A^{T})^{-1} (A1)T =(AT)1

2. 整体操作要对调

对于两个矩阵 A A A B B B,若满足 ( A B ) ? = B ? A ? (AB)^{?}\ =B^{?}A^{?} (AB)? =B?A?,则有以下等式:

  • ( A B ) − 1 = B − 1 A − 1 (AB)^{-1}\ =B^{-1}A^{-1} (AB)1 =B1A1
    • 因为 ( A B ) ( B − 1 A − 1 ) = A ( B B − 1 ) A − 1 (AB)(B^{-1}A^{-1}) \ = A(BB^{-1})A^{-1} (AB)(B1A1) =A(BB1)A1(矩阵乘法结合律)。
    • B B − 1 = E BB^{-1}\ =E BB1 =E,所以 A ( B B − 1 ) A − 1 = A E A − 1 = A A − 1 = E A(BB^{-1})A^{-1}\ =AEA^{-1}\ =AA^{-1}\ =E A(BB1)A1 =AEA1 =AA1 =E
    • 同理 ( B − 1 A − 1 ) ( A B ) = B − 1 ( A − 1 A ) B = B − 1 E B = B − 1 B = E (B^{-1}A^{-1})(AB)\ =B^{-1}(A^{-1}A)B \ = B^{-1}EB \ = B^{-1}B \ = E (B1A1)(AB) =B1(A1A)B =B1EB =B1B =E
    • 根据逆矩阵定义,若 A B = E AB \ = E AB =E B A = E BA \ = E BA =E,则 B B B A A A的逆矩阵,所以 ( A B ) − 1 = B − 1 A − 1 (AB)^{-1}\ =B^{-1}A^{-1} (AB)1 =B1A1
  • ( A B ) T = B T A T (AB)^{T}\ =B^{T}A^{T} (AB)T =BTAT
    • A = ( a i j ) A\ =(a_{ij}) A =(aij) m × n m\times n m×n矩阵, B = ( b i j ) B\ =(b_{ij}) B =(bij) n × p n\times p n×p矩阵,则 A B AB AB ( i , j ) (i, j) (i,j)元素为 ∑ k = 1 n a i k b k j \sum_{k \ = 1}^{n}a_{ik}b_{kj} k =1naikbkj
    • 那么 ( A B ) T (AB)^{T} (AB)T ( i , j ) (i, j) (i,j)元素为 ∑ k = 1 n a j k b k i \sum_{k \ = 1}^{n}a_{jk}b_{ki} k =1najkbki
    • 对于 B T A T B^{T}A^{T} BTAT B T B^{T} BT p × n p\times n p×n矩阵, A T A^{T} AT n × m n\times m n×m矩阵, B T A T B^{T}A^{T} BTAT ( i , j ) (i, j) (i,j)元素为 ∑ k = 1 n ( B T ) i k ( A T ) k j = ∑ k = 1 n b k i a j k \sum_{k \ = 1}^{n}(B^{T})_{ik}(A^{T})_{kj}\ =\sum_{k \ = 1}^{n}b_{ki}a_{jk} k =1n(BT)ik(AT)kj =k =1nbkiajk
    • 所以 ( A B ) T = B T A T (AB)^{T}\ =B^{T}A^{T} (AB)T =BTAT
  • ( A B ) ∗ = B ∗ A ∗ (AB)^{*}\ =B^{*}A^{*} (AB) =BA
    • 已知 A ∗ = ∣ A ∣ A − 1 A^{*} \ = |A|A^{-1} A =AA1 B ∗ = ∣ B ∣ B − 1 B^{*} \ = |B|B^{-1} B =BB1
    • 那么 ( A B ) ∗ = ∣ A B ∣ ( A B ) − 1 (AB)^{*}\ =|AB|(AB)^{-1} (AB) =AB(AB)1
    • 因为 ∣ A B ∣ = ∣ A ∣ ∣ B ∣ |AB| \ = |A||B| AB =A∣∣B ( A B ) − 1 = B − 1 A − 1 (AB)^{-1}\ =B^{-1}A^{-1} (AB)1 =B1A1,所以 ( A B ) ∗ = ∣ A ∣ ∣ B ∣ B − 1 A − 1 (AB)^{*}\ =|A||B|B^{-1}A^{-1} (AB) =A∣∣BB1A1
    • 又因为 B ∗ A ∗ = ∣ B ∣ B − 1 ∣ A ∣ A − 1 = ∣ A ∣ ∣ B ∣ B − 1 A − 1 B^{*}A^{*}\ =|B|B^{-1}|A|A^{-1}\ =|A||B|B^{-1}A^{-1} BA =BB1AA1 =A∣∣BB1A1
    • 所以 ( A B ) ∗ = B ∗ A ∗ (AB)^{*}\ =B^{*}A^{*} (AB) =BA

3. 重复操作会还原

  • ( A T ) T = A (A^{T})^{T}\ =A (AT)T =A
    • A = ( a i j ) A\ =(a_{ij}) A =(aij),则 A T = ( a j i ) A^{T}\ =(a_{ji}) AT =(aji)
    • A T A^{T} AT再取转置, ( A T ) T (A^{T})^{T} (AT)T ( i , j ) (i, j) (i,j)元素就是 A T A^{T} AT ( j , i ) (j, i) (j,i)元素,即 a i j a_{ij} aij
    • 所以 ( A T ) T = A (A^{T})^{T}\ =A (AT)T =A
  • ( A − 1 ) − 1 = A (A^{-1})^{-1}\ =A (A1)1 =A
    • 由逆矩阵定义,若 A B = E AB \ = E AB =E,则 B = A − 1 B \ = A^{-1} B =A1
    • 因为 A A − 1 = E AA^{-1}\ =E AA1 =E,那么对于 A − 1 A^{-1} A1,存在矩阵 A A A使得 A − 1 A = E A^{-1}A \ = E A1A =E
    • 所以 A A A A − 1 A^{-1} A1的逆矩阵,即 ( A − 1 ) − 1 = A (A^{-1})^{-1}\ =A (A1)1 =A

4. 转置的优良性

  • ∣ A T ∣ = ∣ A ∣ |A^{T}| \ = |A| AT =A
    • 行列式的定义是基于矩阵元素的一种运算,转置只是行列互换,其本质上的代数运算关系不变。
    • 从行列式的展开式角度来看, A A A的行列式展开式与 A T A^{T} AT的行列式展开式完全相同,所以 ∣ A T ∣ = ∣ A ∣ |A^{T}| \ = |A| AT =A
  • ( k A ) T = k A T (kA)^{T}\ =kA^{T} (kA)T =kAT
    • A = ( a i j ) A\ =(a_{ij}) A =(aij),则 k A = ( k a i j ) kA\ =(ka_{ij}) kA =(kaij)
      - ( k A ) T (kA)^{T} (kA)T ( i , j ) (i, j) (i,j)元素为 ( k a j i ) (ka_{ji}) (kaji)
    • k A T kA^{T} kAT ( i , j ) (i, j) (i,j)元素为 k ( a j i ) k(a_{ji}) k(aji)
    • 所以 ( k A ) T = k A T (kA)^{T}\ =kA^{T} (kA)T =kAT
  • ( A + B ) T = A T + B T (A + B)^{T}\ =A^{T}+B^{T} (A+B)T =AT+BT
    • A = ( a i j ) A\ =(a_{ij}) A =(aij) B = ( b i j ) B\ =(b_{ij}) B =(bij),则 A + B = ( a i j + b i j ) A + B\ =(a_{ij}+b_{ij}) A+B =(aij+bij)
      - ( A + B ) T (A + B)^{T} (A+B)T ( i , j ) (i, j) (i,j)元素为 ( a j i + b j i ) (a_{ji}+b_{ji}) (aji+bji)
      - A T = ( a j i ) A^{T}\ =(a_{ji}) AT =(aji) B T = ( b j i ) B^{T}\ =(b_{ji}) BT =(bji),所以 A T + B T A^{T}+B^{T} AT+BT ( i , j ) (i, j) (i,j)元素为 a j i + b j i a_{ji}+b_{ji} aji+bji
    • 因此 ( A + B ) T = A T + B T (A + B)^{T}\ =A^{T}+B^{T} (A+B)T =AT+BT

同时需要注意,一般情况下 ( A + B ) − 1 ≠ A − 1 + B − 1 (A + B)^{-1}\neq A^{-1}+B^{-1} (A+B)1=A1+B1 ( A + B ) ∗ ≠ A ∗ + B ∗ (A + B)^{*}\neq A^{*}+B^{*} (A+B)=A+B,通过简单的反例可以说明。例如,取 A = ( 1 0 0 1 ) A\ =\begin{pmatrix}1&0\\0&1\end{pmatrix} A =(1001) B = ( − 1 0 0 − 1 ) B\ =\begin{pmatrix}-1&0\\0&-1\end{pmatrix} B =(1001),则 A + B = ( 0 0 0 0 ) A + B\ =\begin{pmatrix}0&0\\0&0\end{pmatrix} A+B =(0000) ( A + B ) − 1 (A + B)^{-1} (A+B)1不存在,而 A − 1 = ( 1 0 0 1 ) A^{-1}\ =\begin{pmatrix}1&0\\0&1\end{pmatrix} A1 =(1001) B − 1 = ( − 1 0 0 − 1 ) B^{-1}\ =\begin{pmatrix}-1&0\\0&-1\end{pmatrix} B1 =(1001) A − 1 + B − 1 = ( 0 0 0 0 ) A^{-1}+B^{-1}\ =\begin{pmatrix}0&0\\0&0\end{pmatrix} A1+B1 =(0000),两者不相等。对于伴随矩阵也可类似举例说明。

5. 逆矩阵的定义

A A − 1 = E AA^{-1}\ =E AA1 =E可得:

  • ∣ A − 1 ∣ = 1 ∣ A ∣ |A^{-1}|\ =\frac{1}{|A|} A1 =A1
    • 因为 A A − 1 = E AA^{-1}\ =E AA1 =E,两边取行列式,根据 ∣ A B ∣ = ∣ A ∣ ∣ B ∣ |AB| \ = |A||B| AB =A∣∣B,可得 ∣ A A − 1 ∣ = ∣ A ∣ ∣ A − 1 ∣ = ∣ E ∣ |AA^{-1}| \ = |A||A^{-1}| \ = |E| AA1 =A∣∣A1 =E
    • ∣ E ∣ = 1 |E| \ = 1 E =1,所以 ∣ A − 1 ∣ = 1 ∣ A ∣ |A^{-1}|\ =\frac{1}{|A|} A1 =A1
  • ( k A ) − 1 = 1 k A − 1 (kA)^{-1}\ =\frac{1}{k}A^{-1} (kA)1 =k1A1 k ≠ 0 k\neq0 k=0
    • 因为 ( k A ) ( 1 k A − 1 ) = k ⋅ 1 k A A − 1 = A A − 1 = E (kA)(\frac{1}{k}A^{-1}) \ = k\cdot\frac{1}{k}AA^{-1}\ =AA^{-1}\ =E (kA)(k1A1) =kk1AA1 =AA1 =E
    • 根据逆矩阵定义,若 A B = E AB \ = E AB =E,则 B B B A A A的逆矩阵,所以 ( k A ) − 1 = 1 k A − 1 (kA)^{-1}\ =\frac{1}{k}A^{-1} (kA)1 =k1A1

6. 伴随矩阵的推导

已知 C ∗ = ∣ C ∣ C − 1 C^{*}\ =|C|C^{-1} C =CC1,对于矩阵 A A A A ∗ = ∣ A ∣ A − 1 A^{*}\ =|A|A^{-1} A =AA1,由此可得:

  • ( k A ) ∗ = k n − 1 A ∗ (kA)^{*}\ =k^{n - 1}A^{*} (kA) =kn1A
    • 首先 ( k A ) ∗ = ∣ k A ∣ ( k A ) − 1 (kA)^{*}\ =|kA|(kA)^{-1} (kA) =kA(kA)1
    • 因为 ∣ k A ∣ = k n ∣ A ∣ |kA| \ = k^{n}|A| kA =knA n n n为矩阵 A A A的阶数), ( k A ) − 1 = 1 k A − 1 (kA)^{-1}\ =\frac{1}{k}A^{-1} (kA)1 =k1A1
    • 所以 ( k A ) ∗ = k n ∣ A ∣ ⋅ 1 k A − 1 = k n − 1 ∣ A ∣ A − 1 (kA)^{*}\ =k^{n}|A|\cdot\frac{1}{k}A^{-1}\ =k^{n - 1}|A|A^{-1} (kA) =knAk1A1 =kn1AA1
    • 又因为 A ∗ = ∣ A ∣ A − 1 A^{*}\ =|A|A^{-1} A =AA1,所以 ( k A ) ∗ = k n − 1 A ∗ (kA)^{*}\ =k^{n - 1}A^{*} (kA) =kn1A
  • ∣ A ∗ ∣ = ∣ A ∣ n − 1 |A^{*}|\ =|A|^{n - 1} A =An1
    • 已知 A ∗ = ∣ A ∣ A − 1 A^{*}\ =|A|A^{-1} A =AA1,则 ∣ A ∗ ∣ = ∣ ∣ A ∣ A − 1 ∣ |A^{*}|\ =||A|A^{-1}| A =∣∣AA1
    • 根据 ∣ k A ∣ = k n ∣ A ∣ |kA| \ = k^{n}|A| kA =knA,这里 k = ∣ A ∣ k \ = |A| k =A,所以 ∣ ∣ A ∣ A − 1 ∣ = ∣ A ∣ n ∣ A − 1 ∣ ||A|A^{-1}| \ = |A|^{n}|A^{-1}| ∣∣AA1 =AnA1
    • 又因为 ∣ A − 1 ∣ = 1 ∣ A ∣ |A^{-1}|\ =\frac{1}{|A|} A1 =A1,所以 ∣ A ∣ n ∣ A − 1 ∣ = ∣ A ∣ n 1 ∣ A ∣ = ∣ A ∣ n − 1 |A|^{n}|A^{-1}| \ = |A|^{n}\frac{1}{|A|}\ =|A|^{n - 1} AnA1 =AnA1 =An1
    • ∣ A ∗ ∣ = ∣ A ∣ n − 1 |A^{*}|\ =|A|^{n - 1} A =An1
  • ( A ∗ ) ∗ = ∣ A ∣ n − 2 A (A^{*})^{*}\ =|A|^{n - 2}A (A) =An2A
    • A ∗ = ∣ A ∣ A − 1 A^{*}\ =|A|A^{-1} A =AA1,可得 ( A ∗ ) ∗ = ∣ A ∗ ∣ ( A ∗ ) − 1 (A^{*})^{*}\ =|A^{*}|(A^{*})^{-1} (A) =A(A)1
    • 已知 ∣ A ∗ ∣ = ∣ A ∣ n − 1 |A^{*}|\ =|A|^{n - 1} A =An1 ( A ∗ ) − 1 = ( ∣ A ∣ A − 1 ) − 1 = 1 ∣ A ∣ ( A − 1 ) − 1 (A^{*})^{-1}\ =(|A|A^{-1})^{-1}\ =\frac{1}{|A|}(A^{-1})^{-1} (A)1 =(AA1)1 =A1(A1)1
    • 因为 ( A − 1 ) − 1 = A (A^{-1})^{-1}\ =A (A1)1 =A,所以 ( A ∗ ) − 1 = 1 ∣ A ∣ A (A^{*})^{-1}\ =\frac{1}{|A|}A (A)1 =A1A
    • ( A ∗ ) ∗ = ∣ A ∣ n − 1 ⋅ 1 ∣ A ∣ A = ∣ A ∣ n − 2 A (A^{*})^{*}\ =|A|^{n - 1}\cdot\frac{1}{|A|}A \ = |A|^{n - 2}A (A) =An1A1A =An2A

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/13870.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面向对象程序设计-实验2

题目1 6-1 使用动态内存分配的冒泡排序。 代码清单&#xff1a; #include <iostream> using namespace std; int* bubble_sort(int n);/* 对长度为n的数组执行冒泡排序 */ int main() { int n; cin >> n; int* a bubble_sort(n); for (int i 0; i < n; i)…

集成Google Maps页面提示[For development purposes only]解决方案

问题描述 填写Google Maps JavaScript API密钥之后(https://console.cloud.google.com/apis/credentials/key/2fb9924f-4dc6-4e77-b26f-085b67f48ae0?inv=1&invt=Abo68g&project=deft-velocity-450208-t8),加载Google Maps JavaScript API会出现这样的显示: 问题…

深浅拷贝~

深浅拷贝&#xff1a;直接赋值给的是地址&#xff0c;如果修改赋值后的变量&#xff0c;实际上连同原变量的值一并修改了。 浅拷贝 展开运算符 {...obj} 拷贝对象 Object.assign(新&#xff0c;旧) 深拷贝 递归&#xff1a;自己调用自己 以下实际是浅拷贝 递归调用处理数组问题…

PySpark学习笔记5-SparkSQL

sparkSql的数据抽象有两种。 一类是data set适用于java和Scala 一类是data frame适用于java&#xff0c;Scala&#xff0c;python 将r d d转换为data frame #方式一 df spark.createDataFrame(rdd,schema[name,age]) #方式二 schema Structtype(). add(id,integertype(),nu…

【医院绩效管理专题】2.绩效管理:医院发展的核心驱动力

医院成本核算、绩效管理、运营统计、内部控制、管理会计专题索引 一、引言 在当今医疗行业快速发展的背景下,医院管理面临着日益复杂的挑战。绩效管理作为医院管理的核心组成部分,对于提升医院运营效率、优化医疗服务质量以及实现可持续发展具有举足轻重的作用。它不仅是医…

unity学习32:角色相关1,基础移动控制

目录 0 应用商店 1 角色上新增CharacterController 组件 1.1 角色上新增CharacterController 组件 1.2 如果没有这个则会报错​编辑 2 速度 2.1 默认速度 2.2 修改速度为按时间计算 2.2 movespeed&#xff0c; 3 测试移动的代码 3.1 CharacterController 变量的声明…

构建复杂且高效的人机协作工作流?Agentic Workflows

智能创作引擎架构设计 核心原理 一个 AI 原生创作引擎&#xff0c;通过自由形式的画布界面&#xff0c;结合多线程对话、知识库 RAG 集成、上下文记忆、智能搜索和所见即所得的 AI 编辑器等功能&#xff0c;帮助用户轻松将想法转化为生产级内容。 模块详解 1. 前端模块 (apps/w…

H266/VVC 环路滤波中去块滤波 DF 技术

去块滤波 DF H266 中去方块滤波 DF 过程类似 HEVC 中处理过程&#xff0c;但也引进了一些新技术&#xff0c;用于去除方块效应。方块效应指编码块边界处的不连续现象。方块效应的成因主要是基于块的编码过程中&#xff0c;各个块的预测、 变换、量化等过程相互独立&#xff0c;…

Python设计模式 - 原型模式

定义 原型模式是一种创建型设计模式&#xff0c;它可以通过复制现有对象来创建新对象&#xff0c;而不是直接实例化新的对象。 结构 抽象原型&#xff08;Prototype&#xff09;&#xff1a;声明 clone() 方法&#xff0c;以便派生类实现克隆自身的能力。具体原型&#xff08…

电脑运行黑屏是什么原因?原因及解决方法

电脑运行黑屏是指电脑在正常开机或使用过程中&#xff0c;突然出现屏幕变黑&#xff0c;无法显示任何内容的现象。这种现象可能会给用户带来很多不便&#xff0c;甚至造成数据丢失或硬件损坏。那么&#xff0c;电脑运行黑屏是什么原因呢&#xff1f;下面我们将分析几种可能的原…

路由器如何进行数据包转发?

路由器进行数据包转发的过程是网络通信的核心之一&#xff0c;主要涉及以下几个步骤&#xff1a; 接收数据包&#xff1a;当一个数据包到达路由器的一个接口时&#xff0c;它首先被暂时存储在该接口的缓冲区中。 解析目标地址&#xff1a;路由器会检查数据包中的目标IP地址。…

MTGNN论文解读

模型架构 MTGNN 由多个模块组合而成&#xff0c;目标是捕捉多变量时间序列中的空间&#xff08;变量间&#xff09;和时间&#xff08;时序&#xff09;依赖。 图学习层&#xff1a;用于自适应地学习图的邻接矩阵&#xff0c;发现变量之间的关系。图卷积模块&#xff1a;根据邻…

π0开源了且推出自回归版π0-FAST——打造机器人动作专用的高效Tokenizer:比扩散π0的训练速度快5倍但效果相当

前言 过去的半个多月 deepseek火爆全球&#xff0c;我对其的解读也成了整整一个系列 详见《火爆全球的DeepSeek系列模型》&#xff0c;涉及对GRPO、MLA、V3、R1的详尽细致深入的解读 某种意义来讲&#xff0c;deepseek 相当于把大模型的热度 又直接拉起来了——相当于给大模…

多用户同时RDP登入Win10

自备以下文件&#xff1a; winsw_frpc.xml展开如下&#xff1a; <service><!-- ID of the service. It should be unique across the Windows system--><id>winsw_frp</id><!-- Display name of the service --><name>winsw_frp</na…

【STM32系列】利用MATLAB配合ARM-DSP库设计IIR数字滤波器(保姆级教程)

ps.源码放在最后面 设计FIR数字滤波器可以看这里&#xff1a;利用MATLAB配合ARM-DSP库设计FIR数字滤波器&#xff08;保姆级教程&#xff09; 设计IIR滤波器 MATLAB配置 设计步骤 首先在命令行窗口输入"filterDesigner"&#xff0c;接着就会跳出以下界面&#xf…

星闪开发入门级教程之安装编译器与小项目烧录

系列文章目录 星闪开发入门级教程 好久不见&#xff0c;已经好几年没有发文章了&#xff0c;星闪-作为中国原生的新一代近距离无线联接技术品牌。我想着写点东西。为了适合新手&#xff0c;绝对小白文。 文章目录 系列文章目录前言一、Hispark Studio1.安装Hispark Studio2.安…

【Spring Boot】 SpringBoot自动装配-Condition

目录 一、前言二、 定义 2.1 Conditional2.2 Condition2.2.1 ConditionContext 三、 使用说明 3.1 创建项目 3.1.1 导入依赖3.1.2 添加配置信息3.1.3 创建User类3.1.4 创建条件实现类3.1.5 修改启动类 3.2 测试 3.2.1 当user.enablefalse3.2.2 当user.enabletrue 3.3 小结 四、…

优惠券平台(十一):布隆过滤器、缓存空值、分布式组合的双重判定锁解决缓存穿透问题

业务背景 在上一节中&#xff0c;我们讨论了正常用户在访问优惠券时可能遇到的缓存击穿问题&#xff0c;并介绍了缓存预热、缓存永不过期、分布式锁、双重判定锁、分片分布式锁等技术来应对这些问题。然而&#xff0c;还有一个问题需要解决&#xff1a;如果用户频繁访问数据库…

VUE 集成企微机器人通知

message-robot 便于线上异常问题及时发现处理&#xff0c;项目中集成企微机器人通知&#xff0c;及时接收问题并处理 企微机器人通知工具类 export class MessageRobotUtil {constructor() {}/*** 发送 markdown 消息* param robotKey 机器人 ID* param title 消息标题* param…

阿里云cdn怎样设置图片压缩

阿里云 CDN 提供了图像加速服务&#xff0c;其中包括图像压缩功能。通过设置图片压缩&#xff0c;可以显著减小图片文件的体积&#xff0c;提升网站加载速度&#xff0c;同时减少带宽消耗。九河云来告诉你如何进行图片压缩吧。 如何设置阿里云 CDN 图片压缩&#xff1f; 1. 登…