线性代数——二次型和矩阵的正定

引言

  • 绘制二次曲线 x y = 1 xy=1 xy=1 y 2 2 − x 2 2 = 1 \frac{y^2}{2}-\frac{x^2}{2}=1 2y22x2=1的图像
import numpy as np
import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist

# 创建画布
fig = plt.figure(figsize=(12, 6))
# 使用axisartist.Subplot方法创建一个绘图区对象ax
ax = axisartist.Subplot(fig, 121)  
# 将绘图区对象添加到画布中
fig.add_axes(ax)
# 设置绘图区所有坐标轴隐藏
ax.axis[:].set_visible(False)
# 添加新的坐标轴,第一个0代表平行直线,第二个0代表该直线经过0点
ax.axis["x"] = ax.new_floating_axis(0,0)
# 给x坐标轴加上箭头,"->"表示是空箭头,size = 1.0表示箭头大小
ax.axis["x"].set_axisline_style("->", size = 1.0)
# 添加y坐标轴,且加上箭头,"-|>"是实心箭头
ax.axis["y"] = ax.new_floating_axis(1,0)
ax.axis["y"].set_axisline_style("-|>", size = 1.0)
# 设置x、y轴上刻度显示方向
ax.axis["x"].set_axis_direction("top")
ax.axis["y"].set_axis_direction("right")
# 设置坐标距离
plt.axis("equal")
# 添加标题
plt.title(r'$xy=1$', y=1.1)
# 计算点
x1 = np.linspace(-5, -0.2, 100)
x2 = np.linspace(0.2, 5, 100)
plt.plot(x1, 1/x1, x2, 1/x2)

# 绘制第二幅图
ax2 = axisartist.Subplot(fig, 122)  
fig.add_axes(ax2)
ax2.axis[:].set_visible(False)
ax2.axis["x"] = ax2.new_floating_axis(0,0)
ax2.axis["x"].set_axisline_style("->", size = 1.0)
ax2.axis["y"] = ax2.new_floating_axis(1,0)
ax2.axis["y"].set_axisline_style("-|>", size = 1.0)
ax2.axis["x"].set_axis_direction("top")
ax2.axis["y"].set_axis_direction("right")
plt.axis("equal")
plt.title(r'$\frac{y^2}{2}-\frac{x^2}{2}=1$', y=1.1)
x = np.linspace(-5, 5, 100)
y1 = (x**2 + 2)**0.5
plt.plot(x, -y1, x, y1)

plt.show()

在这里插入图片描述

  • 对比两个图像,相当于旋转了45°
  • 通过变量的线性变换化简一个二次齐次多项式,使它只含有平方项,就是把方程化为标准形。
  • 这样做的意义是便于研究二次曲线,如标准形 m x 2 + n y 2 = 1 mx^2+ny^2=1 mx2+ny2=1中m和n的正负代表不同类型的双曲线。

