矩阵理论基本知识

1、矩阵范数、算子范数

  1. 矩阵无穷范数是非自相容范数,矩阵1-范数、矩阵2-范数是自相容范数
  2. 矩阵2-范数:Frobenius范数,是向量2-范数的自然推广。 ∥ A ∥ m 2 = ∥ A ∥ F = ∑ a i j ∗ a i j \|A\|_{m2}=\|A\|_{F}=\sqrt{\sum a_{ij}^*a_{ij}} Am2=AF=aijaij
    1. ∥ A ∥ m 2 = t r ( A H A ) = A 的正奇异值的平方和 \|A\|_{m2} = \sqrt{tr(A^HA)} = \sqrt{A的正奇异值的平方和} Am2=tr(AHA) =A的正奇异值的平方和
    2. ∥ A ∥ m 2 = ∥ U H A V ∥ m 2 = ∥ U A V H ∥ m 2 \|A\|_{m2} = \|U^HAV\|_{m2}=\|UAV^H\|_{m2} Am2=UHAVm2=UAVHm2
    3. ∥ A ∥ m 2 = ∥ U A ∥ m 2 = ∥ A V ∥ m 2 = ∥ U A V ∥ m 2 \|A\|_{m2} = \|UA\|_{m2}=\|AV\|_{m2} = \|UAV\|_{m2} Am2=UAm2=AVm2=UAVm2
  3. 矩阵范数是相容范数:则必存在向量范数与之相容。 ∣ ∣ A x ∣ ∣ ≤ ∣ ∣ A ∣ ∣ m ∣ ∣ x ∣ ∣ ||Ax||\le||A||_m ||x|| ∣∣Ax∣∣∣∣Am∣∣x∣∣
    1. 证明过程:构造 ∣ ∣ x ∣ ∣ = ∣ ∣ x a H ∣ ∣ m ||x|| = ||xa^H||_m ∣∣x∣∣=∣∣xaHm
    2. 矩阵的特征值一定小于等于该矩阵范数。
    3. 反过来说,如果矩阵的特征值大于了某个矩阵范数,则该矩阵范数一定不相容。
  4. 任意向量范数:则必存在矩阵范数与之相容,其中放大效果的最大值称为算子范数。
    1. 算子范数再大,不过向量范数的上确界,鸡头始终是鸡
    2. 和向量范数相容的矩阵范数,终归是矩阵范数,始终有 ∣ ∣ A x ∣ ∣ ≤ ∣ ∣ A ∣ ∣ m ∣ ∣ x ∣ ∣ ||Ax||\le||A||_m ||x|| ∣∣Ax∣∣∣∣Am∣∣x∣∣,所以矩阵范数会大于算子范数。
    3. 换句话说,和向量范数相容的矩阵范数的下确界是算子范数。
    4. 算子范数是自相容矩阵范数。 ∣ ∣ A k ∣ ∣ ≤ ∣ ∣ A ∣ ∣ k ||A^k||\le ||A||^k ∣∣Ak∣∣∣∣Ak
  5. 常见算子范数:
    1. 从属于向量1-范数的算子范数称为算子1范数:极大绝对列和范数;
    2. 从属于向量2-范数的算子范数称为算子2范数:谱范数= r ( A H A ) \sqrt{r(A^HA)} r(AHA)
    3. 从属于向量∞-范数的算子范数称为算子无穷范数:极大绝对行和范数;
    4. 证明思路:存在上界,上界可达。
  6. 算子范数的性质: ∣ ∣ ⋅ ∣ ∣ ||\cdot|| ∣∣∣∣是算子范数
    1. ∣ ∣ E ∣ ∣ = 1 ||E||=1 ∣∣E∣∣=1
    2. ∣ ∣ A − 1 ∣ ∣ ≥ ∣ ∣ A ∣ ∣ − 1 ||A^{-1}||\ge ||A||^{-1} ∣∣A1∣∣∣∣A1 ∣ ∣ A ∣ ∣ ≥ ∣ ∣ A − 1 ∣ ∣ − 1 ||A||\ge ||A^{-1}||^{-1} ∣∣A∣∣∣∣A11
    3. ∣ ∣ A − 1 ∣ ∣ − 1 = inf ⁡ ∣ ∣ A x ∣ ∣ ∣ ∣ x ∣ ∣ = m i n x ≠ 0 ∣ ∣ A x ∣ ∣ ∣ ∣ x ∣ ∣ ≤ ∣ ∣ A ∣ ∣ ||A^{-1}||^{-1} = \inf \frac{||Ax||}{||x||} = min_{x\ne0} \frac{||Ax||}{||x||}\le||A|| ∣∣A11=inf∣∣x∣∣∣∣Ax∣∣=minx=0∣∣x∣∣∣∣Ax∣∣∣∣A∣∣
    4. ∣ λ ∣ ≤ ∣ ∣ A ∣ ∣ |\lambda|\le ||A|| λ∣∣A∣∣ ∣ λ k ∣ ≤ ∣ ∣ A k ∣ ∣ |\lambda^k|\le ||A^k|| λk∣∣Ak∣∣
  7. HÖlder 范数:p-范数。可以p取1和无穷。
  8. HÖlder不等式: ∣ X H Y ∣ ≤ ∑ ∣ x i ∣ ∣ y j ∣ ≤ ∥ X ∥ q ∥ Y ∥ p , 1 / q + 1 / p = 1 |X^HY|\le \sum|x_i||y_j| \le\|X\|_q\|Y\|_p, 1/q+1/p=1 XHYxi∣∣yjXqYp,1/q+1/p=1

