矩阵的二次型
- 1.二次型矩阵
- 2.标准形与规范形
-
- 1.标准形
- 2.规范形
- 3.正负惯性指数
-
- 1.概念
- 2.惯性定理
- 3.坐标变换
-
- 1.概念
- 2.定理
- 4.合同变换
- 5.正定二次型
-
- 1.概念
- 2.判定定理
- 6.例题
- 7.作业
1.二次型矩阵
??含有nnn个变量x1,x2,?,xnx_1,x_2,\cdots,x_nx1?,x2?,?,xn?的二次齐次函数
f(x1,x2,?,xn)=a11x12+a22x22+?+annxn2\;\;\;\;\;\;{f\left(x_1,x_2,\cdots,x_n\right)=a_{11}x_1^2+a_{22}x_2^2+\cdots+a_{nn}x_n^2\;}f(x1?,x2?,?,xn?)=a11?x12?+a22?x22?+?+ann?xn2?
+2a12x1x2+2a13x1x3+?+2a1nx1xn+2a23x2x3+?+2a2nx2xn+?+2an?1,nxn?1xn\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;+2a_{12}x_1x_2+2a_{13}x_1x_3+\cdots+2a_{1n}x_1x_n\;\\\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;+2a_{23}x_2x_3+\cdots+2a_{2n}x_2x_n\\\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;+\cdots+2a_{n-1,n}x_{n-1}x_n+2a12?x1?x2?+2a13?x1?x3?+?+2a1n?x1?xn?+2a23?x2?x3?+?+2a2n?x2?xn?+?+2an?1,n?xn?1?xn?
称为nnn元二次型.若规定aij=aji,?i,j=1,2,?,na_{ij}=a_{ji},\forall i,j=1,2,\cdots,naij?=aji?,?i,j=1,2,?,n,则二次型有矩阵表示f(x1,x2,?,xn)=xTAxf\left(x_1,x_2,\cdots,x_n\right)=\boldsymbol x^T\boldsymbol A\boldsymbol xf(x1?,x2?,?,xn?)=xTAx
其中x=[x1,x2,?,xn]Tx=\left[x_1,x_2,\cdots,x_n\right]^Tx=[x1?,x2?,?,xn?]T,A=[aij]A=[a_{ij}]A=[aij?]且AT=AA^T=AAT=A是对称矩阵,称AAA为二次型的矩阵.秩r(A)r(A)r(A)称为二次型的秩,记为r(f)r(f)r(f)
注意:矩阵为实对称矩阵。
2.标准形与规范形
1.标准形
??如果二次型中只含有变量分平方项,所有混合项xixj(i≠j)x_ix_j(i\neq j)xi?xj?(i??=j)的系数全是零,即xTAx=d1x12+d2x22+?+dnxn2,\boldsymbol x^T\boldsymbol A\boldsymbol x=d_1x_1^2+d_2x_2^2+\cdots+d_nx_n^2,xTAx=d1?x12?+d2?x22?+?+dn?xn2?,这样的二次型称为标准形
2.规范形
??在标准形中,若平方项的系数djd_{j}dj?为1,-1或 0,即xTAx=x12+x22+?+xp2?xp+12???xp+q2,\boldsymbol x^T\boldsymbol A\boldsymbol x=x_1^2+x_2^2+\cdots+x_p^2-x_{p+1}^2-\cdots-x_{p+q}^2,xTAx=x12?+x22?+?+xp2??xp+12????xp+q2?,则称其为二次型的规范形.
3.正负惯性指数
1.概念
??在二次型xTAx\boldsymbol x^T\boldsymbol A\boldsymbol xxTAx的标准形中,正平方项的个数ppp称为二次型的正惯性指数,负平方项的个数qqq称为二次型的负惯性指数.
2.惯性定理
??对于一个二次型,不论选取怎么的坐标变换是它换位仅含平方项的标准形,其中正平方项的个数ppp,负平方项的个数qqq都是由所给二次型唯一确定的.
3.坐标变换
1.概念
如果方程组
{x1=c11y1+c12y2+c13y3x2=c21y1+c22y2+c23y3x3=c31y1+c32y2+c33y3\left\{\begin{array}{l}x_1=c_{11}y_1+c_{12}y_2+c_{13}y_3\\x_2=c_{21}y_1+c_{22}y_2+c_{23}y_3\\x3=c_{31}y_1+c_{32}y_2+c_{33}y_3\end{array}\right. ????x1?=c11?y1?+c12?y2?+c13?y3?x2?=c21?y1?+c22?y2?+c23?y3?x3=c31?y1?+c32?y2?+c33?y3??满足
∣C∣=∣c11c12c13c21c22c23c31c32c33∣≠0\left|C\right|=\begin{vmatrix}c_{11}&c_{12}&c_{13}\\c_{21}&c_{22}&c_{23}\\c_{31}&c_{32}&c_{33}\end{vmatrix}\neq0∣C∣=∣∣∣∣∣∣?c11?c21?c31??c12?c22?c32??c13?c23?c33??∣∣∣∣∣∣???=0
称为方程组为由x=[x1,x2,x3]Tx=\left[x_1,x_2,x_3\right]^Tx=[x1?,x2?,x3?]T到y=[y1,y2,y3]Ty=\left[y_1,y_2,y_3\right]^Ty=[y1?,y2?,y3?]T的坐标变换.
?
坐标变换用矩阵表示,即
[x1x2x3]=[c11c12c13c21c22c23c31c32c33][y1y2y3],或x=Cy\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}=\begin{bmatrix}c_{11}&c_{12}&c_{13}\\\begin{array}{c}c_{21}\end{array}&c_{22}&c_{23}\\\begin{array}{c}c_{31}\end{array}&c_{32}&c_{33}\end{bmatrix}\begin{bmatrix}y_1\\y_2\\y_3\end{bmatrix},或\boldsymbol x\boldsymbol=\boldsymbol C\boldsymbol y ???x1?x2?x3?????=???c11?c21??c31???c12?c22?c32??c13?c23?c33????????y1?y2?y3?????,或x=Cy其中CCC是可逆矩阵.
2.定理
4.合同变换
两个nnn阶矩阵AAA和BBB,如果存在可逆矩阵CCC使得
CTAC=B,C^TAC=B,CTAC=B,就称矩阵AAA和BBB合同,记作A?BA\simeq BA?B.并称由AAA到BBB的变换为合同变换,称CCC为合同变换的矩阵.
5.正定二次型
1.概念
??对二次型xTAx\boldsymbol x^T\boldsymbol A\boldsymbol xxTAx,如果对任何x≠0x\neq0x??=0,恒有xTAx>0\boldsymbol x^T\boldsymbol A\boldsymbol x>0xTAx>0,则称二次型xTAx\boldsymbol x^T\boldsymbol A\boldsymbol xxTAx是正定二次型,并称是对称矩阵AAA是正定矩阵.
矩阵 | 条件 |
---|---|
正定 | ?x≠0,f(x)>0\forall x\neq0,f(x)>0?x??=0,f(x)>0 |
负定 | ?x≠0,f(x)<0\forall x\neq0,f(x)<0?x??=0,f(x)<0 |
半正定 | ?x≠0,f(x)?0\forall x\neq0,f(x)\geqslant0?x??=0,f(x)?0 |
半负定 | ?x≠0,f(x)?0\forall x\neq0,f(x)\leqslant0?x??=0,f(x)?0 |
2.判定定理
nnn元二次型xTAx\boldsymbol x^T\boldsymbol A\boldsymbol xxTAx正定的充分必要条件有:
(1)AAA的正惯性指数是nnn;
(2)AAA与EEE合同,即存在可逆矩阵CCC,使得CTAC=EC^TAC=ECTAC=E;
(3)AAA的所有特征值λ(i=1,2,?,n)\lambda(i=1,2,\cdots,n)λ(i=1,2,?,n)均为整数;
(4)AAA的各阶顺序主子式均大于零.
推论??xTAx\boldsymbol x^T\boldsymbol A\boldsymbol xxTAx正定的必要条件是:
(1)aii>0(i=1,2,?,n)a_{ii}>0(i=1,2,\cdots,n)aii?>0(i=1,2,?,n);
(2)∣A∣>0\left|A\right|>0∣A∣>0
6.例题
7.作业
6.用numpy求特征值特征向量
import numpy as np
A = np.mat([[1, 0], [0, 1]])
eigvalue, eigvector = np.linalg.eig(A)
print(eigvalue, eigvector)
[1. 1.] [[1. 0.][0. 1.]]