【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(19):二次型及其标准形

1,242 阅读3分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

前言

Hello!小伙伴!

非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~

 

自我介绍 ଘ(੭ˊᵕˋ)੭

昵称:海轰

标签:程序猿|C++选手|学生

简介:因C语言结识编程,随后转入计算机专业,有幸拿过一些国奖、省奖...已保研。目前正在学习C++/Linux/Python

学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!

 

机器学习小白阶段

文章仅作为自己的学习笔记 用于知识体系建立以及复习

知其然 知其所以然!

5.5 二次型及其标准形

定义8:二次型

含有nn个变量x1,x2,...,xnx_1,x_2,...,x_n的二次齐次函数

f(x1,x2,...,xn)=a11x12+a22x22+....+annxn2+2a12x1x2+2a13x1x3+....+2an1,nxn1xnf(x_1,x_2,...,x_n)=a_{11}x_1^2+a_{22}x_2^2+....+a_{nn}x_n^2+2a_{12}x_1x_2+2a_{13}x_1x_3+....+2a_{n-1,n}x_{n-1}x_n

称为二次型

ff中的每一项的次数都是2称为二次齐次函数 比如x12,x1x2....x_1^2,x_1x_2....


aji=aija_{ji}=a_{ij},则有

2aijxixj=aijxixj+ajixjxi2a_{ij}x_ix_j=a_{ij}x_ix_j+a_{ji}x_jx_i

所以

f=a11x12+a12x1x2+...+a1nx1xn+a21x2x1+a22x22+...+a2nx2xn+...+an1xnx1+an2xnx2+....+annxn2=i,j=1naijxixjf=a_{11}x_1^2+a_{12}x_1x_2+...+a_{1n}x_1x_n+a_{21}x_2x_1+a_{22}x_2^2+...+a_{2n}x_2x_n+...+a_{n1}x_nx_1+a_{n2}x_nx_2+....+a_{nn}x_n^2=\sum^n_{i,j=1}a_{ij}x_ix_j


对于二次型,寻求可逆的线性变换