2、矩阵分解

已经写过一期了,见:矩阵理论–矩阵分解

补充:

正规矩阵A性质: A H A = A A H A^HA=AA^H AHA=AAH

  1. λ ( A ) = λ ˉ ( A H ) \lambda(A)=\bar \lambda(A^H) λ(A)=λˉ(AH) ∣ ∣ A x ∣ ∣ = ∣ ∣ A H x ∣ ∣ ||Ax|| = ||A^Hx|| ∣∣Ax∣∣=∣∣AHx∣∣
  2. A的特征子空间和AH的特征子空间完全相同。
  3. A的特征子空间正交。不同特征值的特征向量必正交。
  4. A是单纯矩阵

任意矩阵A:

  1. ∥ A ∥ m 2 = t r ( A H A ) = t r ( A A H ) \|A\|_{m2} = \sqrt{tr(A^HA)} = \sqrt{tr(AA^H)} Am2=tr(AHA) =tr(AAH)
  2. A H A A^HA AHA A A H AA^H AAH的非零特征值完全相同,数值相同、代数重复度相同。
  3. rank(A)=rank(AH)=rank(AHA)=rank(AAH)。证明很重要
    1. AHA的核空间包含A的核空间,即Ax=0,则必有AHAx=0
    2. A的核空间包含AHA的核空间,即AHAx=0,则必有xHAHAx=<Ax,Ax>=0,即Ax=0
    3. N(AHAx)=N(A),由秩-零化度定理知:rank(A)=rank(AHA)
  4. A H A A^HA AHA A A H AA^H AAH都是半正定矩阵。
  5. A的特征值和奇异值的关系:
    1. 若A为非方阵,则A没有特征值。但A有奇异值。
    2. 如果A为方阵,则A的特征值的平方和<=A的奇异值的平方和。
    3. 如果A为正规矩阵,则A的特征值的平方和==A的奇异值的平方和。
    4. 因为正规矩阵酉相似于对角阵,任意方阵酉相似于三角阵。

3、矩阵的估计

