线性代数与解析几何——Part4 欧式空间 酉空间
- 线性代数与解析几何——Part4 欧式空间 & 酉空间
- 1. 欧氏空间
- 1. 定义 & 性质
- 2. 内积表示与标准正交基
- 3. 欧氏空间的同构
- 4. 欧氏空间的线性变换
- 5. 欧氏空间的子空间
- 2. 酉空间
- 1. 定义 & 性质
- 2. 酉变换
- 3. Hermite变换
- 4. 规范变换
- 1. 欧氏空间
1. 欧氏空间
1. 定义 & 性质
定义7.1.1
设VVV是实数域R\bold{R}R上的线性空间,如果VVV中的任意两个向量a,b\bold{a,b}a,b均按照某一法则对应一个实数,记作(a,b)(\bold{a,b})(a,b),且满足:
- 对称性:对任意两个向量a,b∈V\bold{a,b} \in Va,b∈V,有:
(a,b)=(b,a)(\bold{a,b}) = (\bold{b,a})(a,b)=(b,a)- 线性性:对任意实数λ\lambdaλ和任意三个向量a,b,c∈V\bold{a,b,c} \in Va,b,c∈V,有:
(λa,b)=λ(a,b)(\lambda \bold{a,b}) = \lambda (\bold{a,b})(λa,b)=λ(a,b)
(a+b,c)=(a,c)+(b,c)(\bold{a+b, c}) = (\bold{a,c}) + (\bold{b,c})(a+b,c)=(a,c)+(b,c)- 正定性:对任意一个向量a∈V\bold{a} \in Va∈V,有(a,a)≥0(\bold{a,a}) \geq 0(a,a)≥0,等号成立当且仅当a=0\bold{a} = \bold{0}a=0。
则称(a,b)(\bold{a,b})(a,b)为向量a,b\bold{a,b}a,b的内积,定义了内记的实数域R\bold{R}R上的线性空间VVV称为欧几里得(Euclid)空间,简称欧氏空间。
对于欧氏空间,有Cauchy-Schwarz不等式:
定理7.1.1(Cauchy-Schwarz不等式)
设VVV是欧式空间,(⋅,⋅)(\cdot,\cdot)(⋅,⋅)是VVV的内积,则对VVV当中的任意两个向量a,b\bold{a,b}a,b,有:
∣(a,b)∣≤(a,a)(b,b)|(\bold{a,b})| \leq \sqrt{(\bold{a,a})(\bold{b,b})}∣(a,b)∣≤(a,a)(b,b)
定义 7.1.2
设VVV是欧式空间,(⋅,⋅)(\cdot, \cdot)(⋅,⋅)是VVV的内积,对于任意的a∈V\bold{a} \in Va∈V,称
∣a∣=(a,a)|\bold{a}| = \sqrt{(\bold{a,a})}∣a∣=(a,a)
为a\bold{a}a的长度或者模。
模长具有如下性质:
- 对称性:d(a,b)=d(b,a)d(\bold{a,b}) = d(\bold{b,a})d(a,b)=d(b,a)
- 正定性:d(a,b)≥0d(\bold{a,b}) \geq 0d(a,b)≥0,等号成立当且仅当a=b\bold{a} = \bold{b}a=b
- 三角不等式:d(a,b)≤d(a,c)+d(b,c)d(\bold{a,b}) \leq d(\bold{a,c}) + d(\bold{b,c})d(a,b)≤d(a,c)+d(b,c)
2. 内积表示与标准正交基
定义7.2.1
在nnn为欧氏空间VVV当中,一组两两正交的非零向量称为正交向量组。由正交向量组构成的基称为正交基。由单位向量组构成的正交基成为标准正交基。
定理7.2.1(Schmidt正交化)
从nnn为欧氏空间VVV的任意一组基出发,可以构造一组标准正交基。
3. 欧氏空间的同构
定义7.3.1
实数域上两个欧氏空间VVV和V′V'V′称为同构的,如果存在一个从VVV到V′V'V′的一一映射σ:V→V′\sigma: V \rightarrow V'σ:V→V′,满足:
- σ(λα+μβ)=λσ(α)+μσ(β)\sigma(\lambda \bold{\alpha} + \mu \bold{\beta}) = \lambda \sigma(\bold{\alpha}) + \mu \sigma(\bold{\beta})σ(λα+μβ)=λσ(α)+μσ(β)
- (σ(α),σ(β))=(α,β)(\sigma(\bold{\alpha}), \sigma(\bold{\beta})) = (\bold{\alpha}, \bold{\beta})(σ(α),σ(β))=(α,β)
其中,α,β\bold{\alpha, \beta}α,β为VVV中的两个任意向量,λ,μ\lambda, \muλ,μ是两个任意实数。
定理7.3.1
两个有限维欧氏空间同构的充要条件是他们的维度相同。
4. 欧氏空间的线性变换
定义7.4.1
设VVV是一个nnn维的欧氏空间,A\mathcal{A}A是VVV上的一个线性变换,如果A\mathcal{A}A保持VVV的内积不变,即对于任意两个向量a,b∈V\bold{a,b} \in Va,b∈V,都有:
(A(a),(b))=((a,b))(\mathcal{A}(\bold{a}), \mathcal(\bold{b})) = (\bold(a,b))(A(a),(b))=((a,b))
则称A\mathcal{A}A是VVV上的正交变换。
定理7.4.1
设VVV是一个nnn维的欧式空间,A\mathcal{A}A是VVV上的一个线性变换,则A\mathcal{A}A为正交变换当且仅当下列两个条件之一成立:
- A\mathcal{A}A保持任意向量的模不变;
- A\mathcal{A}A将标准正交基变换为标准正交基。
定义7.4.2
如果实方阵A\bold{A}A满足ATA=I\bold{A^{T}A} = \bold{I}ATA=I或者A−1=A\bold{A}^{-1} = \bold{A}A−1=A,则称方阵A\bold{A}A为正交矩阵。
定理7.4.2
欧式空间中的线性变换A\mathcal{A}A是正交变换的充要条件是A\mathcal{A}A在标准正交基下的矩阵A\bold{A}A是正交矩阵。
定理7.4.3
设VVV是nnn维欧氏空间,则:
- 单位变换是正交变换;
- 两个正交变换的复合仍然是正交变换;
- 正交变换一定可逆,其逆变换也是正交变换。
由正交矩阵的定义可知,正交矩阵的行列式detA=±1det\bold{A} = \pm 1detA=±1。如果A\mathcal{A}A在一组基下的矩阵行列式为111,则称A\mathcal{A}A为第一类变换。如果正交变换A\mathcal{A}A在一组基下的矩阵行列式为−1-1−1,则称A\mathcal{A}A为第二类变换。
定理7.4.3
设A\mathcal{A}A是欧氏空间VVV上的正交变换,则A\mathcal{A}A的特征值的模都为111。
特别的,A\mathcal{A}A的实特征值(如果存在的话)只能是111或者−1-1−1。
如果VVV的维数是奇数且A\mathcal{A}A是第一类正交变换,则A\mathcal{A}A一定存在职位111的特征值。
定义7.4.3
设VVV是nnn维欧氏空间上的线性变换,A\mathcal{A}A是VVV上的线性变换。
如果A\mathcal{A}A满足(a,A(b))=(A(a),b)(\bold{a}, \mathcal{A}(\bold{b})) = (\mathcal{A}(\bold{a}), \bold{b})(a,A(b))=(A(a),b)对VVV中的任意两个向量a,b\bold{a,b}a,b成立,则称A\mathcal{A}A是VVV上的对称变换。
定理7.4.5
设A\mathcal{A}A是欧氏空间上的线性变换,则A\mathcal{A}A是对称变换的充要条件是A\mathcal{A}A在任何一组标准正交基下的矩阵A\bold{A}A是实对称矩阵。
定理7.4.6
设A\mathcal{A}A是欧式空间VVV上的对称变换,则A\mathcal{A}A的不同特征值对应的特征向量相互正交。
定理7.4.7
实对称矩阵的特征值都是实数。
定理7.4.8
实对阵矩阵A\bold{A}A的属于不同特征值的特征向量必正交。
定理7.4.9
对于任意nnn阶实对称矩阵A\bold{A}A,存在一个nnn阶正交矩阵T\bold{T}T,使得T−1AT\bold{T^{-1}AT}T−1AT为对角矩阵。
5. 欧氏空间的子空间
定义7.5.1
设V1,V2V_1, V_2V1,V2是欧式空间VVV的两个子空间,如果对于任意的a1∈V1,a2∈V2\bold{a}_1 \in V_1, \bold{a}_2 \in V_2a1∈V1,a2∈V2,恒有(a1,a2)=0(\bold{a}_1, \bold{a}_2) = 0(a1,a2)=0,则称子空间V1,V2V_1, V_2V1,V2相互正交,记为V1⊥V2V_1 \perp V_2V1⊥V2。
如果一个向量a\bold{a}a与子空间V1V_1V1中的任意一个向量均正交,则称向量a\bold{a}a与子空间V1V_1V1正交,记为a⊥V1\bold{a} \perp V_1a⊥V1。
定理7.5.1
如果子空间V1,V2V_1, V_2V1,V2相互正交,那么他们的和V1+V2V_1 + V_2V1+V2是直和。推而广之,如果V1,V2,...,VrV_1, V_2, ..., V_rV1,V2,...,Vr两两相互正交,则它们的和V1+V2+...+VrV_1 + V_2 + ... + V_rV1+V2+...+Vr是直和。
定义7.5.2
如果V1⊥V2V_1 \perp V_2V1⊥V2且V=V1+V2V=V_1 + V_2V=V1+V2,那么子空间V2V_2V2称为子空间V1V_1V1的正交补空间或简称为正交补。
显然,如果V2V_2V2是V1V_1V1的正交补,那么V1V_1V1也是V2V_2V2的正交补。
定理7.5.2
欧式空间VVV中任意一个子空间V1V_1V1都有唯一的正交补空间。
2. 酉空间
1. 定义 & 性质
定义7.6.1
设VVV是复数域上的线性空间,如果对于VVV内的任意两个向量a,b\bold{a,b}a,b都按某一法则对应于某一个复数,记作(a,b)(\bold{a,b})(a,b),且满足:
- 共轭对称性:对任意两个向量a,b∈V\bold{a, b}\in Va,b∈V,有(a,b)=(b,a)‾(\bold{a,b}) = \overline{(\bold{b,a})}(a,b)=(b,a)
- 线性性:对任意一个复数λ\lambdaλ和三个向量a,b,c∈V\bold{a,b,c} \in Va,b,c∈V,有(a,λb)=λ(a,b),(a,b+c)=(a,b)+(a,c)(\bold{a}, \lambda \bold{b}) = \lambda (\bold{a,b}), (\bold{a}, \bold{b+c}) = (\bold{a,b}) + (\bold{a,c})(a,λb)=λ(a,b),(a,b+c)=(a,b)+(a,c)
- 正定性:对于任意一个向量a∈V\bold{a} \in Va∈V,有(a,a)≥0(\bold{a, a}) \geq 0(a,a)≥0,等号成立当且仅当a=0\bold{a} = \bold{0}a=0。
则称(a,b)(\bold{a, b})(a,b)为a\bold{a}a和b\bold{b}b的内积。
定义了内积的复数域C\bold{C}C上的线性空间VVV称为酉空间。
定义7.6.2
有空间中的两个向量a,b\bold{a,b}a,b满足(a,b)=0(\bold{a,b})=0(a,b)=0,则称a\bold{a}a和b\bold{b}b相互正交或垂直,记为a⊥b\bold{a} \perp \bold{b}a⊥b。
定理7.6.1
设VVV是nnn维酉空间,则:
- VVV中两两正交的一组非零向量一定是线性无关的;
- VVV中也存在标准正交基,即存在一组基e1,..,en\bold{e}_1, .., \bold{e}_ne1,..,en,满足(ei,ej)=δi,j(\bold{e}_i, \bold{e}_j) = \delta_{i,j}(ei,ej)=δi,j,i,j=1,2,...,ni,j=1,2,...,ni,j=1,2,...,n;
- 欧式空间的Schmidt正交化过程在酉空间一样有效,即从酉空间中任意一组基出发,可以通过完全一样的Schmidt正交化过程,得到一组标准正交基。
我们摘录书中给出的欧氏空间与酉空间的对比如下:
欧氏空间 | 酉空间 |
---|---|
内积(a,b)(\bold{a,b})(a,b)为实数,满足: 1. (a,b)=(b,a)(\bold{a,b}) = (\bold{b,a})(a,b)=(b,a) 2. (λa,b)=(a,λb)=λ(a,b)(\lambda \bold{a}, \bold{b}) = (\bold{a}, \lambda\bold{b}) = \lambda(\bold{a,b})(λa,b)=(a,λb)=λ(a,b) | 内积(a,b)(\bold{a,b})(a,b)为复数,满足: 1. (a,b)=(b,a)‾(\bold{a,b}) = \overline{(\bold{b,a})}(a,b)=(b,a) 2. (λa,b)=(a,λb)=λ(a,b)(\lambda \bold{a}, \bold{b}) = (\bold{a}, \lambda\bold{b}) = \lambda(\bold{a,b})(λa,b)=(a,λb)=λ(a,b) |
模∣a∣=(a,a)≥0| \bold{a} | = \sqrt{(\bold{a,a})} \geq 0∣a∣=(a,a)≥0 向量a\bold{a}a的单位向量化a∣a∣\frac{\bold{a}}{| \bold{a} |}∣a∣a | 模∣a∣=(a,a)≥0| \bold{a} | = \sqrt{(\bold{a,a})} \geq 0∣a∣=(a,a)≥0 向量a\bold{a}a的单位向量化a∣a∣\frac{\bold{a}}{| \bold{a} |}∣a∣a |
Cauchy-Schwarz不等式 (a,b)2≤(a,a)(b,b)(\bold{a,b})^2 \leq (\bold{a,a})(\bold{b,b})(a,b)2≤(a,a)(b,b) 即∣(a,b)∣≤∣a∣∣b∣| (\bold{a,b}) | \leq | \bold{a} | | \bold{b} |∣(a,b)∣≤∣a∣∣b∣ 当且仅当a,b\bold{a,b}a,b线性相关时等号成立 | Cauchy-Schwarz不等式 (a,b)(a,b)‾≤(a,a)(b,b)(\bold{a,b}) \overline{(\bold{a,b})} \leq (\bold{a,a})(\bold{b,b})(a,b)(a,b)≤(a,a)(b,b) 即∣(a,b)∣≤∣a∣∣b∣| (\bold{a,b}) | \leq | \bold{a} | | \bold{b} |∣(a,b)∣≤∣a∣∣b∣ 当且仅当a,b\bold{a,b}a,b线性相关时等号成立 |
非零向量a,b\bold{a,b}a,b的夹角φ=arccos(a,b)∣a∣∣b∣\varphi = arccos \frac{(\bold{a,b})}{| \bold{a} | | \bold{b} |}φ=arccos∣a∣∣b∣(a,b) | 无定义 |
向量a,b\bold{a,b}a,b正交,即(a,b)=0(\bold{a,b}) = 0(a,b)=0 | 向量a,b\bold{a,b}a,b正交,即(a,b)=0(\bold{a,b}) = 0(a,b)=0 |
三角不等式成立 ∣a+b∣≤∣a∣+∣b∣| \bold{a} + \bold{b} | \leq | \bold{a} | + | \bold{b} |∣a+b∣≤∣a∣+∣b∣ | 三角不等式成立 ∣a+b∣≤∣a∣+∣b∣| \bold{a} + \bold{b} | \leq | \bold{a} | + | \bold{b} |∣a+b∣≤∣a∣+∣b∣ |
度量矩阵G\bold{G}G为是对称矩阵 设e1,...,en\bold{e}_1, ..., \bold{e}_ne1,...,en为基, σij=(ei,ej)=σji\sigma_{ij} = (\bold{e}_i, \bold{e}_j) = \sigma_{ji}σij=(ei,ej)=σji 度量矩阵G=(σij)=GT\bold{G} = (\sigma_{ij}) = \bold{G}^TG=(σij)=GT | 度量矩阵G\bold{G}G为是对称矩阵 设e1,...,en\bold{e}_1, ..., \bold{e}_ne1,...,en为基, σij=(ei,ej)=(ej,ei)‾=σji‾\sigma_{ij} = (\bold{e}_i, \bold{e}_j) = \overline{(\bold{e}_j, \bold{e}_i)} = \overline{\sigma_{ji}}σij=(ei,ej)=(ej,ei)=σji 度量矩阵G=(σij)=(G‾)T\bold{G} = (\sigma_{ij}) = (\overline{\bold{G}})^TG=(σij)=(G)T |
用Schmidt方法可以将任意一组基改造为标准正交基e1,...,en\bold{e}_1, ..., \bold{e}_ne1,...,en (ei,ej)=δij,i,j=1,2,...,n(\bold{e}_i, \bold{e}_j) = \delta_{ij}, i,j = 1,2,...,n(ei,ej)=δij,i,j=1,2,...,n | 用Schmidt方法可以将任意一组基改造为标准正交基e1,...,en\bold{e}_1, ..., \bold{e}_ne1,...,en (ei,ej)=δij,i,j=1,2,...,n(\bold{e}_i, \bold{e}_j) = \delta_{ij}, i,j = 1,2,...,n(ei,ej)=δij,i,j=1,2,...,n |
在标准正交基下,a,b=∑i=1naibi\bold{a,b} = \sum_{i=1}^{n}a_i b_ia,b=∑i=1naibi | 在标准正交基下,a,b=∑i=1na‾ibi\bold{a,b} = \sum_{i=1}^{n}\overline{a}_i b_ia,b=∑i=1naibi |
2. 酉变换
定义7.6.3
设U\mathcal{U}U是酉空间VVV上的线性变换,如果U\mathcal{U}U保持内积不变,即对一切向量a,b∈V\bold{a,b} \in Va,b∈V有
(Ua,Ub)=(a,b)(\mathcal{U}\bold{a}, \mathcal{U}\bold{b}) = (\bold{a,b})(Ua,Ub)=(a,b)
则称U\mathcal{U}U是酉空间VVV上的一个酉变换。
定义7.6.4
设U\bold{U}U是一个nnn阶复矩阵,如果它满足UHU=I\bold{U^HU} = \bold{I}UHU=I或者U−1=UH\bold{U}^{-1} = \bold{U^H}U−1=UH,则称U\bold{U}U为酉矩阵。
定理7.6.2
设U\mathcal{U}U是酉空间VVV上的一个线性变换,则下列各命题互相等价:
- U\mathcal{U}U是一个酉变换
- U\mathcal{U}U保持向量的模不变,即对任意的a∈V\bold{a} \in Va∈V,有∣Ua∣=∣a∣|\mathcal{U}\bold{a}| = |\bold{a}|∣Ua∣=∣a∣
- U\mathcal{U}U把酉空间的标准正交基变为标准正交基;
- U\mathcal{U}U在标准正交基下的矩阵是酉矩阵。
定理7.6.3
设U(V)U(V)U(V)是nnn为酉空间VVV中所有酉变换的全体所形成的集合,则:
- 单位变换E∈U(V)\mathcal{E} \in U(V)E∈U(V)
- 如果U1,U2∈U(V)\mathcal{U}_1, \mathcal{U}_2 \in U(V)U1,U2∈U(V),则U1∘U2∈U(V)\mathcal{U}_1 \circ \mathcal{U}_2 \in U(V)U1∘U2∈U(V);
- 如果U∈U(V)\mathcal{U} \in U(V)U∈U(V),则U−1∈U(V)\mathcal{U}^{-1} \in U(V)U−1∈U(V)
3. Hermite变换
定义7.6.5
设A\mathcal{A}A是nnn维酉空间VVV上的线性变换,如果对VVV中任意两个向量a,b\bold{a,b}a,b有(a,Ab)=(Aa,b)(\bold{a}, \mathcal{A}\bold{b}) = (\mathcal{A}\bold{a}, \bold{b})(a,Ab)=(Aa,b),则称A\mathcal{A}A是酉空间VVV上的Hermite变换。
定义7.6.6
称满足A=AH\bold{A} = \bold{A^H}A=AH的复矩阵为Hermite矩阵。
4. 规范变换
定义7.6.7
设A\mathcal{A}A是nnn维酉空间VVV上的一个线性变换,如果存在VVV上的线性变换A∗\mathcal{A}^{*}A∗,使得对于任意两个向量a,b\bold{a,b}a,b,有(Aa,b)=(a,A∗b)(\mathcal{A}\bold{a}, \bold{b}) = (\bold{a}, \mathcal{A}^{*} \bold{b})(Aa,b)=(a,A∗b),则称A∗\mathcal{A}^{*}A∗为A\mathcal{A}A的共轭变换。
线性变换的共轭关系满足如下性质:
- E∗=E\mathcal{E}^{*} = \mathcal{E}E∗=E,即单位变换的共轭等于其本身;
- (A∗)∗=A(\mathcal{A}^{*})^{*} = \mathcal{A}(A∗)∗=A,即线性变换共轭的共轭等于其本身;
- (λA)∗=(‾λ)A∗(\lambda \mathcal{A})^{*} = \overline(\lambda) \mathcal{A}^{*}(λA)∗=(λ)A∗
- (A±B)∗=A∗±B∗(\mathcal{A} \pm \mathcal{B})^{*} = \mathcal{A}^{*} \pm \mathcal{B}^{*}(A±B)∗=A∗±B∗
- (A∘B)∗=B∗∘A∗(\mathcal{A} \circ \mathcal{B})^{*} = \mathcal{B}^{*} \circ \mathcal{A}^{*}(A∘B)∗=B∗∘A∗
定义7.6.8
设A\mathcal{A}A是nnn维酉空间上的一个线性变换,如果A\mathcal{A}A和它的共轭变换A∗\mathcal{A}^{*}A∗可交换,即AA∗=A∗A\mathcal{AA^{*}} = \mathcal{A^{*}A}AA∗=A∗A,则称变换A\mathcal{A}A是一个规范变换。
规范变换在标准正交基下的矩阵满足AAH=AHA\bold{AA^H} = \bold{A^HA}AAH=AHA,我们称满足上式的矩阵为规范矩阵。
定理7.6.4
设A\mathcal{A}A是nnn维酉空间VVV中的一个线性变换,如果WWW是A\mathcal{A}A的不变子空间(即WWW是VVV的子空间,且对任意的a∈W\bold{a} \in Wa∈W,有Aa∈W\mathcal{A}\bold{a} \in WAa∈W),则WWW在VVV中的正交补空间W⊥W^{\perp}W⊥是A\mathcal{A}A的共轭变换A∗\mathcal{A}^{*}A∗的不变子空间。
定理7.6.5
设λ\lambdaλ是nnn维酉空间上的规范变换A\mathcal{A}A的特征值,x\bold{x}x是对应的特征向量,则λ‾\overline{\lambda}λ是A\mathcal{A}A的共轭变换A∗\mathcal{A}^{*}A∗的特征值,x\bold{x}x是对应的特征向量。
定理7.6.6
设A\mathcal{A}A是nnn维酉空间VVV上的规范变换,则A\mathcal{A}A的属于不同特征值的特征向量相互正交。
定理7.6.7
设A\mathcal{A}A是nnn维酉空间VVV中任意规范变换,则存在VVV的一组标准正交基,使得A\mathcal{A}A在这组基下的矩阵A\bold{A}A为对角矩阵。
定义7.6.9
对于复数域上的nnn阶方阵A,B\bold{A, B}A,B,如果存在nnn阶酉矩阵U\bold{U}U,使得A=U−1BU\bold{A} = \bold{U^{-1}BU}A=U−1BU,U−1=UH\bold{U}^{-1} = \bold{U}^{H}U−1=UH,则称A\bold{A}A酉相似于B\bold{B}B。
定理7.6.8
任一规范矩阵A\bold{A}A都可有相似于对角矩阵。
反之,复数域上任意酉相似于对角矩阵的矩阵一定是规范矩阵。
定理7.6.9
设A\mathcal{A}A是酉空间VVV中任一酉变换,则:
- A\mathcal{A}A的特征值的模为1;
- 存在一组标准正交基,使得A\mathcal{A}A在这组基下对应的矩阵为对角矩阵。
定理7.6.10
设A\mathcal{A}A是酉空间VVV中的任意一个Hermite变换,则:
- A\mathcal{A}A的特征值一定是实数;
- 存在一组标准正交基,使得A\mathcal{A}A在这组基下对应的矩阵为实对角矩阵。
相关文章:

线性代数与解析几何——Part4 欧式空间 酉空间
线性代数与解析几何——Part4 欧式空间 & 酉空间 1. 欧氏空间 1. 定义 & 性质2. 内积表示与标准正交基3. 欧氏空间的同构4. 欧氏空间的线性变换5. 欧氏空间的子空间 2. 酉空间 1. 定义 & 性质2. 酉变换3. Hermite变换4. 规范变换 1. 欧氏空间 1. 定义 & 性质…...

带头双向循环链表的实现
目录前言节点声明链表的初始化尾插打印链表头插尾删头删查找节点指定位置插入指定位置删除链表销毁前言 之前讲过单链表的实现,在实现的过程中,我们会发现每次删除或者在前面插入节点的时候,都要提前保存上一个节点的地址。这样做十分麻烦&a…...

07【C语言 趣味算法】最佳存款方案(采用 从后往前 递推解决)
目录 一、前情回顾二、Problem:最佳存款方案2.1 Description of the problem2.2 Analysis of the problem2.3 Algorithm design2.4 The complete code and the results of the run(完整的代码 以及 运行结果)一、前情回顾 06【C语言 & 趣味算法】牛顿迭代法求方程根(可…...

游戏开发36课 cocoscreator scrollview优化
在cocoscreator内,ScrollView控件封装的挺完美的了,不过对于一些对性能要求比较高的场景,会存在问题,以top100排行榜排行榜举例子 1、应用卡顿甚至崩溃 按照官方用例使用ScrollView,插入100个玩家的item,理…...

屏幕开发学习 -- 迪文串口屏
一 前言 最近学习了一款基于图形化开发的屏幕,在摸索一周后,基本熟悉了这款产品的一个开发过程,今天给大家分享一下迪文串口屏的学习过程,有不足之处,还请见谅😁,包含了环境搭建和功能DEMO 二 …...

微机-------CPU与外设之间的数据传送方式
目录 一、无条件方式二、查询方式三、中断方式四、DMA方式一、无条件方式 外设要求:简单、数据变化缓慢。 外设被认为始终处于就绪状态。始终准备好数据或者始终准备好接收数据。 IN AL,数据端口 数据端口的地址通过CPU的地址总线送到地址译码器进行译码,同时该指令进行的是…...

从源码上解决rosdep update失败问题
(一)卸载官方的rosdep、rosdistro 卸载rosdistro # python2 sudo apt-get purge python-rosdistro# python3 sudo apt-get purge python3-rosdistro卸载rosdep # python2 sudo apt-get purge python-rosdep# python3 sudo apt-get purge python3-rosd…...

常用的shell命令
常用的shell命令 1、ls命令 功能:显示文件和目录的信息 ls 以默认方式显示当前目录文件列表 ls -a 显示所有文件包括隐藏文件 ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行 ls -lh 显示文件的…...

新手入门SLAM必备资料
新手入门SLAM必备资料 文章目录 新手入门SLAM必备资料一、SLAM学习书籍1.必读经典2.有很多期,跟着会议一起出的文集3.入门书籍,简单实现及代码4.SLAM入门教材吐血推荐,对深入理解SLAM实质非常有帮助5.作者Joan Sola关于Graph-SLAM的教程,包含位姿变换、传感器模型、图优化以…...

如何选择和使用腾讯云服务器的方法新手教程
本文将介绍如何选择和使用腾讯云服务器的方法新手教程。云服务器能帮助快速构建更稳定、安全的应用,降低开发运维的难度和整体IT成本。腾讯云CVM云服务器提供多种类型的实例、操作系统和软件包。各实例中的 CPU、内存、硬盘和带宽可以灵活调整,以满足应用…...

亚马逊云科技re:Invent:Serverless是所有构想的核心
12月2日,2022亚马逊云科技re:Invent全球大会上,Amazon.com副总裁兼首席技术官Werner Vogels博士向开发者们展示了另一种可能。在一系列Serverless工具的帮助下,一些代码可以少写,因为未来你可能再也不需要写它们了。这恐怕是自云原…...

数据链路层(必备知识)
文章目录1、数据链路层的作用2、认识以太网<1>以太网帧格式<2>认识MAC地址<3>认识MTU<4>查看硬件地址和MTU3、ARP协议<1>什么是ARP协议<2>ARP数据报格式<3>ARP协议的工作机制4、其他重要协议或技术<1> DNS<2>NAT技术1、…...

【Spring系列】- Spring循环依赖
Spring循环依赖 😄生命不息,写作不止 🔥 继续踏上学习之路,学之分享笔记 👊 总有一天我也能像各位大佬一样 🏆 一个有梦有戏的人 怒放吧德德 🌝分享学习心得,欢迎指正,大…...

Python学习基础笔记二十一——迭代器
列表,我们使用for循环来取值,我们把每个值都取到,不需要关心每一个值的位置,因为只能顺序的取值,并不能跳过任何一个去取其他位置的值。那么我们为什么可以使用for循环来取值,for循环内部是怎么工作的呢&am…...

【云原生之Docker实战】使用docker部署IT资产管理系统GLPI
【云原生之Docker实战】使用docker部署IT资产管理系统GLPI 一、GLPI介绍1.GLPI简介2.GLPI功能二、检查本地docker环境1.检查docker版本2.检查docker状态三、下载GLPI镜像四、编辑docker-compose.yaml文件五、部署GLPI系统1.创建数据目录2.使用docker compose创建容器应用3.查看…...

【SSM框架 二】Spring
文章目录二、Spring1、简介2、IOC理论思想3、Hello Spring4、IOC创建对象的方式4.1 无参构造构造器注入4.2 有参构造器注入5、Spring的配置5.1 别名5.2 Bean的配置5.3 import6、DI依赖注入6.1 构造方法注入6.2 set方法注入6.3 扩展注入6.4、Bean的作用域7、Bean的自动装配7.1 正…...

基于java+ssm+vue+mysql的社区流浪猫狗救助网站
项目介绍 随着迅速的发展,宠物饲养也较以前发生很大的变化,社区流浪猫狗救助网站系统以其独有的优势脱颖而出。“社区流浪猫狗救助网站”是以JAVA程序设计语言课为基础的设计出适合社区流浪猫狗救助网站,其开发过程主要包括后台数据库的建立…...

推特营销引流入门指南
一、关注 当您关注另一个Twitter用户时,您进行订阅,即可立即阅读其内容分享。因此,请评估您关注的人,尤其是刚开始时。跟踪新用户的一种简单方法是找到他们的个人资料,然后单击“关注”按钮。 Twitter对于那些疯狂点…...

Seata概述基础
分布式事务原因: 单体架构的spring事务不能跨机器,不能跨数据源 分布式事务的概念: 一个业务流程,在分布式系统(微服务)中,每个业务模块都是一个分支,保证每个业务分支一起成功&am…...

Python学习基础笔记二十二——生成器
一个包含yield关键字的函数就是一个生成器函数。yield可以为我们从函数中返回值,但是yield又不同于return,return的执行意味着程序的结束,调用生成器函数不会得到返回的具体的值,而是得到一个可迭代的对象。每一次获取这个可迭代对…...

python -- PyQt5(designer)中文详细教程(四)事件和信号
事件 signals and slots也 被其他⼈翻译成信号和槽机制。 所有的应用都是事件驱动的。事件大部分都是由用户的行为产⽣的,当然也有其他的事件产生方式,比如网络的连接,窗口管理器或者定时器等。调⽤应⽤的exec_()⽅法时,应⽤会进⼊…...

你绝对想象不到的端对端通信的几种方式
一、前言 今天要和大家说的是我们常用的一些端对端的通信方式,这里我们会以python和php语言为主,举例说明客户端、浏览器端和服务器端通信,部分代码可能展示不全,不过我会放在文末链接供大家下载测试,下面我们先来让大…...

序列化--Serial
序列化:将数据结构或对象转换成二进制串的过程。 反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程。 Parcelable 与 Serializeable 的区别 SerializableParcelable通过IO对硬盘操作,速度较慢直接在内存操作&#x…...

BDD - SpecFlow ExternalData Plugin 导入外部测试数据
BDD - SpecFlow ExternalData Plugin 导入外部测试数据引言SpecFlow ExternalData 插件支持的数据源Tags实践创建一个 Class Libary Project添加 NuGet Packages添加测试数据源文件CSV 文件Excel 文件添加 Feature 文件实现 Step Definition执行Scenario 导入测试数据源Scenari…...

[Power Query] 日期和时间处理
Power Query查询编辑器为日期和时间数据提供了强大而快捷的处理方式 例1: 从日期中提取年、月份、日、季度、周、天等信息 数据源 步骤1:将数据源导入到Power BI Desktop,单击【转换数据】选项,进入Power Query查询编辑器界面 步骤2:选中"日期&qu…...

设计模式之抽象工厂模式
利用反射技术简单梳理抽象工厂模式 工厂模式实现 通常我们在实际工作中,经常遇到需要访问数据库的场景。 而常见的数据库又多种多样,怎么样针对不同的数据库来建立不同的数据库连接呢? 我们可以看下用抽象工厂模式加上反射技术来如何实现。…...

JavaWeb_第5章_会话技术_Cookie+Session
JavaWeb_第5章_会话技术_CookieSession 文章目录JavaWeb_第5章_会话技术_CookieSession1,会话跟踪技术的概述2,Cookie2.1 Cookie的基本使用2.2 Cookie的原理分析2.3 Cookie的使用细节2.3.1 Cookie的存活时间2.3.2 Cookie存储中文3,Session3.1…...

跟着实例学Go语言(一)
本教程全面涵盖了Go语言基础的各个方面。一共80个例子,每个例子对应一个语言特性点,非常适合新人快速上手。 教程代码示例来自go by example,文字部分来自本人自己的理解。 本文是教程系列的第一部分,共计20个例子、约1万字。 目…...

数据库基础 - 数据类型、关键字、cmd中操作数据库的命令
cmd中操作数据库的命令 mysql -hlocalhost -用户名 -密码 show database;查询数据库中的小数据库 show 数据库名;查询某一个小数据库 show 表名;查询表的结构 exit 退出数据类型 数值类型 int :整形 double:双精度&…...

2022SDNU-ACM结训赛题解
首先感谢一下各位出题人的精心准备、验题人的辛勤付出、以及选手的积极参加 题解 Problem A 柳予欣的归来【数学】 出题人: bhq 没想到一血是被打完山大的牛客比赛后来结训赛玩的wyx拿走的! 题目描述: 计算(∑0<d<pd−1)m(\sum_{0…...

《人类简史》笔记三—— 历史从无正义
目录 一、尽管把人人生而平等喊得震天响,其实还是把人分成了上下等级 二、恶性循环 三、当男人究竟有什么好的? 一、尽管把人人生而平等喊得震天响,其实还是把人分成了上下等级 古时候: 上等人 平民和奴隶 现在:…...

Python实现基于用户的协同过滤推荐算法构建电影推荐系统
说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 基于用户的协同过滤推荐(User-based CF)的原理假设:跟你喜好相似的人…...

阿里巴巴专场——第322场周赛题解
目录 模拟法:6253.回环句 排序后模拟:6254. 划分技能点相等的团队 BFS:6255. 两个城市间路径的最小分数 BFS:6256. 将节点分成尽可能多的组 模拟法:6253.回环句 这道题直接按照题目的意思暴力模拟即可:…...

【机器学习】支持向量回归
有任何的书写错误、排版错误、概念错误等,希望大家包含指正。 在阅读本篇之前建议先学习: 【机器学习】支持向量机【上】硬间隔 【机器学习】支持向量机【下】软间隔与核函数 支持向量回归 支持向量回归(support vector regression…...

Linux安装mysql
1、 查看是否已经安装 Mysql rpm -qa | grep mysql 如果你查看出来有东西,可以使用下面命令将其删除 rpm -e 文件名 2 、下载官方 Mysql 包 wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 如果安装有提示:Cannot…...

JeecgBoot搭建(低代码)
环境安装 后端:JDK: 1.8 (小于11)、Maven: 3.5、MySql: 5.7、Redis: 3.2 前端:Node Js: 14.18 / 16、Npm: 5.6.0、Yarn: 1.21.1 、Pnpm 工具: IDEA、Navicat、Git、TortoiseGit拉取代码 后端:git clone https://gitee.com/jeecg/…...

【java】3-获取线程引用与线程的属性
1.获取线程的引用 在创建一个线程之后,我们很有必要去获取当前线程实例的引用,以便能够观察到线程的一些属性,或是对于当前线程进行一系列的操作 调用Thread类的静态方法currentThread,我们便能拿到当前线程的引用 Thread.curr…...

2022-12-04一周学习
这周基本上还是在对前端学习的更多一点,主要是之前没有重视vue3的学习,现在在补上来,学习了vue3的一些知识,前端的权限管理,设置路由守卫,pinia,还学习了redis的一些基本操作,之前只是照搬了别人…...

CG-34 浊度传感器 简单说明
产品概述 浊度传感器是一种智能监测水中悬浮物对光线透过时所发生的阻碍程度的仪器。允许在水中的测量点进行无人值守的操作。采用自清洗设计,可清除水中附着物以及气泡聚集而影响测量结果。具有优异的抗污染能力,即使恶劣的环境长期在线监测,…...

跟着实例学Go语言(二)
本教程全面涵盖了Go语言基础的各个方面。一共80个例子,每个例子对应一个语言特性点,非常适合新人快速上手。 教程代码示例来自go by example,文字部分来自本人自己的理解。 本文是教程系列的第二部分,共计20个例子、约1.2万字。 …...

linux+window+macos下的JDK安装
1. Linux中安装JDK (1)下载Linux版本的jdk压缩包 (2)解压 tar -zxvf 压缩包名 例如: tar -zxvf jdk-8u251-linux-x64.tar.gz(3)在系统配置文件配置java 编辑profile配置文件 vim /etc/prof…...

DiffuSEEG:一种基于stable diffusion 的SEEG数据补全方法
目录一. 立体脑电图(SEEG)1.1 SEEG概念1.2 SEEG作用1.3 SEEG的适用场景1.4 操作方法一. 立体脑电图(SEEG) 1.1 SEEG概念 立体脑电图(SEEG):是一种借助外科微创的方法将电极植入到大脑不同的部…...

kubernetes—Service介绍
Service介绍 在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。 为了解决这个问题,kubernetes提供了Service资…...

AlphaFold2源码解析(7)--模型之Evoformer
AlphaFold2源码解析(7)–模型之Evoformer 这篇文章我们主要药讲解AlphaFold2的Evoformer的代码细节。 Evoformer Stack 该网络有一个双塔结构,在MSA堆栈中具有轴向的自我注意;在Pair堆栈中具有三角形的乘法更新和三角形的自我注意;以及外积…...

docker 安装 redis 6.0.8 cluster 实战 (3主3从) 动态扩容
这里将上篇博客搭建的3主3从 扩容为 4主4从 1. 新建两个node节点 docker run -d \ --net host \ --privileged \ --name redis-node-7 \ --log-opt max-size100m \ --log-opt max-file3 \ -v /root/docker/redis-node-7/data:/data \ redis:6.0.8 \ --cluster-enabled yes \ -…...

20221204
You are so much more than how you look. 你比你的外表更有魅力 Never give up until the fight is over. 永远不要放弃,要一直战斗到最后一秒。 whats done cannot be undone 覆水难收 If I was going somewhere, I was running。 如果我要去哪儿ÿ…...

CN_数据链路层流量控制@可靠的传输机制@ARP协议
文章目录流量控制技术(协议)停止-等待流量控制滑动窗口流量控制发送窗口接收窗口基本原理可靠的传输机制确认机制ACK超时重传机制RTOARQ处理差错自动重传请求ARQ协议🎈ARQ具体协议单帧ARQ协议停止-等待协议SW-ARQ例连续ARQ协议后退N帧协议(GBN)GBN多帧滑动窗口累计确…...

程序人生 | 与足球共舞的火柴人(致敬格拉利什,赋予足球更深的意义)
个人简介 👀个人主页: 前端杂货铺 🙋♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀未…...

安装ubuntu20.04, CUDA11.4, cnDNN, tensorflow, pytorch
ubuntu22.04默认python为3.11 ubuntu20.04默认python为3.8 第一步,分区安装系统 efi引导区, 逻辑分区,512M root: 主分区,512M swap: 逻辑分区,64G home:逻辑分区,320G /:逻辑分区, 130G, CUDA是安装…...

shell脚本受限执行
shell 中运行的脚本或脚本的个代码断会禁用一些正常 shell 中可以执行的命令.这是限制脚本用户的权限和最小化运行脚本导致的破坏的安全措施.受限的内容包括:使用 cd 命令更改工作目录. 更改环境变量$PATH, $SHELL, $BASH_ENV,或$ENV 的值. 读或更改 shell 环境选项…...

重新认识Word——多级列表和项目符号
重新认识Word——多级列表和项目符号 多级列表没有运用标题样式但标题格式统一 正式公本文书项目符号和自动编号项目符号自动编号软回车重新起头开始编号解决编号与文本距离过大问题 之前我们重新认识了Word里面的样式,现在的情况就是,我的一些文字已经运…...

上个月暴涨34.6%后,SoundHound AI股票现在还能买入吗?
来源:猛兽财经 作者:猛兽财经 揭开SoundHound AI股价波动的原因 S&P Global Market Intelligence的数据显示,在摆脱了10月份的大幅下跌后,SoundHound AI的股价在11月份实现了34.6%的涨幅。 原因是该公司公布了稳健的第三季…...

挑选在线客服系统的七大注意事项
越来越多的企业开始注重客户服务,所以在线客服系统也逐渐成为了电商企业不可或缺的一部分。然而在挑选在线客服系统的过程中,蛮多企业会遇到各种各样的问题,这就导致了最终选择的系统并不适合自己企业的需求。接下来我将提醒大家挑选在线客服…...

微服务01
笔记: day03-微服务01 - 飞书云文档 (feishu.cn) 数据库连接不上? 要在虚拟机启动MySQL容器。docker start mysql 服务治理 服务提供者:暴露服务接口,供其他服务调用 服务消费者:调用其他服务提供的接口 注册中心&…...

Linux bin包生成
需求背景: 在实际项目时我们很少把源码用个tar给到客户,这样显得很不专业,且有的时候我们提供补丁,那么这个时候我们提供一个补丁的bin包可以直接安装运行就显得很高大上了。 物料准备 准备一台liunx,虚拟机亦可&am…...

VBA语法结构及编程思想
VBA(Visual Basic for Applications)是一种编程语言,它被用于Microsoft Office应用程序的自动化,允许用户编写宏来执行常规任务。VBA是基于Microsoft的Visual Basic语言,但专为Office应用程序定制。 VBA语法格式 VBA的…...