{x1=c11y1+c12y2+....+c1nynx2=c21y1+c22y2+....+c2nyn....xn=cn1y1+cn2y2+....+cnnyn\begin{cases} x_1=c_{11}y_1+c_{12}y_2+....+c_{1n}y_n\\ x_2=c_{21}y_1+c_{22}y_2+....+c_{2n}y_n\\ ....\\ x_n=c_{n1}y_1+c_{n2}y_2+....+c_{nn}y_n\\ \end{cases}

也就是将上式代入ff,替换xix_i,使得二次型只含有平方项,得到

f=k1y12+k2y22+....+knyn2f=k_1y_1^2+k_2y_2^2+....+k_ny_n^2

这种只含有平方项的二次型,称为二次型的标准形(或法式)

如果标准型的系数k1,k2,...,knk_1,k_2,...,k_n只在1,1,01,-1,0三个数中取值,即

f=y12+...+yp2yp+12...yr2f=y_1^2+...+y_p^2-y_{p+1}^2-...-y_{r}^2

则称上式为二次型的规范形


f=a11x12+a12x1x2+...+a1nx1xn+a21x2x1+a22x22+...+a2nx2xn+...+an1xnx1+an2xnx2+....+annxn2=i,j=1naijxixjf=a_{11}x_1^2+a_{12}x_1x_2+...+a_{1n}x_1x_n\\ \quad\\ \quad+a_{21}x_2x_1+a_{22}x_2^2+...+a_{2n}x_2x_n\\ \quad\\ \quad+...\\ \quad\\ \quad+a_{n1}x_nx_1+a_{n2}x_nx_2+....+a_{nn}x_n^2\\ \quad\\ \quad=\sum^n_{i,j=1}a_{ij}x_ix_j

可以变形为

f=x1(a11x1+a12x2+...+a1nxn)+x2(a21x1+a22x2+...+a2nxn)+....+xn(an1x1+an2x2+...+annxn)=(x1,x2,...,xn)[a11x1+a12x2+...+a1nxna21x1+a22x2+...+a2nxn...an1x1+an2x2+...+annxn]=(x1,x2,...,xn)[a11a12...a1na21a22...a2n.........an1an2...ann][x1x2...xn]f=x_1(a_{11}x_1+a_{12}x_2+...+a_{1n}x_n)\\ \quad\\ \quad +x_2(a_{21}x_1+a_{22}x_2+...+a_{2n}x_n)\\ \quad\\ \quad +....\\ \quad\\ \quad +x_n(a_{n1}x_1+a_{n2}x_2+...+a_{nn}x_n)\\ \quad \\ \quad\\ \quad=(x_1,x_2,...,x_n)\begin{bmatrix} a_{11}x_1+a_{12}x_2+...+a_{1n}x_n\\ a_{21}x_1+a_{22}x_2+...+a_{2n}x_n\\ .\\ .\\ .\\ a_{n1}x_1+a_{n2}x_2+...+a_{nn}x_n \end{bmatrix}\\ \quad\\ \quad \\ \quad=(x_1,x_2,...,x_n)\begin{bmatrix} a_{11}&a_{12}&...&a_{1n}\\ a_{21}&a_{22}&...&a_{2n}\\ .& . & & .\\ .& . & & .\\ .& . & & .\\ a_{n1}&a_{n2}&...&a_{nn} \end{bmatrix}\begin{bmatrix} x_1\\ x_2\\ .\\ .\\ .\\ x_n \end{bmatrix}

A=[a11a12...a1na21a22...a2n.........an1an2...ann],x=[x1x2...xn]A=\begin{bmatrix} a_{11}&a_{12}&...&a_{1n}\\ a_{21}&a_{22}&...&a_{2n}\\ .& . & & .\\ .& . & & .\\ .& . & & .\\ a_{n1}&a_{n2}&...&a_{nn} \end{bmatrix},x=\begin{bmatrix} x_1\\ x_2\\ .\\ .\\ .\\ x_n \end{bmatrix}

则二次型可记作

f=xTAxf=x^TAx

其中AA为对称阵

例如,二次型f=x23z24xy+yzf=x^2-3z^2-4xy+yz用矩阵记号写出来,就是

f=(x,y,z)[11020120123][xyz]f=(x,y,z)\begin{bmatrix} 1 & -1 & 0\\ -2 & 0 & \frac{1}{2}\\ 0 & \frac{1}{2} & -3 \end{bmatrix}\begin{bmatrix} x \\ y \\ z \end{bmatrix}

对称阵AA的求法 在这里插入图片描述 注意xxyyzz...xx、yy、zz...系数就是多项式中相对应的系数,而xy,xz,yz,...xy,xz,yz,...的系数就是多项式中相对应的系数的一半

任给一个二次型,就可以惟一确定一个对称阵;反之认给一个对称阵,也可以惟一地确定一个二次型。说明二次阵与对称阵之间存在一一对应的关系

把对称阵AA叫做二次型ff的矩阵,也把ff叫做对称阵AA的二次型,对称阵AA的秩就叫做二次型ff的秩

在式子中

{x1=c11y1+c12y2+....+c1nynx2=c21y1+c22y2+....+c2nyn....xn=cn1y1+cn2y2+....+cnnyn\begin{cases} x_1=c_{11}y_1+c_{12}y_2+....+c_{1n}y_n\\ x_2=c_{21}y_1+c_{22}y_2+....+c_{2n}y_n\\ ....\\ x_n=c_{n1}y_1+c_{n2}y_2+....+c_{nn}y_n\\ \end{cases}

C=(cij)C=(c_{ij}),则上式可以变为

x=Cyx=Cy

代入f=xTAxf=x^TAx,得到

f=xTAx=(Cy)TA(Cy)=yT(CTAC)yf=x^TAx=(Cy)^TA(Cy)=y^T(C^TAC)y

定义9:合同

AABBnn阶矩阵,若存在可逆矩阵CC,使得B=CTACB=C^TAC,则称矩阵AABB合同


AA是对称阵

BT=(CTAC)T=CTATC=CTAC=BB^T=(C^TAC)^T=C^TA^TC=C^TAC=B

得到BB也是对称阵

B=CTACB=C^TAC中,因为CCTC、C^T可逆 所以

R(B)=R(A)R(B)=R(A)

由此可知,经可逆变换x=Cyx=Cy后,二次型ff的矩阵由AA变为与AA合同的矩阵CTACC^TAC,且二次型的秩不变


如果要使二次型ff经可逆变换x=Cyx=Cy变成标准形,也就是

f=yT(CTAC)y=k1y12+k2y22+...+knyn2=(y1,y2,...,yn)[k1k2.kn][y1y2.yn]f=y^T(C^TAC)y=k_1y_1^2+k_2y_2^2+...+k_ny_n^2=(y_1,y_2,...,y_n)\begin{bmatrix} k_1 & & &\\ & k_2& &\\ & & . & \\ & & & k_n \end{bmatrix}\begin{bmatrix} y_1\\ y_2\\ .\\ y_n \end{bmatrix}

也就是要使得CTACC^TAC成为对角阵

所以就是寻找一个可逆矩阵CC 使得CTACC^TAC变为对角阵,这个过程就称为对称阵AA合同对角化

定理8

由定理7得,任一对称阵AA,总存在正交阵PP,使得P1AP=PTAP=ΛP^{-1}AP=P^TAP=\Lambda

将此结论运用到二次型得到

任一二次型f=i,j=1naijxixj(aij=aji)f=\sum^n_{i,j=1}a_{ij}x_ix_j(a_{ij}=a_{ji}),总有正交变换x=Pyx=Py,使ff化为标准 形

f=λ1y12+λ2y22+....+λnyn2f=\lambda_1y_1^2+\lambda_2y_2^2+....+\lambda_ny_n^2

其中λ1,λ2,...,λn\lambda_1,\lambda_2,...,\lambda_n是f的矩阵A=(aij)A=(a_{ij})的特征值

推论

任给nn元二次型f(x)=xTAx(AT=A)f(x)=x^TAx(A^T=A),总有可逆变换x=Czx=Cz,使得f(Cz)f(Cz)为规范形

举例

例14

求一个正交变换x=Pyx=Py,把二次型

f=2x1x2+2x1x3+2x2x3f=-2x_1x_2+2x_1x_3+2x_2x_3

化为标准形

思路:

  • 需要将二次型变为标准形,其实就是需要找到一个可逆矩阵C,使得CTACC^TAC变成一个对角阵Λ\Lambda
  • 又因为正交阵PP,可以使得P1AP=PTAP=ΛP^{-1}AP=P^TAP=\Lambda
  • 所以这道题实质是求一个正交阵PP

解答:

二次型的矩阵为

A=[011101110]A=\begin{bmatrix} 0 & -1 & 1\\ -1 & 0 & 1\\ 1 & 1 & 0 \end{bmatrix}

再求一个正交阵PP,使得P1AP=PTAP=ΛP^{-1}AP=P^TAP=\Lambda

AλE=A=[λ111λ111λ]=(λ12)(λ+1)|A-\lambda E|=A=\begin{bmatrix} -\lambda & - 1 & 1\\ -1 & -\lambda & 1\\ 1 & 1 & -\lambda \end{bmatrix}=-(\lambda-1^2)(\lambda+1)

解得AA的特征值为

λ1=2,λ2=λ3=1\lambda_1=-2,\lambda_2=\lambda_3=1

对应λ1=2\lambda_1=-2,解方程(A+2E)x=0(A+2E)x=0

A+2E=[211121112][101011000]A+2E=\begin{bmatrix} 2 & -1 & 1\\ -1 & 2 & 1\\ 1 & 1 & 2 \end{bmatrix}\sim \begin{bmatrix} 1 & 0 & 1\\ 0 & 1 & 1\\ 0 & 0 & 0 \end{bmatrix}

得基础解系ζ1=[111]\zeta_1=\begin{bmatrix} -1\\ -1\\ 1 \end{bmatrix}

ζ1\zeta_1进行单位化,得

p1=13[111]p_1=\frac{1}{\sqrt{3}}\begin{bmatrix} -1\\ -1\\ 1 \end{bmatrix}

对应λ2=λ3=1\lambda_2=\lambda_3=1,解方程(AE)x=0(A-E)x=0

AE=[111111111][111000000]|A-E|=\begin{bmatrix} -1 & -1 & 1\\ -1 & -1 & 1\\ 1 & 1 & -1 \end{bmatrix} \sim \begin{bmatrix} 1 & 1 & -1\\ 0 & 0 & 0\\ 0 & 0 & 0\\ \end{bmatrix}

得基础解系

ζ2=[110],ζ3=[101]\zeta_2=\begin{bmatrix} -1\\ 1\\ 0 \end{bmatrix},\zeta_3=\begin{bmatrix} 1\\ 0\\ 1 \end{bmatrix}

ζ2ζ2\zeta_2、\zeta_2正交化

η2=ζ2\eta_2=\zeta_2

η3=ζ3[η2,ζ3]ζ2η2=[101]+12[110]=12[112]\eta_3=\zeta_3-\frac{[\eta_2,\zeta_3]}{||\zeta_2||}\eta_2=\begin{bmatrix} 1\\ 0\\ 1 \end{bmatrix}+\frac{1}{2}\begin{bmatrix} -1\\ 1\\ 0 \end{bmatrix}=\frac{1}{2}\begin{bmatrix} 1\\ 1\\ 2 \end{bmatrix}

再将η2ζ3\eta_2、\zeta_3单位化,得

p2=12[110],p3=16[112]p_2=\frac{1}{\sqrt{2}}\begin{bmatrix} -1\\ 1\\ 0 \end{bmatrix},p_3=\frac{1}{\sqrt{6}}\begin{bmatrix} 1\\ 1\\ 2 \end{bmatrix}

p1,p2,p3p_1,p_2,p_3构成正交矩阵

P=(p1,p2,p3)=[13121613121613026]P=(p_1,p_2,p_3)=\begin{bmatrix} -\frac{1}{\sqrt{3}} & -\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{6}}\\ -\frac{1}{\sqrt{3}} & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{6}}\\ \frac{1}{\sqrt{3}} & 0 & \frac{2}{\sqrt{6}} \end{bmatrix}

P1AP=PTAP=Λ=[200010001]P^{-1}AP=P^{T}AP=\Lambda=\begin{bmatrix} -2 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{bmatrix}

综上,有正交变换x=Pyx=Py

[x1x2x3]=[13121613121613026][y1y2y3]\begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix}=\begin{bmatrix} -\frac{1}{\sqrt{3}} & -\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{6}}\\ -\frac{1}{\sqrt{3}} & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{6}}\\ \frac{1}{\sqrt{3}} & 0 & \frac{2}{\sqrt{6}} \end{bmatrix}\begin{bmatrix} y_1\\ y_2\\ y_3 \end{bmatrix}

结语

说明:

  • 参考于 课本《线性代数》第五版 同济大学数学系编
  • 配合书中概念讲解 结合了自己的一些理解及思考

文章仅作为学习笔记,记录从0到1的一个过程

希望对您有所帮助,如有错误欢迎小伙伴指正~

我是 海轰ଘ(੭ˊᵕˋ)੭

如果您觉得写得可以的话,请点个赞吧

谢谢支持 ❤️

在这里插入图片描述