1、有关特征值的不等式
  1. 舒尔不等式: ∑ i = 1 n ∣ λ i ∣ 2 ≤ ∣ ∣ A ∣ ∣ F 2 \sum_{i=1}^{n}|\lambda_i|^2 \le ||A||_F^2 i=1nλi2∣∣AF2
  2. Hirsh不等式: ∣ λ i ∣ ≤ n ∣ ∣ A ∣ ∣ m ∞ |\lambda_i| \le n ||A||_{m_\infty} λin∣∣Am
  3. Bendixson不等式: ∣ I m λ i ∣ ≤ n ( n − 1 ) 2 ∣ ∣ ( A − A H ) / 2 ∣ ∣ m ∞ , A ∈ R n × n |Im\lambda_i|\le \sqrt{\frac{n(n-1)}{2}}||(A-A^H)/2||_{m_\infty},A\in R^{n\times n} Imλi2n(n1) ∣∣(AAH)/2∣m,ARn×n
    1. n(n-1)是因为实矩阵的反共轭对称分量是的对角元为0。
    2. 除以2是因为实矩阵的复特征根成对出现。
    3. 其余证明同Hirsh不等式
  4. Browne不等式: σ n ≤ ∣ λ i ∣ ≤ σ 1 \sigma_n\le|\lambda_i|\le \sigma_1 σnλiσ1
  5. Hadamard不等式: ∏ i = 1 n ∣ λ i ∣ = ∣ det ⁡ ( A ) ∣ ≤ ∏ i = 1 n α i H α i \prod_{i=1}^{n}|\lambda_i|=|\det(A)|\le \sqrt{\prod_{i=1}^n\alpha_i^H\alpha_i} i=1nλi=det(A)i=1nαiHαi
    1. 施密特正交化:A = BR,R是单位正线上三角
    2. det ⁡ ( A ) = det ⁡ ( B R ) = det ⁡ ( B ) det ⁡ ( R ) = det ⁡ ( B ) \det(A) = \det(BR)=\det(B)\det(R)=\det(B) det(A)=det(BR)=det(B)det(R)=det(B)
    3. $|\det(B)|^2 = |\det(B^H)\det(B)| = |\det(BHB)|=\prod_{i=1}n b_i^Hb_i \le\prod_{i=1}^n \alpha_i^H\alpha_i $
    4. ∣ det ⁡ ( A ) ∣ ≤ ∏ i = 1 n α i H α i |\det(A)|\le \sqrt{\prod_{i=1}^n\alpha_i^H\alpha_i} det(A)i=1nαiHαi
2、盖尔圆盘定理
  1. 关于圆盘定理1、圆盘定理2:Gerschgorin定理,以及用python绘制Gerschgorin圆盘动图
  2. 有的盖尔圆里面可能没有特征值(盖尔圆盘连通,将导致特征值函数不连续)
  3. n阶矩阵A的n个圆盘均孤立,则A可对角化(充分不必要)。
  4. n阶实矩阵A的n个圆盘均孤立,则A的特征根均为实数。
  5. 行严格对角占优矩阵A:
    1. 若A的对角元全大于0,则A的所有特征值有正实部;
    2. 若A的对角元全大于0,且A是Hermite矩阵,那么A的所有特征值均为正数。
3、Hermite矩阵的变分特征
  1. Courant-Fischer定理:Hermite矩阵的特征值估计——courant-fischer定理

  2. Weyl定理(韦尔定理):

    1. A,B均为Hermite矩阵
    2. λ k ( A ) + λ n ( B ) ≤ λ k ( A + B ) ≤ λ k ( A ) + λ 1 ( B ) \lambda_k(A)+\lambda_n(B)\le\lambda_k(A+B)\le\lambda_k(A)+\lambda_1(B) λk(A)+λn(B)λk(A+B)λk(A)+λ1(B)

