为什么配方法化二次型为标准型一定可以做到可逆线性变换

定理: 对任意一个 n 元二次型 f ( x 1 , x 2 , . . . , x n ) = x T A x f(x_1, x_2, ..., x_n) = x^TAx f(x1,x2,...,xn)=xTAx,都可以通过配方法,进行可逆线性变换 x = C y x = Cy x=Cy,其中 C C C 是可逆阵,化成标准形。即:

f ( x 1 , x 2 , . . . , x n ) = x T A x = x = C y y T C T A C y = d 1 y 1 2 + d 2 y 2 2 + ⋯ + d n y n 2 f(x_1,x_2,...,x_n) = x^TAx \xlongequal{x=Cy} y^TC^TACy = d_1y_1^2+d_2y_2^2+\cdots+d_ny_n^2 f(x1,x2,...,xn)=xTAxx=Cy yTCTACy=d1y12+d2y22++dnyn2

由实对称矩阵必可相似对角化,即对任意一个 n 阶实对称矩阵 A A A,一定存在可逆阵 C C C 使得 C T A C = ∧ C^TAC = \wedge CTAC=. 这个定理显然是正确的。但是如何直观地看出使用配方法也总能找到可逆线性变换呢?我用 3 元二次型的不同情况来说明这个定理的正确性。

情况一:
f ( x 1 , x 2 , x 3 ) = 2 x 1 2 + 3 x 2 2 + 5 x 3 2 + 4 x 1 x 2 − 8 x 2 x 3 − 4 x 3 x 1 f(x_1,x_2,x_3) = 2x_1^2 + 3x_2^2+5x_3^2+4x_1x_2-8x_2x_3-4x_3x_1 f(x1,x2,x3)=2x12+3x22+5x32+4x1x28x2x34x3x1