二次型

  • 含有n个变量x1,x2,…,xn的二次齐次函数 f ( x 1 , x 2 , ⋯   , x n ) = a 11 x 1 2 + a 22 x 2 2 + ⋯ + a n n x n 2 + 2 a 12 x 1 x 2 + 2 a 13 x 1 x 3 + ⋯ + 2 a n − 1 , n x n − 1 x n f(x_1,x_2,\cdots,x_n)=a_{11}x_1^2+a_{22}x_2^2+\cdots+a_{nn}x_n^2\\+2a_{12}x_1x_2+2a_{13}x_1x_3+\cdots+2a_{n-1,n}x_{n-1}x_n f(x1,x2,,xn)=a11x12+a22x22++annxn2+2a12x1x2+2a13x1x3++2an1,nxn1xn称为二次型
  • 对于二次型,主要问题是寻求可逆的线性变换 { x 1 = c 11 y 1 + c 12 y 2 + ⋯ + c 1 n y n , x 2 = c 21 y 1 + c 22 y 2 + ⋯ + c 2 n y n , ⋯ x n = c n 1 y 1 + c n 2 y 2 + ⋯ + c n n y n , \left\{\begin{matrix} x_1=c_{11}y_1+c_{12}y_2+\cdots+c_{1n}y_n,\\ x_2=c_{21}y_1+c_{22}y_2+\cdots+c_{2n}y_n,\\ \cdots\\ x_n=c_{n1}y_1+c_{n2}y_2+\cdots+c_{nn}y_n, \end{matrix}\right. x1=c11y1+c12y2++c1nyn,x2=c21y1+c22y2++c2nyn,xn=cn1y1+cn2y2++cnnyn,使二次型只含有平方项,也就是 f = k 1 y 1 2 + k 2 y 2 2 + ⋯ + k n y n 2 , f=k_1y_1^2+k_2y_2^2+\cdots+k_ny_n^2, f=k1y12+k2y22++knyn2,这种只含有平方项的二次型,称为二次型的标准型(或法式)。
  • 如果标准形的系数只在1,-1,0三个数中取值,也就是 f = y 1 2 + ⋯ + y p 2 − y p + 1 2 − ⋯ − y r 2 , f=y_1^2+\cdots+y_p^2-y_{p+1}^2-\cdots-y_r^2, f=y12++yp2yp+12yr2,则称上式为二次型的规范形
  • a i j = a j i a_{ij}=a_{ji} aij=aji,则 2 a i j x i x j = a i j x i x j + a j i x j x i 2a_{ij}x_ix_j=a_{ij}x_ix_j+a_{ji}x_jx_i 2aijxixj=aijxixj+ajixjxi,于是 f = a 11 x 1 2 + a 12 x 1 x 2 + ⋯ + a 1 n x 1 x n + a 21 x 2 x 1 + a 22 x 2 2 + ⋯ + a 2 n x 2 x n + ⋯ + a n 1 x n x 1 + a n 2 x n x 2 + ⋯ + a n n x n 2 = ∑ i , j = 1 n a i j x i x j = ( x 1 , x 2 , ⋯   , x n ) [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋮ a n 1 a n 2 ⋯ a n n ] [ x 1 x 2 ⋮ x n ] = x T A x f=a_{11}x_1^2+a_{12}x_1x_2+\dots+a_{1n}x_1x_n\\+a_{21}x_2x_1+a_{22}x_2^2+\dots+a_{2n}x_2x_n\\+\cdots+a_{n1}x_nx_1+a_{n2}x_nx_2+\dots+a_{nn}x_n^2\\=\sum_{i,j=1}^na_{ij}x_ix_j\\=\left ( x_1,x_2,\cdots,x_n \right )\begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n}\\ a_{21} & a_{22} & \cdots & a_{2n}\\ \vdots & \vdots & & \vdots\\ a_{n1} & a_{n2} & \cdots & a_{nn} \end{bmatrix}\begin{bmatrix} x_1\\x_2\\\vdots\\x_n \end{bmatrix}\\=x^TAx f=a11x12+a12x1x2++a1nx1xn+a21x2x1+a22x22++a2nx2xn++an1xnx1+an2xnx2++annxn2=i,j=1naijxixj=(x1,x2,,xn)a11a21an1a12a22an2a1na2nannx1x2xn=xTAx其中A为对称阵。
    【例】 f = x 2 − 3 z 2 − 4 x y + y z f=x^2-3z^2-4xy+yz f=x23z24xy+yz用矩阵记号写出来,就是 f = ( x , y , z ) [ 1 − 2 0 − 2 0 1 2 0 1 2 − 3 ] [ x y z ] f=(x,y,z)\begin{bmatrix} 1&-2&0\\-2&0&\frac{1}{2}\\0&\frac{1}{2}&-3\end{bmatrix}\begin{bmatrix}x\\y\\z\end{bmatrix} f=(x,y,z)12020210213xyz

二次型化标准形和规范形

  • 如果A是对角阵,f就是标准形。
  • 定理:任给二次型 f = ∑ i , j = 1 n a i j x i x j ( a i j = a j i ) f=\sum_{i,j=1}^na_{ij}x_ix_j(a_{ij}=a_{ji}) f=i,j=1naijxixj(aij=aji),总有正交变换x=Py,使f化为标准形 f = λ 1 y 1 2 + λ 2 y 2 2 + ⋯ + λ n y n 2 f=\lambda_1y_1^2+\lambda_2y_2^2+\cdots+\lambda_ny_n^2 f=λ1y12+λ2y22++λnyn2,其中 λ 1 , λ 2 , ⋯   , λ n \lambda_1,\lambda_2,\cdots,\lambda_n λ1,λ2,,λn是f的矩阵A的特征值。
    证明:任给对称阵A,总有正交阵P,使P-1AP = PTAP = Λ,其中Λ是以A的n个特征值为对角元的对角阵,于是有 A = ( P T ) − 1 Λ P − 1 = ( P − 1 ) T Λ P − 1 = 令 Q = P − 1 Q T Λ Q , A=(P^T)^{-1}ΛP^{-1}=(P^{-1})^TΛP^{-1}\xlongequal{令Q=P^{-1}}Q^TΛQ, A=(PT)1ΛP1=(P1)TΛP1Q=P1 QTΛQ, f = x T A x = x T Q T Λ Q x = ( Q x ) T Λ Q x = 令 y = Q x y T Λ y f=x^TAx=x^TQ^TΛQx=(Qx)^TΛQx\xlongequal{令y=Qx}y^TΛy f=xTAx=xTQTΛQx=(Qx)TΛQxy=Qx yTΛy
  • 要把标准形 f = λ 1 y 1 2 + λ 2 y 2 2 + ⋯ + λ n y n 2 f=\lambda_1y_1^2+\lambda_2y_2^2+\cdots+\lambda_ny_n^2 f=λ1y12+λ2y22++λnyn2化成规范形,只需令 { z 1 = ∣ λ 1 ∣ y 1 z 2 = ∣ λ 2 ∣ y 2 ⋯ z n = ∣ λ n ∣ y n \left\{\begin{matrix} z_1=\sqrt{|\lambda_1|}y_1\\ z_2=\sqrt{|\lambda_2|}y_2\\ \cdots\\ z_n=\sqrt{|\lambda_n|}y_n \end{matrix}\right. z1=λ1 y1z2=λ2 y2zn=λn yn即得f的规范形 f = ± z 1 2 ± z 2 2 ± ⋯ ± z n 2 ( 正 负 与 λ i 相 同 ) . f=\pm z_1^2\pm z_2^2\pm \cdots\pm z_n^2(正负与λ_i相同). f=±z12±z22±±zn2(λi).

正定二次型

  • 惯性定理:设有二次型 f = x T A x f=x^TAx f=xTAx,它的秩为r,有两个可逆变换x=Cy和x=Pz使 f = k 1 y 1 2 + k 2 y 2 2 + ⋯ + k r y r 2 ( k i ≠ 0 ) f=k_1y_1^2+k_2y_2^2+\cdots+k_ry_r^2(k_i\neq 0) f=k1y12+k2y22++kryr2(ki=0) f = λ 1 z 1 2 + λ 2 z 2 2 + ⋯ + λ r z r 2 ( λ i ≠ 0 ) , f=\lambda_1z_1^2+\lambda_2z_2^2+\cdots+\lambda_rz_r^2(\lambda_i\neq 0), f=λ1z12+λ2z22++λrzr2(λi=0),则k1,…,kr中正数的个数与λ1,…,λr中正数的个数相等。
  • 二次型的标准形中正系数的个数称为二次型的正惯性指数,负系数的个数称为负惯性指数
  • 设有二次型 f = x T A x f=x^TAx f=xTAx,如果对任何x ≠ 0,都有f > 0,则称f为正定二次型,并称对称阵A是正定的;如果对任何x ≠ 0,都有f < 0,则称f为负定二次型,并称对称阵A是负定的。f⩾0,半正定;f⩽0,半负定
  • 定理:n元二次型 f = x T A x f=x^TAx f=xTAx为正定的充分必要条件是:它的标准形的n个系数全为正,即它的规范形的n个系数全为1,亦即它的正惯性指数等于n。
  • 推论:对称阵A为正定的充分必要条件是:A的特征值全为正,即|A|≠0,亦即A可逆。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值