4、矩阵分析

  1. 矩阵序列极限的运算规则:A(k)、B(k)的极限为A、B

    1. 线性运算:aA(k)+bB(k) →aA+bB (k → +∞)
    2. 乘:A(k)B(k) →AB (k → +∞)
    3. 当A(k)、A均可逆的时候:(A(k))-1 → A-1 (k → +∞)
  2. 用矩阵范数定义矩阵序列极限:

    1. lim ⁡ k → + ∞ ∣ ∣ A ( k ) − A ∣ ∣ = 0 \lim_{k\to+\infty}||A^{(k)}-A||=0 limk+∣∣A(k)A∣∣=0
  3. 收敛矩阵 等价于 谱半径r(A)<1

    1. lim ⁡ k → + ∞ A k = O \lim_{k\to+\infty}A^k=O limk+Ak=O称为收敛矩阵
  4. 矩阵级数绝对收敛的充要条件是正项级数 ∑ i = 0 ∞ ∣ ∣ A ( k ) ∣ ∣ \sum_{i=0}^{\infty}||A^{(k)}|| i=0∣∣A(k)∣∣收敛

  5. Neumann级数:E+A+A2+A3+…… = (E-A)-1. r(A)<1时成立

  6. 矩阵幂级数f(A):数项幂级数f(z)收敛半径为r,若r(A)<r则f(A)绝对收敛

  7. 矩阵函数:收敛的矩阵幂级数的和S,记作f(A)

  8. 收敛半径判断方法:

    1. 达朗贝尔判敛法: lim ⁡ n → ∞ ∣ c n + 1 c n ∣ = ρ {\displaystyle \lim _{n\to \infty }\left\vert {c_{n+1} \over c_{n}}\right\vert =\rho } nlim cncn+1 =ρ , R = 1/rho
    2. 柯西判敛法: R = lim inf ⁡ n → ∞ ∣ c n ∣ − 1 n {\displaystyle R=\liminf _{n\to \infty }\left|c_{n}\right|^{-{\frac {1}{n}}}} R=nliminfcnn1
  9. 四阶Jordan块的k次幂,特征值为a: [ a k k a k − 1 k ( k − 1 ) 2 ! k k − 2 k ( k − 1 ) ( k − 2 ) 3 ! k k − 3 0 a k k a k − 1 k ( k − 1 ) 2 ! k k − 2 0 0 a k k a k − 1 0 0 0 a k ] \begin{bmatrix}a^k&ka^{k-1}&\frac{k(k-1)}{2!}k^{k-2}&\frac{k(k-1)(k-2)}{3!}k^{k-3} \\0&a^k&ka^{k-1}&\frac{k(k-1)}{2!}k^{k-2}\\0&0 &a^k&ka^{k-1}\\0&0&0&a^k\end{bmatrix} ak000kak1ak002!k(k1)kk2kak1ak03!k(k1)(k2)kk32!k(k1)kk2kak1ak

5、广义逆矩阵

