当前位置: 首页 > news >正文

线性代数的本质(三)——线性方程组

文章目录

  • 线性方程组
    • 高斯消元法
    • 初等行变换
    • 线性方程组的解
    • 向量方程
    • 齐次线性方程组的解
    • 非齐次线性方程组的解

线性方程组

高斯消元法

客观世界最简单的数量关系是均匀变化的关系。在均匀变化问题中,列出的方程组是一次方程组,我们称之为线性方程组(Linear system of equations)。 n n n元线性方程组的一般形式为
{ a 11 x 1 + a 12 x 2 + ⋯ + a 1 n x n = b 1 a 21 x 1 + a 22 x 2 + ⋯ + a 2 n x n = b 2 ⋯ ⋯ a m 1 x 1 + a m 2 x 2 + ⋯ + a m n x n = b m \begin{cases} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n=b_1 \\ a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n=b_2 \\ \cdots\quad\cdots \\ a_{m1}x_1+a_{m2}x_2+\cdots+a_{mn}x_n=b_m \end{cases} a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2am1x1+am2x2++amnxn=bm
如果存在 n n n个常数 x 1 = s 1 , x 2 = s 2 , ⋯ , x n = s n x_1=s_1,x_2=s_2,\cdots,x_n=s_n x1=s1,x2=s2,,xn=sn 满足线性方程组的所有方程,则称为线性方程组的一个(solution)。方程组的所有解组成的集合称为这个方程组的解集

解线性方程组的一般方法,是把方程组用一个更容易解的等价方程组 (即有相同解集的方程组)代替。用来化简线性方程组的三种基本变换是:

(1) 互换两个方程的位置;
(2) 把某一个方程的所有项乘以一个非零常数;
(3) 把某一个方程加上另一个方程的常数倍;

以上三种变换称为高斯消元法(Gaussian Elimination)。

例如,解方程组
{ 2 x 2 − x 3 = 7 x 1 + x 2 + 2 x 3 = 0 x 1 + x 2 − x 3 = − 6 x 1 + 3 x 2 − 2 x 3 = 1 \begin{cases} \begin{alignedat}{4} &\quad 2x_2&-\ \ x_3 &= 7 \\ x_1&+\ x_2&+2x_3& = 0 \\ x_1&+\ x_2&-\ \ x_3& = -6 \\ x_1&+3x_2&-2x_3&=1 \end{alignedat} \end{cases} x1x1x12x2+ x2+ x2+3x2  x3+2x3  x32x3=7=0=6=1
经过基本变换把线性方程组化成阶梯形方程组
{ x 1 + x 2 − x 3 = − 6 2 x 2 − x 3 = 7 3 x 3 = 6 0 = 0 \begin{cases} \begin{alignedat}{4} x_1&+x_2&-x_3& = -6 \\ &\quad 2x_2&-x_3 &= 7 \\ &\quad &\quad 3x_3& = 6 \\ &\quad &\quad 0& = 0 \end{alignedat} \end{cases} x1+x22x2x3x33x30=6=7=6=0
还可以进一步变换为简化阶梯形方程组
{ x 1 = − 9 x 2 = 5 x 3 = 2 0 = 0 \begin{cases} x_1 & & &=-9 \\ & x_2 & & = 5 \\ & & x_3& = 2 \\ & & 0& = 0 \end{cases} x1x2x30=9=5=2=0
上面的简单例子代表了用消元法解线性方程组的一般方法和计算格式。

初等行变换

根据矩阵与向量的乘法定义,线性方程组可写为矩阵形式
A x = b A\mathbf x=\mathbf b Ax=b
其中
A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m n ] , x = [ x 1 x 2 ⋮ x n ] , b = [ b 1 b 2 ⋮ b n ] A=\begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n} \\ a_{21}&a_{22}&\cdots&a_{2n} \\ \vdots&\vdots&\ddots&\vdots \\ a_{m1}&a_{m2}&\cdots&a_{mn} \\ \end{bmatrix},\quad \mathbf x=\begin{bmatrix} x_1\\x_2\\\vdots\\x_n \end{bmatrix},\quad \mathbf b=\begin{bmatrix} b_1\\b_2\\\vdots\\b_n \end{bmatrix} A= a11a21am1a12a22am2a1na2namn ,x= x1x2xn ,b= b1b2bn
矩阵 A A A 称为系数矩阵 x \mathbf x x未知数向量 b \mathbf b b常数向量

从上节求解线性方程组的过程中,不难发现,只是对线性方程组的系数和常数项进行了运算。因此,线性方程组可以用它的系数和常数项来求解。

为求解方便,把常数向量添加到系数矩阵最后一列,构成的矩阵
A ˉ = [ A ∣ b ] = [ a 11 ⋯ a 1 n b 1 a 21 ⋯ a 2 n b 2 ⋮ ⋮ ⋱ ⋮ a m 1 ⋯ a m n b m ] \bar A=[A\mid b]=\begin{bmatrix}\begin{array}{ccc:c} a_{11}&\cdots&a_{1n}&b_1 \\ a_{21}&\cdots&a_{2n}&b_2 \\ \vdots&\vdots&\ddots&\vdots \\ a_{m1}&\cdots&a_{mn}&b_m \\ \end{array}\end{bmatrix} Aˉ=[Ab]= a11a21am1a1na2namnb1b2bm
称为方程组的增广矩阵(augmented matrix)。

初等行变换:上节所讲的三种基本变换对应于矩阵的下列变换:

(1) 行互换变换:对调矩阵的第 i i i行和第 j j j行 ,记为 r i ↔ r j r_i\lrarr r_j rirj
(2) 行倍乘变换:矩阵的第 i i i行乘以非零常数 k k k,记为 k r i kr_i kri
(3) 行倍加变换:将第 j j j行的元素倍加到第 i i i行,记作 r i + k r j r_i+kr_j ri+krj

称为矩阵的初等行变换(elementary row transformation)。

矩阵消元法:在解线性方程组时,把它的增广矩阵经过初等行变换化成行阶梯形矩阵,写出相应的阶梯形方程组 ,进行求解;或者一直化成简化行阶梯形矩阵,写出它表示的简化阶梯形方程组,从而立即得出解。

上节例子中,增广矩阵经过初等行变换可简化为
A ˉ = [ 0 2 − 1 7 1 1 2 0 1 1 − 1 − 6 1 3 − 2 1 ] → [ 1 1 − 1 − 6 0 2 − 1 7 0 0 3 6 0 0 0 0 ] = B 1 \bar A=\begin{bmatrix}\begin{array}{ccc:c} 0 & 2 & -1 & 7 \\ 1 & 1 & 2 & 0\\ 1 & 1 & -1 & -6 \\ 1 & 3 & -2 & 1 \end{array}\end{bmatrix}\to \begin{bmatrix}\begin{array}{ccc:c} 1 & 1 & -1 & -6 \\ 0 & 2 & -1 & 7\\ 0 & 0 & 3 & 6 \\ 0 & 0 & 0 & 0 \end{array}\end{bmatrix}=B_1 Aˉ= 0111211312127061 1000120011306760 =B1
称形如 B 1 B_1 B1 的矩阵为行阶梯形矩阵(Row Echelon Form,REF)。其特点是:

(1) 若有零行(元素全为零的行),零行均在非零行的下方;
(2) 非零行第一个非零元素(称为主元,pivot)以下的元素全为零。

使用初等行变换对行阶梯形矩阵进一步化简
B 1 = [ 1 1 − 1 − 6 0 2 − 1 7 0 0 3 6 0 0 0 0 ] → [ 1 0 0 − 9 0 1 0 5 0 0 1 2 0 0 0 0 ] = B 2 B_1=\begin{bmatrix}\begin{array}{ccc:c} 1 & 1 & -1 & -6 \\ 0 & 2 & -1 & 7\\ 0 & 0 & 3 & 6 \\ 0 & 0 & 0 & 0 \end{array}\end{bmatrix}\to\begin{bmatrix}\begin{array}{ccc:c} 1 & 0 & 0 & -9 \\ 0 & 1 & 0 & 5\\ 0 & 0 & 1 & 2 \\ 0 & 0 & 0 & 0 \end{array}\end{bmatrix}=B_2 B1= 1000120011306760 1000010000109520 =B2
称形如 B 2 B_2 B2 的矩阵为简化行阶梯形矩阵(Reduced Row Echelon Form,RREF)。其特点是:

(1) 每个非零行主元都是1;
(2) 主元所在列的其他元素都是零。

通过简化行阶梯形矩阵,我们可以直接写出解 x 1 = − 9 , x 2 = 5 , x 3 = 2 x_1=-9,x_2=5,x_3=2 x1=9,x2=5,x3=2

使用矩阵消元法,我们可以知道任何矩阵都可以经过有限次初等行变换化成行阶梯形矩阵,任何矩阵也可进一步化成简化行阶梯形矩阵

从最后的简化行阶梯形矩阵可以直接写出一般解,但注意把自由变量的系数变号移到等式右边。

线性方程组的解

假设某方程组的增广矩阵行已变换为阶梯形矩阵
[ 1 0 − 5 1 0 1 1 4 0 0 0 0 ] \begin{bmatrix}\begin{array}{ccc:c} 1 & 0 & -5 & 1 \\ 0 & 1 & 1 & 4\\ 0 & 0 & 0 & 0 \end{array}\end{bmatrix} 100010510140
对应的线性方程组是
{ x 1 − 5 x 3 = 1 x 2 + x 3 = 4 0 = 0 \begin{cases} \begin{alignedat}{4} x_1&&-5x_3& = 1 \\ &\quad\ x_2&+x_3 &= 4 \\ &\quad &\quad 0& =0 \end{alignedat} \end{cases} x1 x25x3+x30=1=4=0
方程组的解可显示表示为 x 1 = 1 + 5 x 3 , x 2 = 4 − x 3 x_1=1+5x_3,\ x_2=4-x_3 x1=1+5x3, x2=4x3 ,显然有无穷多组解。

n n n 元线性方程组的增广矩阵化成行阶梯形矩阵后,若有 r r r 个非零行,则行阶梯形矩阵有 r r r 个主元。以主元为系数的末知量称为主变量,剩下的 n − r n-r nr 个未知量称为自由变量,其值可任取。

假设某方程组的增广矩阵行已变换为阶梯形矩阵
[ 2 − 3 2 1 0 1 − 4 8 0 0 0 15 ] \begin{bmatrix}\begin{array}{ccc:c} 2 & -3 & 2 & 1 \\ 0 & 1 & -4 & 8\\ 0 & 0 & 0 & 15 \end{array}\end{bmatrix} 2003102401815
对应的线性方程组是
{ 2 x 1 − 3 x 2 + 2 x 3 = 1 x 2 − 4 x 3 = 8 0 = 15 \begin{cases} \begin{alignedat}{4} 2x_1&-3x_2&+2x_3& = 1 \\ &\quad\ x_2&-4x_3 &= 8 \\ &\quad &\quad 0& = 15 \end{alignedat} \end{cases} 2x13x2 x2+2x34x30=1=8=15
这个阶梯形方程组显然是矛盾的,故原方程组无解。

解的情况:线性方程组有解的充要条件是增广矩阵的增广列不是主元列,即行阶梯形方程组不包含矛盾方程。若线性方程组有解,则解有两种情况:(1) 当没有自由变量时,有唯 一解;(2) 当有自由变量是,有无穷多解。

向量方程

应用向量加法和数乘运算,线性方程组 A x = b A\mathbf x=\mathbf b Ax=b 可以写成向量方程
x 1 a 1 + x 2 a 2 + ⋯ + x n a n = b x_1\mathbf a_1+x_2\mathbf a_2+\cdots+x_n\mathbf a_n=\mathbf b x1a1+x2a2++xnan=b
其中 a 1 , a 2 , ⋯ , a n \mathbf a_1,\mathbf a_2,\cdots,\mathbf a_n a1,a2,,an 为系数矩阵 A A A 的列向量组, b \mathbf b b 为常数向量。它的一组解 s = ( x 1 , x 2 , ⋯ , x n ) T s=(x_1,x_2,\cdots,x_n)^T s=(x1,x2,,xn)T 称为方程组的解向量

例如,方程组
{ 2 x 1 − x 2 + x 3 = 4 4 x 1 + 2 x 2 − x 3 = − 1 \begin{cases} \begin{alignedat}{4} 2x_1&-x_2&+x_3& = 4 \\ 4x_1&+2x_2&-x_3& = -1 \end{alignedat} \end{cases} {2x14x1x2+2x2+x3x3=4=1
可以表述为
[ 2 4 ] x 1 + [ − 1 2 ] x 2 + [ 1 − 1 ] x 3 = [ 4 − 1 ] \begin{bmatrix}2\\4\end{bmatrix}x_1+ \begin{bmatrix}-1\\2\end{bmatrix}x_2+ \begin{bmatrix}1\\-1\end{bmatrix}x_3= \begin{bmatrix}4\\-1\end{bmatrix} [24]x1+[12]x2+[11]x3=[41]
既然可表示为向量的形式,那么就可以从向量的角度分析。向量方程是否有解的问题等价于判断常数向量 b \mathbf b b 能否由系数矩阵列向量组线性表示,即向量 b \mathbf b b 是否属于系数矩阵的列空间 col  A = span { a 1 , a 2 , ⋯ , a n } \text{col }A=\text{span}\{\mathbf a_1,\mathbf a_2,\cdots,\mathbf a_n\} col A=span{a1,a2,,an}

结论:方程 A x = b A\mathbf x=\mathbf b Ax=b有解的充要条件是 b \mathbf b b A A A 的各列的线性组合。

以线性变换的角度理解,希望找出未知向量 x \mathbf x x ,使得该向量在线性变换 A A A 的作用下变成已知向量 b \mathbf b b。因此,我们可以从逆变换的角度获得未知向量。显然,如果变换后维度压缩,方程不一定有解。即列空间的维度低于未知向量维度。

齐次线性方程组的解

常数项都为零的线性方程组 A x = 0 A\mathbf{x}=0 Ax=0 称为齐次线性方程组。向量方程为
x 1 a 1 + x 2 a 2 + ⋯ + x n a n = 0 x_1\mathbf a_1+x_2\mathbf a_2+\cdots+x_n\mathbf a_n=0 x1a1+x2a2++xnan=0

齐次线性方程组显然有一组解
x 1 = x 2 = ⋯ = x n = 0 x_1=x_2=\cdots=x_n=0 x1=x2==xn=0
这组解称为零解平凡解。除此之外的其他解称为非零解非平凡解

方程 A m × n x = 0 A_{m\times n}\mathbf{x}=0 Am×nx=0 有非零解等价于 A A A 的列向量组线性相关,即 rank ( A ) < n \text{rank}(A)<n rank(A)<n

齐次线性方程组的解有如下性质

  1. 如果 s 1 , s 2 s_1,s_2 s1,s2 是齐次线性方程组的两个解向量,则 s 1 + s 2 s_1+s_2 s1+s2 也是方程组的解向量。
  2. 如果 s s s 是齐次线性方程组的解向量,则对任意常数 k k k k s ks ks 也是方程组的解向量。

这两条性质只要直接代入向量方程进行验证就可以。

显然,系数矩阵为 A A A 的齐次线性方程组的解集
ker ⁡ A = { x ∣ A x = 0 } \ker A=\{\mathbf x|A\mathbf{x}=0\} kerA={xAx=0}
满足向量空间的条件, 称为零空间(nullspace)或(kernel)。解空间的一组基 s 1 , s 2 , ⋯ , s n − r s_1,s_2,\cdots,s_{n-r} s1,s2,,snr 称为该方程组的基础解系零空间的维数即为自由变量的个数

如果能找到基础解系,就能描述整个解空间。

定理

  1. 方程 A m × n x = 0 A_{m\times n}\mathbf{x}=0 Am×nx=0 有非零解的充要条件是 rank ( A ) < n \text{rank}(A)<n rank(A)<n
  2. 方程 A m × n x = 0 A_{m\times n}\mathbf{x}=0 Am×nx=0 基础解系中自由变量的个数等于 n − rank ( A ) n-\text{rank}(A) nrank(A)
  3. A A A 是向量空间 V V V 内的线性变换

dim ⁡ V = dim ⁡ ( range  A ) + dim ⁡ ( ker ⁡ A ) \dim V=\dim(\text{range }A)+\dim(\ker A) dimV=dim(range A)+dim(kerA)

可以用系数矩阵的初等行变换来求基础解系。

示例:求下列齐次线性方程组的解集。
{ x 2 − x 3 + x 4 − x 5 = 0 x 1 + x 3 + 2 x 4 − x 5 = 0 x 1 + x 2 + 3 x 4 − 2 x 5 = 0 2 x 1 + 2 x 2 + 6 x 4 − 3 x 5 = 0 \begin{cases} x_2-x_3+x_4-x_5=0 \\ x_1+x_3+2x_4-x_5=0 \\ x_1+x_2+3x_4-2x_5=0 \\ 2x_1+2x_2+6x_4-3x_5=0 \end{cases} x2x3+x4x5=0x1+x3+2x4x5=0x1+x2+3x42x5=02x1+2x2+6x43x5=0
解:先做矩阵消元法获得阶梯形矩阵和简化阶梯形矩阵
A = [ 0 1 − 1 1 − 1 1 0 1 2 − 1 1 1 0 3 − 2 2 2 0 6 − 3 ] → [ 1 0 1 2 − 1 0 1 − 1 1 − 1 0 0 0 0 1 0 0 0 0 0 ] → [ 1 0 1 2 0 0 1 − 1 1 0 0 0 0 0 1 0 0 0 0 0 ] A=\begin{bmatrix} 0&1&-1&1&-1 \\ 1&0&1&2&-1 \\ 1&1&0&3&-2 \\ 2&2&0&6&-3 \end{bmatrix}\to \begin{bmatrix} 1&0&1&2&-1 \\ 0&1&-1&1&-1 \\ 0&0&0&0&1 \\ 0&0&0&0&0 \end{bmatrix}\to \begin{bmatrix} 1&0&1&2&0 \\ 0&1&-1&1&0 \\ 0&0&0&0&1 \\ 0&0&0&0&0 \end{bmatrix} A= 01121012110012361123 10000100110021001110 10000100110021000010
因此
{ x 1 = − x 3 − 2 x 4 x 2 = x 3 − x 4 x 5 = 0 \begin{cases} x_1=-x_3-2x_4 \\ x_2=x_3-x_4 \\ x_5=0 \end{cases} x1=x32x4x2=x3x4x5=0
可写为解向量的形式
[ x 1 x 2 x 3 x 4 x 5 ] = x 3 [ − 1 1 1 0 0 ] + x 4 [ − 2 − 1 0 1 0 ] \begin{bmatrix}x_1 \\ x_2 \\ x_3 \\ x_4 \\ x_5\end{bmatrix}= x_3\begin{bmatrix}-1 \\ 1 \\ 1 \\ 0 \\ 0\end{bmatrix} +x_4\begin{bmatrix}-2\\-1\\0\\1\\0\end{bmatrix} x1x2x3x4x5 =x3 11100 +x4 21010

非齐次线性方程组的解

对于非齐次线性方程组 A x = 0 A\mathbf{x}=0 Ax=0 。判断向量方程 x 1 a 1 + x 2 a 2 + ⋯ + x n a n = b x_1\mathbf a_1+x_2\mathbf a_2+\cdots+x_n\mathbf a_n=\mathbf b x1a1+x2a2++xnan=b 是否有解,等价于判断常数向量 b \mathbf b b 是否属于 span { a 1 , a 2 , ⋯ , a n } \text{span}\{\mathbf a_1,\mathbf a_2,\cdots,\mathbf a_n\} span{a1,a2,,an}

判别定理:线性方程组有解的充要条件是其系数矩阵 A A A与增广矩阵 A ˉ \bar A Aˉ的秩相等 rank ( A ) = rank ( A ˉ ) \text{rank}(A)=\text{rank}(\bar A) rank(A)=rank(Aˉ)

通俗理解就是,变换后的阶梯形方程组不存在 0 = b 0=b 0=b 的矛盾方程。

解的结构:设 n n n 元非齐次线性方程组 rank ( A ) = rank ( A ˉ ) \text{rank}(A)=\text{rank}(\bar A) rank(A)=rank(Aˉ)

(1) 若 rank ( A ) = n \text{rank}(A)=n rank(A)=n,方程组有唯一解;
(2) 若 rank ( A ) < n \text{rank}(A)<n rank(A)<n,方程组有无穷多解。

非齐次线性方程组 A x = b A\mathbf x=\mathbf b Ax=b 对应的齐次线性方程组 A x = 0 A\mathbf x=0 Ax=0 称为导出方程组。解的关系:

  1. A x = b A\mathbf x=\mathbf b Ax=b 的任意两个解向量之差是 A x = 0 A\mathbf x=0 Ax=0 的一个解向量;
  2. A x = b A\mathbf x=\mathbf b Ax=b 的通解是其任一解向量与 A x = b A\mathbf x=\mathbf b Ax=b 通解之和。

如下图

请添加图片描述

示例:求下列线性方程组的全部解

{ x 1 + 4 x 2 − 5 x 3 = 0 2 x 1 − x 2 + 8 x 3 = 9 \begin{cases} \begin{alignedat}{4} x_1&+4x_2&-5x_3& = 0 \\ 2x_1&-x_2&+8x_3& = 9 \end{alignedat} \end{cases} {x12x1+4x2x25x3+8x3=0=9
解:对方程组的增广矩阵做初等行变换获得阶梯形矩阵和简化阶梯形矩阵
A ˉ = [ 1 4 − 5 0 2 − 1 8 9 ] → [ 1 4 − 5 0 0 − 9 18 9 ] → [ 1 0 3 4 0 1 − 2 1 ] \bar A=\begin{bmatrix}\begin{array}{ccc:c} 1&4&-5&0 \\ 2&-1&8&9 \end{array}\end{bmatrix}\to \begin{bmatrix}\begin{array}{ccc:c} 1&4&-5&0 \\ 0&-9&18&9 \end{array}\end{bmatrix}\to \begin{bmatrix}\begin{array}{ccc:c} 1&0&3&4 \\ 0&1&-2&1 \end{array}\end{bmatrix} Aˉ=[12415809][104951809][10013241]
因此
{ x 1 = 4 − 3 x 3 x 2 = 1 + 2 x 3 \begin{cases} x_1=4-3x_3 \\ x_2=1+2x_3 \end{cases} {x1=43x3x2=1+2x3
解向量的形式为
[ x 1 x 2 x 3 ] = [ 4 1 0 ] + x 3 [ − 3 2 1 ] \begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}= \begin{bmatrix}4\\1\\0\end{bmatrix} +x_3\begin{bmatrix}-3 \\ 2 \\ 1 \end{bmatrix} x1x2x3 = 410 +x3 321

相关文章:

线性代数的本质(三)——线性方程组

文章目录 线性方程组高斯消元法初等行变换线性方程组的解向量方程齐次线性方程组的解非齐次线性方程组的解 线性方程组 高斯消元法 客观世界最简单的数量关系是均匀变化的关系。在均匀变化问题中&#xff0c;列出的方程组是一次方程组&#xff0c;我们称之为线性方程组(Linea…...

轻量级性能测试工具 wrk 如何使用?

项目设计之初或者是项目快要结束的时候&#xff0c;大佬就会问我们&#xff0c;这个服务性能测试的结果是什么&#xff0c;QPS 可以达到多少&#xff0c;RPS 又能达到多少&#xff1f;接口性能可以满足未来生产环境的实际情况吗&#xff1f;有没有自己测试过自己接口的吞吐量&a…...

WebGL 视图矩阵、模型视图矩阵

目录 立方体由三角形构成 视点和视线 视点、观察目标点和上方向 视点&#xff1a; 观察目标点&#xff1a; 上方向&#xff1a; 在WebGL中&#xff0c;观察者的默认状态应该是这样的&#xff1a; 视图矩阵程序&#xff08;LookAtTriangles.js&#xff09; 实际上&…...

Python 3 – 文件 readline() 方法

Python 3 – 文件 readline() 方法|极客笔记 # 打开文件 file open("example.txt", "r")# 读取文件中的一行数据 line file.readline() while line:# 移除行尾的换行符print(line.strip())# 读取文件中的下一行数据line file.readline()# 关闭文件 file…...

如何在微软Edge浏览器上一键观看高清视频?

编者按&#xff1a;视频是当下最流行的媒体形式之一。但由于视频压缩、网络不稳定等原因&#xff0c;我们常常可以看到互联网上的很多视频其画面质量并不理想&#xff0c;尤其是在浏览器端&#xff0c;这极大地影响了观看体验。不过&#xff0c;近期微软 Edge 浏览器推出了一项…...

Telegram BoT的主流项目盘点

目录 DeFi 类 数据分析类 空投埋伏交易 其他 Telegram Bot赛道的发展趋势预测 Telegram BoT赛道发展较快&#xff0c;具体来看可以分为DeFi 类、数据分析类、空投埋伏交易类以及其他。 DeFi 类 Unibot&#xff08;交易&#xff09;、Banana Gun、WagieBot&#xff08;交…...

PTA 甲级 1044 Shopping in Mars

题目链接 思路&#xff1a;前缀和滑动窗口 #include<bits/stdc.h> #define MAXN 100010 using namespace std; int a[MAXN];int main(){int n,m;cin>>n>>m;//n数量 m金额for(int i1;i<n;i){int t;cin>>t;a[i]a[i-1]t;//前缀和}vector<pair<in…...

Linux学习之MyCat实现分库分表

环境准备 先准备一套MySQL主从服务器&#xff0c;可参考MySQL主从配置配置MyCat服务 资源下载 网盘链接: https://pan.baidu.com/s/1cLTMH_e1-6loc_gF9ZNHTg?pwda63n 提取码: a63n MyCat配置 # 1&#xff09;安装mycat软件 //安装jdk [rootmycat58 upload]# yum -y insta…...

DirectX12(d3d12)初始化

一、前置要求 Windows 10及以上(安装有DirectX12)VisualStudio 2022 二、DirectX12入门 1.引用头文件 #include<Windows.h> #include<d3d12.h> #include<dxgi1_4.h>2.注册窗口类并初始化窗口 这里我们调用Windows API 通过应用程序的句柄来注册一个唯一…...

算法通关村-----回溯模板如何解决排列组合问题

组合总和 问题描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限…...

【1++的C++进阶】之智能指针

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的C进阶】 文章目录 一&#xff0c;什么是智能指针二&#xff0c;为什么需要智能指针三&#xff0c;智能指针的发展 一&#xff0c;什么是智能指针 要了解智能指针&#xff0c;我们先要了解RA…...

一百七十九、Linux——Linux报错No package epel-release available

一、目的 在Linux中配置Xmanager服务时&#xff0c;执行脚本时Linux报错No package epel-release available 二、解决措施 &#xff08;一&#xff09;第一步&#xff0c;# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm &#xff08;二&…...

【AI视野·今日CV 计算机视觉论文速览 第248期】Mon, 18 Sep 2023

AI视野今日CS.CV 计算机视觉论文速览 Mon, 18 Sep 2023 Totally 83 papers &#x1f449;上期速览✈更多精彩请移步主页 Interesting: &#x1f4da;Robust e-NeRF,处理高速且大噪声事件相机流的NERF模型。(from NUS新加坡国立) 稀疏噪声事件与稠密事件数据的区别&#xff1a;…...

解决Vue项目中的“Cannot find module ‘vue-template-compiler‘”错误

1. 问题描述 在Vue项目中&#xff0c;当我们使用Vue的单文件组件&#xff08;.vue文件&#xff09;时&#xff0c;有时会遇到以下错误信息&#xff1a; ERROR: Cannot find module vue-template-compiler这个错误通常发生在我们使用Vue的版本不匹配或者缺少必要的依赖模块时。…...

tensorflow基础

windows安装tensorflow anaconda或者pip安装tensorflow&#xff0c;tensorflow只支持win7 64系统&#xff0c;本人使用tensorflow1.5版本&#xff08;pip install tensorflow1.5&#xff09; tensorboard tensorboard只支持chrome浏览器&#xff0c;而且加载过程中可能有一段…...

spring_注解笔记

spring使用注解开发 文章目录 1.前提1 Bean2 属性注入3 衍生的注解4.自动装配5 作用域 1.前提 步骤1&#xff1a; 要使用注解开发&#xff0c;就必须要保证AOP包的导入 步骤2&#xff1a; xml文件添加context约束 步骤3&#xff1a; 配置注解的支持 <context:annotation-…...

c++运算符重载

目录 运算符重载的基本概念 重载加号运算符() 类内实现 类外实现 运算符重载碰上友元函数 可重载和不可重载的运算符 可重载的运算符 不可重载的运算符 重载自加自减运算符(a a) 智能指针 重载等号运算符&#xff08;&#xff09; 重载等于和不等运算符&#xff08…...

vue子组件向父组件传参的方式

在Vue中&#xff0c;子组件向父组件传递参数可以通过自定义事件和props属性来实现。下面是一些关键代码示例&#xff1a; 1. 使用自定义事件&#xff1a; 在子组件中&#xff0c;通过 $emit 方法触发一个自定义事件&#xff0c;并传递参数。 <template><button cli…...

代码随想录Day41| 343. 整数拆分 |

343. 整数拆分 class Solution { public:int integerBreak(int n) {vector<int> f(n1,0);f[2]1;for(int i3;i<n;i){for(int j1;j<i-1;j){f[i]max(f[i],max(f[i-j]*j,(i-j)*j));}}return f[n];} }; 96. 不同的二叉搜索树 class Solution { public:int numTrees(int…...

工厂模式-(简单工厂模式)

首先看一下设计模式的六大原则 设计模式的六大原则 1、开闭原则&#xff08;Open Close Principle&#xff09; 开闭原则就是说对扩展开放&#xff0c;对修改关闭。在程序需要进行拓展的时候&#xff0c;不能去修改原有的代码&#xff0c;实现一个热插拔的效果。所以一句话概…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...