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

线性代数的本质(四)

文章目录

  • 行列式

行列式

二阶行列式

行列式引自对线性方程组的求解。考虑两个方程的二元线性方程组
{ a 11 x 1 + a 12 x 2 = b 1 a 21 x 1 + a 22 x 2 = b 2 \begin{cases} a_{11}x_1+a_{12}x_2=b_1 \\ a_{21}x_1+a_{22}x_2=b_2 \end{cases} {a11x1+a12x2=b1a21x1+a22x2=b2
可使用消元法,得
( a 11 a 22 − a 12 a 21 ) x 1 = b 1 a 22 − a 12 b 2 ( a 11 a 22 − a 12 a 21 ) x 2 = a 11 b 2 − b 1 a 21 (a_{11}a_{22}-a_{12}a_{21})x_1=b_1a_{22}-a_{12}b_2 \\ (a_{11}a_{22}-a_{12}a_{21})x_2=a_{11}b_2-b_1a_{21} (a11a22a12a21)x1=b1a22a12b2(a11a22a12a21)x2=a11b2b1a21
a 11 a 22 − a 12 a 21 ≠ 0 a_{11}a_{22}-a_{12}a_{21}\neq 0 a11a22a12a21=0 时,得
x 1 = b 1 a 22 − a 12 b 2 a 11 a 22 − a 12 a 21 , x 2 = a 11 b 2 − b 1 a 21 a 11 a 22 − a 12 a 21 x_1=\frac{b_1a_{22}-a_{12}b_2}{a_{11}a_{22}-a_{12}a_{21}},\quad x_2=\frac{a_{11}b_2-b_1a_{21}}{a_{11}a_{22}-a_{12}a_{21}} x1=a11a22a12a21b1a22a12b2,x2=a11a22a12a21a11b2b1a21
从方程组解来看,分母 a 11 a 22 − a 12 a 21 a_{11}a_{22}-a_{12}a_{21} a11a22a12a21 是系数矩阵 A = [ a 11 a 12 a 21 a 22 ] A=\begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22}\end{bmatrix} A=[a11a21a12a22] 的元素计算得到,称这个值为矩阵 A A A二阶行列式(determinant),记为 det ⁡ A \det A detA ∣ A ∣ |A| A ,或记为数表形式
∣ a 11 a 12 a 21 a 22 ∣ = a 11 a 22 − a 12 a 21 \begin{vmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{vmatrix}=a_{11}a_{22}-a_{12}a_{21} a11a21a12a22 =a11a22a12a21
利用二阶行列式的概念,分子也可写为二阶行列式
det ⁡ A 1 = ∣ b 1 a 12 b 2 a 22 ∣ = b 1 a 22 − a 12 b 2 det ⁡ A 2 = ∣ a 11 b 1 a 21 b 2 ∣ = a 11 b 2 − b 1 a 21 \det A_1=\begin{vmatrix} b_1 & a_{12} \\ b_2 & a_{22}\end{vmatrix}=b_1a_{22}-a_{12}b_2 \\ \det A_2=\begin{vmatrix} a_{11} & b_1 \\ a_{21} & b_2\end{vmatrix}=a_{11}b_2-b_1a_{21} detA1= b1b2a12a22 =b1a22a12b2detA2= a11a21b1b2 =a11b2b1a21
从上面对比可以看出, x j x_j xj 的矩阵 A j A_j Aj 是系数矩阵 A A A的第 j j j 列用常数项代替后的矩阵。这样,方程组的解可表示为
x 1 = det ⁡ A 1 det ⁡ A , x 2 = det ⁡ A 2 det ⁡ A x_1=\frac{\det A_1}{\det A},\quad x_2=\frac{\det A_2}{\det A} x1=detAdetA1,x2=detAdetA2

n n n 阶行列式

考虑三个方程的三元线性方程组,系数矩阵为
A = [ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ] A=\begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\a_{31} & a_{32} & a_{33}\end{bmatrix} A= a11a21a31a12a22a32a13a23a33
用消元法可知未知数的分母同样是系数矩阵 A A A 的元素运算得到,于是定义三阶行列式为
∣ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ = a 11 a 22 a 33 + a 12 a 23 a 31 + a 13 a 21 a 32 − a 11 a 23 a 32 − a 12 a 21 a 33 − a 13 a 22 a 31 \begin{vmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\a_{31} & a_{32} & a_{33}\end{vmatrix} =a_{11}a_{22}a_{33}+a_{12}a_{23}a_{31}+a_{13}a_{21}a_{32} -a_{11}a_{23}a_{32}-a_{12}a_{21}a_{33}-a_{13}a_{22}a_{31} a11a21a31a12a22a32a13a23a33 =a11a22a33+a12a23a31+a13a21a32a11a23a32a12a21a33a13a22a31
由二阶行列式的定义,上式可变为
∣ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ = a 11 ∣ a 22 a 23 a 32 a 33 ∣ − a 12 ∣ a 21 a 23 a 31 a 33 ∣ + a 13 ∣ a 11 a 12 a 21 a 22 ∣ \begin{vmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\a_{31} & a_{32} & a_{33}\end{vmatrix}= a_{11}\begin{vmatrix} a_{22} & a_{23} \\ a_{32} & a_{33}\end{vmatrix}- a_{12}\begin{vmatrix} a_{21} & a_{23} \\ a_{31} & a_{33}\end{vmatrix}+ a_{13}\begin{vmatrix} a_{11} & a_{12} \\ a_{21} & a_{22}\end{vmatrix} a11a21a31a12a22a32a13a23a33 =a11 a22a32a23a33 a12 a21a31a23a33 +a13 a11a21a12a22
进一步探索 n n n 元线性方程组,可知高阶行列式定义。为书写方便,把元素 a i j a_{ij} aij 所在的行和列划掉后,剩下的元素组成的行列式称为 a i j a_{ij} aij余子式(cofactor),记作 M i j M_{ij} Mij ,并称
A i j = ( − 1 ) i + j M i j A_{ij}=(-1)^{i+j}M_{ij} Aij=(1)i+jMij
a i j a_{ij} aij代数余子式(algebraic cofactor)。

定义:方阵 A A A 的行列式用第一行元素的代数余子式定义为
det ⁡ A = ∣ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ∣ = ∑ j = 1 n a 1 j A 1 j \det A=\begin{vmatrix} a_{11}&a_{12}&\cdots&a_{1n} \\ a_{21}&a_{22}&\cdots&a_{2n} \\ \vdots&\vdots&\ddots&\vdots \\ a_{n1}&a_{n2}&\cdots&a_{nn} \\ \end{vmatrix}=\sum_{j=1}^na_{1j}A_{1j} detA= a11a21an1a12a22an2a1na2nann =j=1na1jA1j
由定义易知,行列式可以按任意行(列)展开。
det ⁡ A = ∑ j = 1 n a i j A i j , by row  i det ⁡ A = ∑ i = 1 n a i j A i j , by col  j \det A=\sum_{j=1}^na_{ij}A_{ij}, \quad \text{by row }i \\ \det A=\sum_{i=1}^na_{ij}A_{ij}, \quad \text{by col }j detA=j=1naijAij,by row idetA=i=1naijAij,by col j

行列式的性质

性质:使用数学归纳法可知

  1. 行列式与其转置行列式相等: det ⁡ A T = det ⁡ A \det A^T=\det A detAT=detA
  2. 互换行列式两行(列),行列式改变符号。
    ∣ a b c d ∣ = − ∣ c d a b ∣ \begin{vmatrix}a&b\\c&d\end{vmatrix}=-\begin{vmatrix}c&d\\a&b\end{vmatrix} acbd = cadb
  3. 行列式的某一行(列)所有元素同乘以数 k k k,等于数 k k k乘以该行列式。
    ∣ k a b k c d ∣ = k ∣ a b c d ∣ \begin{vmatrix}ka&b\\kc&d\end{vmatrix}=k\begin{vmatrix}a&b\\c&d\end{vmatrix} kakcbd =k acbd
  4. 若行列式的某一行(列)的为两组数之和,则可表示为两行列式之和。
    ∣ a 1 + a 2 b c 1 + c 2 d ∣ = ∣ a 1 b c 1 d ∣ + ∣ a 2 b c 2 d ∣ \begin{vmatrix}a_1+a_2&b\\c_1+c_2&d\end{vmatrix}=\begin{vmatrix}a_1&b\\c_1&d\end{vmatrix}+\begin{vmatrix}a_2&b\\c_2&d\end{vmatrix} a1+a2c1+c2bd = a1c1bd + a2c2bd
  5. 把行列式的某一行(列)所有元素同乘以数 k k k 都加到另一行(列)对应的元素上去,行列式的值不变。
    ∣ a b c d ∣ = ∣ a + k b b c + k d d ∣ \begin{vmatrix}a&b\\c&d\end{vmatrix}=\begin{vmatrix}a+kb&b\\c+kd&d\end{vmatrix} acbd = a+kbc+kdbd
  6. 矩阵乘积的行列式等于行列式的乘积: det ⁡ ( A B ) = ( det ⁡ A ) ( det ⁡ B ) = det ⁡ ( B A ) \det(AB)=(\det A)(\det B)=\det(BA) det(AB)=(detA)(detB)=det(BA)

推论

  1. 行列式中若有两行(列)元素相同,该行列式的值为零。
  2. 行列式中某一行(列)的公因子可以提取到行列式符号外面。
  3. 行列式中若有两行(列)元素成比例,则此行列式等于零。
  4. det ⁡ ( k A ) = k n det ⁡ A \det(kA)=k^n\det A det(kA)=kndetA

由上面的性质,我们很容易得到:

  1. 出现零行和零列的行列式为零。
  2. 对角阵 A = diag ( λ 1 , λ 2 , ⋯ , λ n ) A=\text{diag}(\lambda_1,\lambda_2,\cdots,\lambda_n) A=diag(λ1,λ2,,λn) 的行列式 det ⁡ A = λ 1 λ 2 ⋯ λ n \det A=\lambda_1\lambda_2\cdots\lambda_n detA=λ1λ2λn
  3. 如果 A A A 是三角阵,行列式为主对角线元素的乘积。

对于高阶行列式,一般利用行列式的性质,初等变换化为三角行列式求解。

示例:可用数学归纳法证明范德蒙行列式(Vandermonde determinant):
∣ 1 1 ⋯ 1 a 1 a 2 ⋯ a n a 1 2 a 2 2 ⋯ a n 2 ⋮ ⋮ ⋮ ⋮ a 1 n − 1 a 2 n − 1 ⋯ a n n − 1 ∣ = ∏ 1 ⩽ i < j ⩽ n ( a j − a i ) \begin{vmatrix} 1 & 1& \cdots &1 \\ a_1 &a_2&\cdots &a_n \\ a_1^2 &a_2^2&\cdots &a_n^2 \\ \vdots &\vdots&\vdots &\vdots \\ a_1^{n-1} &a_2^{n-1}&\cdots &a_n^{n-1} \end{vmatrix}=\prod_{1⩽ i<j⩽n}(a_j-a_i) 1a1a12a1n11a2a22a2n11anan2ann1 =1i<jn(ajai)

行列式函数:若 A A A n n n阶矩 阵,可以将 det ⁡ A \det A detA 看作 A A A n n n 个列向量的函数。若 A A A 中除了一列之外都是固定的向量,则 det ⁡ A \det A detA 是线性函数。

假设第 j j j 列是变量,定义映射 x ↦ T ( x ) \mathbf x\mapsto T(\mathbf x) xT(x)
T ( x ) = det ⁡ A = det ⁡ [ a 1 ⋯ x ⋯ a n ] T(\mathbf x)=\det A=\det\begin{bmatrix}\mathbf a_1\cdots\mathbf x\cdots\mathbf a_n\end{bmatrix} T(x)=detA=det[a1xan]
则有
T ( c x ) = c T ( x ) T ( u + v ) = T ( u ) + T ( v ) T(c\mathbf x)=cT(\mathbf x) \\ T(\mathbf u+\mathbf v)=T(\mathbf u)+T(\mathbf v) T(cx)=cT(x)T(u+v)=T(u)+T(v)

克拉默法则

这里只讨论方程个数和未知数相等的 n n n元线性方程组
A x = b A\mathbf x=\mathbf b Ax=b
det ⁡ A ≠ 0 \det A\neq0 detA=0,那么它有唯一解
x j = det ⁡ A j ( b ) det ⁡ A , ( j = 1 , 2 , ⋯ , n ) x_j=\frac{\det A_j(\mathbf b)}{\det A},\quad(j=1,2,\cdots,n) xj=detAdetAj(b),(j=1,2,,n)

约定 A j ( b ) A_j(\mathbf b) Aj(b) 表示用向量 b \mathbf b b 替换矩阵 A A A的第 j j j列。

证:用 a 1 , a 2 , ⋯ , a n \mathbf a_1,\mathbf a_2,\cdots,\mathbf a_n a1,a2,,an 表示矩阵 A A A 的各列, e 1 , e 2 , ⋯ , e n \mathbf e_1,\mathbf e_2,\cdots,\mathbf e_n e1,e2,,en 表示单位阵 I n I_n In 的各列。由分块矩阵乘法
A I j ( x ) = A [ e 1 ⋯ x ⋯ e n ] = [ A e 1 ⋯ A x ⋯ A e n ] = [ a 1 ⋯ b ⋯ a n ] = A j ( b ) \begin{aligned} AI_j(\mathbf x)&=A\begin{bmatrix}\mathbf e_1&\cdots&\mathbf x&\cdots&\mathbf e_n\end{bmatrix} \\ &=\begin{bmatrix}A\mathbf e_1&\cdots& A\mathbf x&\cdots& A\mathbf e_n\end{bmatrix} \\ &=\begin{bmatrix}\mathbf a_1&\cdots&\mathbf b&\cdots&\mathbf a_n\end{bmatrix} \\ &=A_j(\mathbf b) \end{aligned} AIj(x)=A[e1xen]=[Ae1AxAen]=[a1ban]=Aj(b)
由行列式的乘法性质
det ⁡ A det ⁡ I j ( x ) = det ⁡ A j ( b ) \det A\det I_j(\mathbf x)=\det A_j(\mathbf b) detAdetIj(x)=detAj(b)
左边第二个行列式可沿第 j j j 列余子式展开求得 det ⁡ I j ( x ) = x j \det I_j(\mathbf x)=x_j detIj(x)=xj。从而
x j det ⁡ A = det ⁡ A j ( b ) x_j\det A=\det A_j(\mathbf b) xjdetA=detAj(b)
det ⁡ A ≠ 0 \det A\neq0 detA=0,则上式得证。

行列式的几何理解

Grant:行列式告诉你一个线性变换对区域的缩放比例。

我们已经知道,线性变换保持网格线平行且等距。为了方便,我们只考虑在平面直角坐标系内,单位基向量 i , j \mathbf i,\mathbf j i,j 所围成的单位正方形区域的线性变换。

根据向量加法的平行四边形法则和线性变换基本性质知,变换后的区域为矩阵 A = [ a b c d ] A=\begin{bmatrix}a & b\\c & d\end{bmatrix} A=[acbd] 的列向量 [ a c ] \begin{bmatrix}a\\c\end{bmatrix} [ac] [ b d ] \begin{bmatrix}b\\d\end{bmatrix} [bd] 为邻边的平行四边形区域。

结论:二阶行列式的值表示由 A A A 的列确定的有向平行四边形的面积。

(1) 若 A A A 为对角阵,显然行列式 det ⁡ [ a b 0 d ] \det\begin{bmatrix}a & b\\0 & d\end{bmatrix} det[a0bd] 表示底为 a a a,高为 d d d 的平行四边形面积

在这里插入图片描述

(2) 更一般的情况 A = [ a b c d ] A=\begin{bmatrix}a & b\\c & d\end{bmatrix} A=[acbd] ,可以看出,行列式的值与面积有着紧密的联系。

在这里插入图片描述

(3) 矩阵 [ a 2 a a 1 ] \begin{bmatrix}a^2 & a\\a & 1\end{bmatrix} [a2aa1] 表示将单位正方形压缩成线段,面积自然为0,行列式的值为0

在这里插入图片描述

单位正方形区域缩放的比例,其实可以代表任意给定区域缩放的比例。这是因为,线性变换保持网格线平行且等距。对于空间中任意区域的面积,借助微积分的思想,我们可以采用足够的小方格来逼近区域的面积,对所有小方格等比例缩放,则整个区域也以同样的比例缩放。
volume  T ( Ω ) = ( det ⁡ T ) ( volume  Ω ) \text{volume }T(\Omega) = (\det T)(\text{volume }\Omega) volume T(Ω)=(detT)(volume Ω)
在这里插入图片描述

通过行列式的几何意义,我们就建立了线性变换、矩阵、行列式之间的关系。不难得出

  1. 复合线性变换缩放的比例相当于每次变换缩放比例的乘积,即
    det ⁡ A B = det ⁡ A det ⁡ B \det AB=\det A\det B detAB=detAdetB
  2. 行列式的值为零,表示将空间压缩到更低的维度,矩阵的列向量线性相关

相关文章:

线性代数的本质(四)

文章目录 行列式二阶行列式 n n n 阶行列式行列式的性质克拉默法则行列式的几何理解 行列式 二阶行列式 行列式引自对线性方程组的求解。考虑两个方程的二元线性方程组 { a 11 x 1 a 12 x 2 b 1 a 21 x 1 a 22 x 2 b 2 \begin{cases} a_{11}x_1a_{12}x_2b_1 \\ a_{21}x_…...

FreeMarker详细介绍

FreeMarker详细介绍 FreeMarker FreeMarker概述 FreeMarker概念 FreeMarker 是一款 模板引擎&#xff1a; 即一种基于模板和要改变的数据&#xff0c; 并用来生成输出文本(HTML网页&#xff0c;电子邮件&#xff0c;配置文件&#xff0c;源代码等)的通用工具。 是一个Java类库…...

房地产小程序 | 小程序赋能,房地产业务数字化升级

随着科技的不断发展&#xff0c;房地产行业正逐渐向数字化转型。在这个过程中&#xff0c;房地产小程序成为了一种重要的工具&#xff0c;可以帮助房地产企业提供更好的购房体验、增加销售额&#xff0c;并实现管理的便捷化。 优点 便捷购房体验&#xff1a;房地产小程序为用户…...

Databend 开源周报第 110 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 使用 BendSQL 管…...

开源大模型ChatGLM2-6B 1. 租一台GPU服务器测试下

0. 环境 租用了1台GPU服务器&#xff0c;系统 ubuntu20&#xff0c;GeForce RTX 3090 24G。过程略。本人测试了ai-galaxy的&#xff0c;今天发现网友也有推荐autodl的。 &#xff08;GPU服务器已经关闭&#xff0c;因此这些信息已经失效&#xff09; SSH地址&#xff1a;* 端…...

SQL10 用where过滤空值练习

描述 题目&#xff1a;现在运营想要对用户的年龄分布开展分析&#xff0c;在分析时想要剔除没有获取到年龄的用户&#xff0c;请你取出所有年龄值不为空的用户的设备ID&#xff0c;性别&#xff0c;年龄&#xff0c;学校的信息。 示例&#xff1a;user_profile iddevice_idge…...

JVM--Hotspot Architecture 详解

一、Java Virtual Machine &#xff08;JVM&#xff09;概述 Java Virtual Machine 虚拟机 &#xff08;JVM&#xff09; 是一种抽象的计算机。JVM本身也是一个程序&#xff0c;但是对于编写在其中执行的程序来说&#xff0c;它看起来像一台机器。对于特定的操作系统&#xff…...

ThreadLocal功能实现

模拟ThreadLocal功能实现 当前线程任意方法内操作连接对象 一个栈对应一个线程 , 一个方法调用另一个方法都是在一个线程内 , 只有执行了线程的start方法才会创建一个线程 定义一个Map集合 , key是当前线程(Thread.currentThread) , value是要绑定的数据(Connection对象) 以…...

Linux编辑器-vim使用

文章目录 前言一、vim编辑器1、vim的基本概念2、vim的基本操作2.1 命令模式切换至插入模式2.2 插入模式切换至命令模式2.3 命令模式切换至底行模式 3、vim命令模式命令集3.1 移动光标3.2 删除文字3.3 复制与粘贴3.4 替换3.5 撤销上一次操作3.6 更改3.7 跳至指定的行 4、vim末行…...

自助式数据分析平台:JVS智能BI功能介绍(二)数据集管理

数据集是JVS-智能BI中承载数据、使用数据、管理数据的基础&#xff0c;同样也是构建数据分析的基础。可以通俗地将其理解为数据库中的普通的表&#xff0c;他来源于智能的ETL数据加工工具&#xff0c;可以将数据集进行分析图表、统计报表、数字大屏、数据服务等制作。 在整体的…...

《5G技术引领教育信息化新革命》

5G技术引领教育信息化新革命 随着5G技术的快速发展&#xff0c;教育领域也迎来了全新的信息化时代。5G技术为教育行业提供了更高速、更稳定、更智能的网络连接&#xff0c;使得教育信息化不再局限于传统的课堂教学&#xff0c;而是延伸到了线上、线下的全时空教育。本文将详细介…...

cmake学习过程记录

目录 基础命令学习配置opencvcmake (Windows版本) 基础命令学习 //设置最低版本号 cmake_minimum_required(VERSION 3.5)//设置项目名称 project (hello_headers)//递归遍历文件夹src中的cpp文件放到变量SOURCES中 file(GLOB_RECURSE SOURCES src/*.cpp)//设置目标exe名称…...

Vue3、Vite使用 html2canvas 把Html生成canvas转成图片并保存,以及填坑记录

这两天接到新需求就是生成海报分享&#xff0c;生成的格式虽然是一样的但是自己一点点画显然是不符合我摸鱼人的性格&#xff0c;就找到了html2canvas插件&#xff0c;开始动工。 安装 npm install html2canvas --save文档 options 的参数都在里面按照自己需求使用 https://a…...

centos yum源配置(CentOS7 原生 yum 源修改为阿里 yum 源)

文章目录 centos yum源配置centos搭建内网yum源内网centos的yum软件源配置CentOS7 原生 yum 源修改为阿里 yum 源 centos yum源配置 centos搭建内网yum源 您好,在CentOS系统上搭建本地内网YUM仓库的方法如下: 安装httpd和createrepo工具 yum install httpd createrepo -y创…...

linux————ansible

一、认识自动化运维 自动化运维: 将日常IT运维中大量的重复性工作&#xff0c;小到简单的日常检查、配置变更和软件安装&#xff0c;大到整个变更流程的组织调度&#xff0c;由过去的手工执行转为自动化操作&#xff0c;从而减少乃至消除运维中的延迟&#xff0c;实现“零延时”…...

初识Java 8-1 接口和抽象类

目录 抽象类和抽象方法 接口定义 默认方法 多重继承 接口中的静态方法 作为接口的Instrument 本笔记参考自&#xff1a; 《On Java 中文版》 接口和抽象类提供了一种更加结构化的方式分离接口和实现。 抽象类和抽象方法 抽象类&#xff0c;其介于普通类和接口之间。在构…...

微信小程序音频后台播放功能

微信小程序在手机息屏后依旧能播放音频&#xff0c;需要使用 wx.getBackgroundAudioManager() 方法创建后台音乐播放器&#xff0c;并将音乐播放任务交给这个后台播放器。 具体实现步骤如下&#xff1a; 小程序页面中&#xff0c;使用 wx.getBackgroundAudioManager() 方法创…...

NotePad——xml格式化插件xml tools在线安装+离线安装

在使用NotePad时&#xff0c;在某些情形下&#xff0c;需要格式化Xml格式内容&#xff0c;可以使用Xml Tools插件。 一、在线安装 1. 打开Notepad 软件 2. 选择插件&#xff0c;选择“插件管理” 3. 搜索 XML Tools&#xff0c;找到该插件后&#xff0c;勾选该文件&#xff…...

图书管理系统 数据结构先导课暨C语言大作业复习 | JorbanS

问题描述 读取给定的图书文件book.txt中的信息&#xff08;book.txt中部分图书信息如下图所示&#xff09;&#xff0c;完成一个图书信息管理系统&#xff0c;该系统的各个功能模块要求利用菜单选项进行选择。 系统功能要求 图书浏览 读取book.txt中的文件信息并依次输出所…...

python 爬虫的开发环境配置

1、新建一个python项目 2、在控制台中分别安装下面三个包 pip install requests pip install beautifulsoup4 pip install selenium/ 如果安装时报以下错误&#xff1a; raise ReadTimeoutError(self._pool, None, "Read timed out.") pip._vendor.urllib3.exceptio…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

日常一水C

多态 言简意赅&#xff1a;就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过&#xff0c;当子类和父类的函数名相同时&#xff0c;会隐藏父类的同名函数转而调用子类的同名函数&#xff0c;如果要调用父类的同名函数&#xff0c;那么就需要对父类进行引用&#…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码"&#xff1a;Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力&#xff0c;从金融交易到交通管控&#xff0c;这些关乎国计民生的关键领域…...

密码学基础——SM4算法

博客主页&#xff1a;christine-rr-CSDN博客 ​​​​专栏主页&#xff1a;密码学 &#x1f4cc; 【今日更新】&#x1f4cc; 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 ​编辑…...

Java多线程实现之Runnable接口深度解析

Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...