逆,生来就是用于解方程组的。

  1. 逆:行列满秩。

  2. 单边逆:左逆列满秩;右逆行满秩。

    1. 求法:高斯消元。

    2. 列满秩矩阵:Ax=b

      1. 行初等变换,可以得到左逆 A L − 1 A_L^{-1} AL1
      2. 有解的充要条件: A A L − 1 b = b AA_L^{-1}b=b AAL1b=b
      3. 唯一解: x = ( A H A ) − 1 A H b = A L − 1 b \Large x = (A^HA)^{-1}A^Hb=A_L^{-1}b x=(AHA)1AHb=AL1b
      4. 需要注意,左逆矩阵不唯一, ( A H A ) − 1 A H (A^HA)^{-1}A^H (AHA)1AH也是列满秩矩阵A的左逆。
    3. 行满秩矩阵:

      1. 列初等变换,可以得到右逆 A R − 1 A_R^{-1} AR1
      2. 行满秩矩阵一定有解,且解不唯一。自由未知数的个数为n-m
      3. A H ( A A H ) − 1 A^H(AA^H)^{-1} AH(AAH)1是A的一个右逆。右逆矩阵不唯一。
      4. 需要注意: A H ( A A H ) − 1 b ≠ A R − 1 b \large A^H(AA^H)^{-1}b {\ne} A_R^{-1}b AH(AAH)1b=AR1b 通常情况求出来的是两个不同的解,均满足Ax=b。这是因为行满秩矩阵Ax=b的解不唯一。
      5. 行满秩矩阵的A+是A的一个右逆。
  3. 广义逆:任何矩阵都存在广义逆矩阵。

    1. AGA=A 等价于 G是A的广义逆矩阵

    2. 单边逆是广义逆的特殊情况。

    3. Ax = b有解的充要条件:rank A = rank (A b)

    4. 当A列满秩,且rank A = rank (A b) ,则有唯一解。

    5. 当A非列满秩,且有解,则有无穷多解。

    6. Gb = x , 且Ax = b,则称G是A的一个广义逆。

    7. 广义逆矩阵不唯一,零矩阵的广义逆矩阵是任意矩阵。

    8. 广义逆矩阵通常记作 A − A^- A,区别于 A − 1 A^{-1} A1

    9. 广义逆矩阵的秩 大于等于 A的秩。

    10. 广义逆矩阵是逆矩阵的推广,当A是可逆矩阵的时候,A-=A-1

    11. 广义逆矩阵有逆矩阵类似的性质:

      性质广义逆矩阵逆矩阵
      定义对于矩阵A,存在矩阵B,使得ABA=A对于方阵A,存在矩阵B,使得AB=BA=I
      记号 A − A^- A A − 1 A^{-1} A1
      行为对于任意向量b,满足 A A − AA^- AAb=b对于任意向量b,满足 A A − 1 AA^{-1} AA1b=b
      矩阵乘法 A A − AA^- AAA=AAA − 1 ^{-1} 1A=A
      矩阵的秩rank( A − A A^-A AA)=rank( A A − AA^- AA)=rank(A)rank(AA − 1 ^{-1} 1)=rank(A)=n(满秩)
      逆的存在广义逆存在于可逆和不可逆矩阵中逆存在于方阵(可逆矩阵)中
      唯一性广义逆可以有多个不同的解逆是唯一的
      幂等性 A A − AA^- AA A − A A^-A AA是幂等矩阵 A A − 1 = A − 1 A = I AA^{-1}=A^{-1}A=I AA1=A1A=I是幂等矩阵
      数乘aA的广义逆为 1 a A − , a ≠ 0 \frac{1}{a} A^-,a\ne0 a1Aa=0aA的逆为 1 a A − 1 , a ≠ 0 \frac{1}{a} A^{-1},a\ne0 a1A1a=0
      正交投影 ( A A − ) H = A A − (AA^-)^H=AA^- (AA)H=AA,则 A A − = P R ( A ) AA^-=P_{R(A)} AA=PR(A) A A − 1 = I AA^{-1}=I AA1=I,I是从Cn到R(A)的正交投影
  4. 自反广义逆

    1. 定义:AGA=A且GAG=G。存在且不唯一。
    2. 求法:
      1. 最大秩分解法:A=BD, A r − = D R − 1 B L − 1 A_r^-=D_R^{-1}B_L^{-1} Ar=DR1BL1
      2. 构造法:X、Y是A的广义逆,则Z = XAY是自反广义逆,当然YAX也是自反广义逆。
      3. 公式法:X=(AHA)-AH,Y =AH(AAH)-都是自反广义逆
        1. R(AH)=R(AHA), N(A)=N(AHA)
        2. 存在D,使得AH=AHAD
        3. 代入可证明AXA=A
        4. rank(X)<=rank(AH)=rank(AHA) = rank(AHA(AHA)-AHA)=rank(AHAXA)<=rank(X)
        5. 所以X是自反广义逆
    3. A_是自反广义逆的充要条件是rank(A)=rank(A-)
      1. 必要性:AGA=A且GAG=G,则rank(A)=rank(AGA)<=rank(G)=rank(GAG)<=rank(A)
      2. 充分性:
        1. R(GA)属于R(G),R(GA)=R(A)=R(G),则R(G)=R(GA);
        2. GE=G,则存在X,GAX=G
        3. A=AGA=AGAXA=AXA
        4. 由构造法知G是自反广义逆
    4. 几何性质
      1. R ( A ) ⊕ N ( A H ) = C m R(A)\oplus N(A^H)=C^m R(A)N(AH)=Cm
      2. R ( A H ) ⊕ N ( A ) = C n R(A^H)\oplus N(A)=C^n R(AH)N(A)=Cn
      3. R ( A ) ⊕ N ( A r − ) = C m R(A)\oplus N(A^-_r)=C^m R(A)N(Ar)=Cm
      4. R ( A r − ) ⊕ N ( A ) = C n R(A^-_r)\oplus N(A)=C^n R(Ar)N(A)=Cn
      5. R ( A r − ) = R ( A H ) R(A^-_r) = R(A^H) R(Ar)=R(AH)
      6. N ( A r − ) = N ( A H ) N(A^-_r) = N(A^H) N(Ar)=N(AH)
  5. MP广义逆

    1. 定义:AGA=A,GAG=G,(GA)H=GA, (AG)H=AG
    2. 存在且唯一
    3. 计算方法:
      1. 最大值分解法: A + = D H ( D D H ) − 1 ( B H B ) − 1 B H A^+=D^H(DD^H)^{-1}(B^HB)^{-1}B^H A+=DH(DDH)1(BHB)1BH
      2. 奇异值分解法: A + = V H D + U H A^+=V^HD^+U^H A+=VHD+UH
      3. 注意:最大值分解不唯一,然而最大值分解的这种乘积,即A+是唯一的。
    4. A+的性质:
      1. 自反性:(A+)+=A
      2. 唯一性: A + = ( A H A ) + A H = A H ( A A H ) + = D H ( D D H ) − 1 ( B H B ) − 1 B H A^+=(A^HA)^+A^H=A^H(AA^H)^+=D^H(DD^H)^{-1}(B^HB)^{-1}B^H A+=(AHA)+AH=AH(AAH)+=DH(DDH)1(BHB)1BH
      3. 几何性质: R ( A + ) = R ( A H ) R(A^+) = R(A^H) R(A+)=R(AH)
      4. 正交投影性: A A + = P R ( A ) , A + A = P R ( A H ) AA^+=P_{R(A)},A^+A=P_{R(A^H)} AA+=PR(A),A+A=PR(AH)
      5. 行列子空间相等性:R(A)=R(AH)的充要条件是 A + A = A + A A^+A=A^+A A+A=A+A
      6. ( A H A ) + = A + ( A H ) + = A + ( A A H ) + A = A H ( A A H ) + ( A H ) + (A^HA)^+=A^+(A^H)^+=A^+(AA^H)^+A=A^H(AA^H)^+(A^H)^+ (AHA)+=A+(AH)+=A+(AAH)+A=AH(AAH)+(AH)+
      7. A + A = ( A H A ) + ( A H A ) = ( A H A ) ( A H A ) + A^+A=(A^HA)^+(A^HA)=(A^HA)(A^HA)^+ A+A=(AHA)+(AHA)=(AHA)(AHA)+
    5. 若A是Hermite矩阵:
      1. ( A 2 ) + = ( A + ) 2 (A^2)^+=(A^+)^2 (A2)+=(A+)2
  6. 矩阵方程通解:

    1. AXB=D有解的充要条件:AA-DB-B=D
    2. 通解:X=A-DB-+Y-A-AYBB-
    3. Ax=b有解的充要条件:AA-b=b
    4. 通解:x = AA-b +y-A-1Ay
  7. 相容方程组的最小范数解:

    1. 相容方程组:有解方程组
    2. AGA=A,(GA)H=GA
    3. Gb=x是最小范数解
  8. 不相容方程组的最小二乘解:

    1. 不相容方程组:无解方程组
    2. AGA=A,(AG)H=AG
    3. Gb=x是最小二乘解
  9. 不相容方程组的最小二乘解有时候不够好,最小二乘解的最小范数解叫最佳逼近解:

    1. 最佳逼近解:A+b=x
    2. 如果方程组是相容方程组,则A+b是最小范数解
  10. 关于广义逆的运算规则

    1. ( A − ) H = ( A H ) − (A^-)^H=(A^H)^- (A)H=(AH)
    2. B = S A T , B − = T − 1 A − S − 1 B=SAT,B^-=T^{-1}A^-S^{-1} B=SAT,B=T1AS1
    3. ( A B ) + = B + A + (AB)^+=B^+A^+ (AB)+=B+A+的充要条件: R ( A H A B ) ⊂ R ( B ) , R ( B B H A H ) ⊂ R ( A H ) R(A^HAB)\sub R(B),R(BB^HA^H)\sub R(A^H) R(AHAB)R(B),R(BBHAH)R(AH)

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

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