先把所有含 x 1 x_1 x1 的项配成一个完全平方,即有:
f = 2 [ x 1 2 + 2 x 1 ( x 2 − x 3 ) + ( x 2 − x 3 ) 2 ] + 3 x 2 2 + 5 x 3 2 − 8 x 2 x 3 − 2 ( x 2 − x 3 ) 2 = 2 ( x 1 + x 2 − x 3 ) 2 + x 2 2 + 3 x 3 2 − 4 x 2 x 3 \begin{align*} f &= 2[x_1^2+2x_1(x_2-x_3)+(x_2-x_3)^2]+3x_2^2+5x_3^2-8x_2x_3-2(x_2-x_3)^2 \\ &= 2(x_1+x_2-x_3)^2 + x_2^2+3x_3^2-4x_2x_3 \end{align*} f=2[x12+2x1(x2x3)+(x2x3)2]+3x22+5x328x2x32(x2x3)2=2(x1+x2x3)2+x22+3x324x2x3
再把所有含 x 2 x_2 x2 的项配成一个完全平方,即:
f = 2 ( x 1 + x 2 − x 3 ) 2 + ( x 2 2 − 4 x 2 x 3 + 4 x 3 2 ) + 3 x 3 2 − 4 x 3 2 = 2 ( x 1 + x 2 − x 3 ) 2 + ( x 2 − 2 x 3 ) 2 − x 3 2 \begin{align*} f & = 2(x_1+x_2-x_3)^2 + (x_2^2-4x_2x_3+4x_3^2) + 3x_3^2-4x_3^2 \\ & = 2(x_1+x_2-x_3)^2+(x_2-2x_3)^2-x_3^2 \end{align*} f=2(x1+x2x3)2+(x224x2x3+4x32)+3x324x32=2(x1+x2x3)2+(x22x3)2x32
引入新变量,令
{ y 1 = x 1 + x 2 − x 3 y 2 = x 2 − 2 x 3 y 3 = x 3       即 ( y 1 y 2 y 3 ) = [ 1 1 − 1 0 1 − 2 0 0 1 ] ( x 1 x 2 x 3 ) \left\{ \begin{align*} y_1 & = &x_1&+x_2& -x_3\\ y_2 & = && x_2 &-2x_3\\ y_3 & = & & &x_3 \end{align*} \right. \ \ \ \ \ \ 即 \begin{pmatrix} y_1\\ y_2\\ y_3 \end{pmatrix}= \begin{bmatrix} 1 & 1 & -1\\ 0 & 1 & -2\\ 0 & 0 & 1 \\ \end{bmatrix} \begin{pmatrix} x_1\\ x_2\\ x_3 \end{pmatrix} y1y2y3===x1+x2x2x32x3x3       y1y2y3 = 100110121 x1x2x3
这个变换矩阵是一个主对角线元素全部不为 0 的上三角矩阵,它显然是可逆的,所以 y y y x x x
之间肯定是存在可逆线性变换的。那么现在问题来了,该变换矩阵是上三角矩阵是显然的,但是万一有的行的主元是0呢,这样得到的矩阵岂不是不满秩了吗?怎么解决呢?请看情况二:

情况二:

f ( x 1 , x 2 , x 3 ) = 2 x 1 2 + 3 x 2 2 + 6 x 3 2 + 4 x 1 x 2 − 8 x 2 x 3 − 4 x 3 x 1 f(x_1,x_2,x_3) = 2x_1^2 + 3x_2^2+6x_3^2+4x_1x_2-8x_2x_3-4x_3x_1 f(x1,x2,x3)=2x12+3x22+6x32+4x1x28x2x34x3x1

先把所有含 x 1 x_1 x1 的项配成一个完全平方,即有:
f = 2 [ x 1 2 + 2 x 1 ( x 2 − x 3 ) + ( x 2 − x 3 ) 2 ] + 3 x 2 2 + 6 x 3 2 − 8 x 2 x 3 − 2 ( x 2 − x 3 ) 2 = 2 ( x 1 + x 2 − x 3 ) 2 + x 2 2 + 4 x 3 2 − 4 x 2 x 3 \begin{align*} f &= 2[x_1^2+2x_1(x_2-x_3)+(x_2-x_3)^2]+3x_2^2+6x_3^2-8x_2x_3-2(x_2-x_3)^2 \\ &= 2(x_1+x_2-x_3)^2 + x_2^2+4x_3^2-4x_2x_3 \end{align*} f=2[x12+2x1(x2x3)+(x2x3)2]+3x22+6x328x2x32(x2x3)2=2(x1+x2x3)2+x22+4x324x2x3

再把所有含 x 2 x_2 x2 的项配成一个完全平方,即:
f = 2 ( x 1 + x 2 − x 3 ) 2 + ( x 2 2 − 4 x 2 x 3 + 4 x 3 2 ) + 3 x 3 2 − 4 x 3 2 = 2 ( x 1 + x 2 − x 3 ) 2 + ( x 2 − 2 x 3 ) 2 \begin{align*} f & = 2(x_1+x_2-x_3)^2 + (x_2^2-4x_2x_3+4x_3^2) + 3x_3^2-4x_3^2 \\ & = 2(x_1+x_2-x_3)^2+(x_2-2x_3)^2 \end{align*} f=2(x1+x2x3)2+(x224x2x3+4x32)+3x324x32=2(x1+x2x3)2+(x22x3)2
可是这时候经过前面的配方, x 3 2 x_3^2 x32这一项已经消失了,这个时候好像只能引入两个新变量了,也就是:
{ y 1 = x 1 + x 2 − x 3 y 2 = x 2 − 2 x 3 \left\{ \begin{align*} y_1 & = &x_1&+x_2& -x_3\\ y_2 & = && x_2 &-2x_3\\ \end{align*} \right. {y1y2==x1+x2x2x32x3

其实,这个时候我们可以人为地凑出第三个方程,将 x 3 2 x_3^2 x32 项的系数看成 0 ,也就是 0 x 3 2 0 x_3^2 0x32,其实就相当于,无论 y 3 y_3 y3 取何值,都不影响 f f f 的表达式。

一开始,用矩阵表示该转换是:
( y 1 y 2 ) = [ 1 1 − 1 0 1 − 2 ] ( x 1 x 2 x 3 ) \begin{pmatrix} y_1\\ y_2\\ \end{pmatrix}= \begin{bmatrix} 1 & 1 & -1\\ 0 & 1 & -2\\ \end{bmatrix} \begin{pmatrix} x_1\\ x_2\\ x_3 \end{pmatrix} (y1y2)=[101112] x1x2x3
现在我们变为:
( y 1 y 2 y 3 ) = [ 1 1 − 1 0 1 − 2 0 0 a ] ( x 1 x 2 x 3 ) \begin{pmatrix} y_1\\ y_2\\ y_3 \end{pmatrix}= \begin{bmatrix} 1 & 1 & -1\\ 0 & 1 & -2\\ 0 & 0 & a \end{bmatrix} \begin{pmatrix} x_1\\ x_2\\ x_3 \end{pmatrix} y1y2y3 = 10011012a x1x2x3
其中, a ≠ 0 a\neq 0 a=0,刚刚已经说了,其实无论 y 3 y_3 y3 取何值,都不影响 f f f,因为 f f f 的表达式 中 y 3 2 y_3^2 y32 项的系数为 0。但是只有当 a ≠ 0 a\neq0 a=0,由 x x x y y y 的转换才是可逆线性变换。一般地,为了方便起见,我们令 a = 1 a=1 a=1,也就是 y 3 = x 3 y_3=x_3 y3=x3

所以,我们同样得到了一个可逆线性变换,只不过是在主元为 0 的那些行做了特殊取值。仔细思考,如果最初 f f f 的表达式中 x 1 2 x_1^2 x12项的系数为 0,这仍然说得通,因为在 f f f 的表达式中 x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3的地位是对等的,所以我们可以先对系数不为 0 的 x 2 2 x_2^2 x22 x 3 2 x_3^2 x32 进行配方。

那么问题就来了,如果 f f f 的表达式中,只有形如 x 1 x 2 x_1x_2 x1x2, x 2 x 3 x_2x_3 x2x3 的交叉项,而没有 x i 2 x_i^2 xi2 的平方项怎么办呢?请看情况三:

情况三:

f ( x 1 , x 2 , x 3 ) = x 1 x 2 + 2 x 1 x 3 + 4 x 2 x 3 f(x_1,x_2,x_3) = x_1x_2 + 2x_1x_3 + 4 x_2x_3 f(x1,x2,x3)=x1x2+2x1x3+4x2x3

x 1 = y 1 + y 2 x_1 = y_1 + y_2 x1=y1+y2 x 2 = y 1 − y 2 x_2 = y_1 - y_2 x2=y1y2 x 3 = y 3 x_3 = y_3 x3=y3,则有:
f = ( y 1 + y 2 ) ( y 1 − y 2 ) + 2 ( y 1 + y 2 ) y 3 + 4 ( y 1 − y 2 ) y 3 = y 1 2 − y 2 2 + 6 y 1 y 3 − 2 y 2 y 3 \begin{align*} f & = (y_1+y_2)(y_1-y_2)+2(y_1+y_2)y_3+4(y_1-y_2)y_3 \\ & = y_1^2 - y_2^2 + 6y_1y_3 - 2y_2y_3 \end{align*} f=(y1+y2)(y1y2)+2(y1+y2)y3+4(y1y2)y3=y12y22+6y1y32y2y3

进一步,我们再根据之前的方法,从 y 1 y_1 y1开始配方,可得:
f = ( y 1 + 3 y 3 ) 2 − ( y 2 + y 3 ) 2 − 8 y 3 2 \begin{align*} f & = (y_1+3y_3)^2 - (y_2+y_3)^2 - 8y_3^2 \end{align*} f=(y1+3y3)2(y2+y3)28y32
再引入新变量:

{ z 1 = y 1 + 3 y 3 z 2 = y 2 + y 3 z 3 = y 3       即 ( z 1 z 2 z 3 ) = [ 1 0 3 0 1 1 0 0 1 ] ( y 1 y 2 y 3 ) = [ 1 0 3 0 1 1 0 0 1 ] [ 1 1 0 1 − 1 0 0 0 1 ] − 1 ( x 1 x 2 x 3 ) \left\{ \begin{align*} z_1 & = y_1+3y_3\\ z_2 & = y_2+y_3\\ z_3 & = y_3 \end{align*} \right. \ \ \ \ \ \ 即 \begin{pmatrix} z_1\\ z_2\\ z_3 \end{pmatrix}= \begin{bmatrix} 1 & 0 & 3\\ 0 & 1 & 1\\ 0 & 0 & 1 \\ \end{bmatrix} \begin{pmatrix} y_1\\ y_2\\ y_3 \end{pmatrix}= \begin{bmatrix} 1 & 0 & 3\\ 0 & 1 & 1\\ 0 & 0 & 1 \\ \end{bmatrix} \begin{bmatrix} 1 & 1& 0\\ 1 & -1 & 0\\ 0 & 0 & 1 \\ \end{bmatrix}^{-1} \begin{pmatrix} x_1\\ x_2\\ x_3 \end{pmatrix} z1z2z3=y1+3y3=y2+y3=y3       z1z2z3 = 100010311 y1y2y3 = 100010311 110110001 1 x1x2x3
这个新的线性变换已经构造出来了。

一般地,对于只含交叉项的 n 元二次多项式 f f f,我们假设 f f f 中含有交叉项 x i x j , i ≠ j x_ix_j,i\neq j xixj,i=j,则我们令: x i = y i + y j x_i = y_i + y_j xi=yi+yj x j = y i − y j x_j = y_i - y_j xj=yiyj x k = y k , k ≠ i , k ≠ j x_k = y_k, k\neq i,k\neq j xk=yk,k=ik=j。先利用平方差构造出一个平方项,然后在逐次配方,也可以得到一个可逆线性变换。

综合以上三种情况,我们不难看出,配方法一定可以找到可逆线性变换,化二次型为标准型。

你可能感兴趣的:(数学,线性代数,线性代数,矩阵,算法)