相关文章

pytest实现多进程与多线程运行超好用的插件

前言 如果想分布式执行用例&#xff0c;用例设计必须遵循以下原则&#xff1a; 1、用例之间都是独立的&#xff0c; 2、用例a不要去依赖用例b 3、用例执行没先后顺序&#xff0c; 4、随机都能执行每个用例都能独立运行成功每个用例都能重复运行&#xff0c;不影响其它用例 这…

深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第五节 引用类型复制问题及用克隆接口ICloneable修复

深入浅出图解C#堆与栈 C# Heaping VS Stacking 第五节 引用类型复制问题及用克隆接口ICloneable修复 [深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第一节 理解堆与栈](https://mp.csdn.net/mdeditor/101021023)[深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第二节…

九九乘法表c 语言 用于打印九九乘法表

以下是一个简单的C语言程序&#xff0c;用于打印九九乘法表&#xff1a; #include <stdio.h>int main() {int i, j;for (i 1; i < 9; i) {for (j 1; j < i; j) {printf("%d*%d%-2d ", j, i, i*j);}printf("\n");}return 0; }解释&#xff1…

JavaScript练习题第(四)部分

大家好关于JavaScript基础知识点已经发布&#xff1a;需要的大家可以去我的主要查看 &#xff08;当然了有任何不会的&#xff0c;可以私信我&#xff01;&#xff01;&#xff01;&#xff01;&#xff09; 为了巩固大家学习知识点给大家准备几道练习题&#xff1a; 当然&…

网络编程『简易TCP网络程序』

&#x1f52d;个人主页&#xff1a; 北 海 &#x1f6dc;所属专栏&#xff1a; Linux学习之旅、神奇的网络世界 &#x1f4bb;操作环境&#xff1a; CentOS 7.6 阿里云远程服务器 文章目录 &#x1f324;️前言&#x1f326;️正文TCP网络程序1.字符串回响1.1.核心功能1.2.程序…

CGAL的D维包围盒相交计算

包围盒相交测试是一种用于快速判断两个三维对象是否相交的方法&#xff0c;而AABB树则是一种数据结构&#xff0c;常用于加速场景中的射线检测和碰撞检测。 首先&#xff0c;让我们了解一下包围盒相交测试。这种测试的目的是为了快速判断两个三维对象是否相交&#xff0c;而不需…

同化的题解

时间限制: 1000ms 空间限制: 524288kB 题目描述 古人云&#xff1a;“近朱者赤近墨者黑”。这句话是很有道理的。这不鱼大大和一群苦命打工仔被安排进厂拧螺丝了。 进厂第一天&#xff0c;每个人拧螺丝的动力k都是不同且十分高涨的。但是当大家坐在一起后会聊天偷懒&#xf…

【算法刷题】python刷题--合并链表

[23] 合并 K 个升序链表 from typing import List,Optional class ListNode:def __init__(self, val0, nextNone):self.val valself.next next# lc codestart # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # …

在微服务中如何实现全链路的金丝雀发布?

目录 1. 什么金丝雀发布&#xff1f;它有什么用&#xff1f; 2.如何实现全链路的金丝雀发布 2.1 负载均衡模块 2.2 网关模块 2.3 服务模块 2.3.1 注册为灰色服务实例 2.3.2 设置负载均衡器 2.3.3 传递灰度发布标签 2.4 其他代码 2.4.1 其他业务代码 2.4.2 pom.xml 关…

利用C语言实现set——手搓set

在 C 语言中&#xff0c;可以使用数组来手动实现 Set&#xff08;集合&#xff09;的功能。具体来说&#xff0c;以下是一种简单的在 C 语言中手动实现 Set 的方法&#xff1a; 一、定义数组来存储set元素 首先&#xff0c;定义一个数组来存储 Set 的元素。数组中的每个元素代…

CSS 向上扩展动画

上干货 <template><!-- mouseenter"startAnimation" 表示在鼠标进入元素时触发 startAnimation 方法。mouseleave"stopAnimation" 表示在鼠标离开元素时触发 stopAnimation 方法。 --><!-- 容器元素 --><div class"container&q…

SAP VA01 创建带wbs号的销售订单包 CJ067的错误

接口错误提示如下 SAP官方 CJ067 124177 - VA01: CJ067 during WBS acct assgmt with a different business area S4的core 刚好能用上 实施 这个note后成功

引力魔方的操作知识

引力魔方的一些操作以及问题如图所示&#xff1a; 主要包含以下内容&#xff1a; 1.如何搭建计划&#xff1f; 2.创意素材说明&#xff1b; 3.如何出价&#xff1f; 4.如何提高引力魔方点击率&#xff1f; 5.如何优化定向和溢价&#xff1b; 6.冷启动&#xff1a;计划开…

基于WEB的网上购物系统的设计与实现(附:源码 论文 sql文件)

摘 要 随着计算机网络技术的飞速发展和人们生活节奏的不断加快&#xff0c;电子商务技术已经逐渐融入了人们的日常生活当中&#xff0c;网上商城作为电子商务最普遍的一种形式&#xff0c;已被大众逐渐接受。因此开发一个网上商城系统&#xff0c;适合当今形势&#xff0c;更加…

DRF从入门到精通六(排序组件、过滤组件、分页组件、异常处理)

文章目录 一、排序组件继承GenericAPIView使用DRF内置排序组件继承APIView编写排序 二、过滤组件继承GenericAPIView使用DRF内置过滤器实现过滤使用第三方模块django-filter实现and关系的过滤自定制过滤类排序搭配过滤使用 三、分页组件分页器一&#xff1a;Pagination&#xf…

【11】ES6:async/await

一、概念 async/await 是 ES2017&#xff08;ES8&#xff09;的新特性&#xff0c;它是一种基于 Promise 实现的异步编程方式。async/await 也是一种语法糖。 1、async/await 实现了用同步方式来写异步代码&#xff08;promise是链式调用形式写异步代码&#xff09; 2、asyn…

【JavaScript】闭包机制

✨ 专栏介绍 在现代Web开发中&#xff0c;JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性&#xff0c;还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言&#xff0c;JavaScript具有广泛的应用场景&#x…

java设计模式学习之【解释器模式】

文章目录 引言解释器模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用表达式解析示例代码地址 引言 在我们的日常生活中&#xff0c;语言的翻译和理解是沟通的关键。每种语言都有自己的语法规则&#xff0c;而翻译人员和计算机程序需要理解并遵循这些规则来…

LeetCode75| 队列

目录 933 最近的请求次数 649 Dota2 参议院 933 最近的请求次数 class RecentCounter { public:queue<int>st;RecentCounter() {}int ping(int t) {st.push(t);while(t - st.front() > 3000)st.pop();return st.size();} };时间复杂度O(1) 空间复杂度O(n)//n为队列…

手写Promise

目录 前言 状态 使用方法 构造函数 对象 结论 第一阶段 搭建基本结构 思路 代码实现 测试一下 实现then方法获取异步值 思路 改造代码如下 测试一下 成功场景 失败场景 实现类的resolve,reject以及catch方法 思路 代码实现 测试一下 第一阶段总结 第二阶…