换元法与线性代数中的二次型

一个“神来之笔”的换元?

问题:若实数 x,y 满足 x2+4y22xy=36,求 x2+3y2xy 的取值范围。

这个问题比较平凡,使用拉格朗日乘数法可以很机械地解决它。

拉格朗日乘数法

f(x,y)=x2+4y22xy36,g(x,y)=x2+3y2xy, 我们要求 g{f} 的张成空间的元素,在二元的情况下,即

f×g=0

这样,我们可以省略乘数带来的未知数,联立 f=0,得到:

{x2+4y22xy36=0(2x2y)(x+6y)(2x+8y)(2xy)=0

这个方程有四组解,分别是

{x2(33),y6},{x2633,y6},{x23(3+2),y6},{x23(3+2),y6}

分别带入 g 中,得到最小值和最大值分别为 366336+63

但是,可以发现,这个问题使用拉格朗日乘数法涉及到复杂的计算,不借助计算机求解这种非退化的二元二次方程十分痛苦。

我偶然得到了一种更加有趣的做法,它(看似)可以在高中数学的框架下解决这个问题:首先令 u=xy,v=3y,于是

x=u+v3,y=v3

代入 x2+4y22xy=36,即

(u+v3)2+(v3)22(u+v3)(v3)=36

化简得到 u2+v2=36,于是进一步换元,则

u=6cosθ,v=6sinθ

代回所求 x2+3y2xy,得到 u2+v2+13uv,进一步可得 36+123sinθcosθ,考虑到 sin2θ=2sinθcosθ,故最终可得,所求式子由

36+63sin2θ

给出。显然这个式子的取值范围为 [3663,36+63]

这个做法中大部分都是十分平凡的,最后的化简看似取巧,其实即使不能简单化为单个 sin2θ,也可以对式子关于 θ 求导来分析其最值。这个做法最引人注意的是开头那看似“神来之笔”的换元“令 u=xy,v=3y”,这是如何得到的?

二次型

上面做法的第一次换元的目的,是将 xy 项消除,并留下系数相同的 x2 项和 y2 项,以方便进一步换元。

其中的奥妙在于,从几何上来看,原式 x2+4y22xy=36 可以看做一个椭圆,而换元的过程,就是将这个椭圆在一个线性变换后,变为一个正圆 x2+y2=36

我们使用二次型来刻画这一点,记向量 v=[xy](注意粗体的字母表示向量,和上文的斜体表示的值不一样),则

vTAv=ax2+2bxy+cy2

其中矩阵 A

A=[abbc]

那么,所谓换元,就是记向量 u=[uv],满足 u=Pv,其中可逆矩阵 P 就是换元的系数。于是

vTAv=(P1u)TA(P1u)=uT(P1)TAP1u=uTBu

其中矩阵 B=(P1)TAP1。我们希望换元后变成正圆,相当于要求 B 为单位矩阵的倍数,不妨认为 B=I(对于是 Ik 倍数的情况,只需将换元矩阵除以 k 即可),于是相当于有

PTP=A

只需求出一个满足条件的 P 即可,在上面的例子中,有

A=[1114]P=[1103]

可以发现,确实有

PTP=[1013][1103]=[1114]=A

对称矩阵分解与普定理

我们现在把问题转化为了,对于给定的对称矩阵 A, 我们希望找到一个矩阵 P,使得

PPT=A

注:考虑到对称性,PPTPTP 是一样的,这里采取前一种是为了与大多数线性代数书中的习惯做法保持一致。

首先,我们将矩阵 A 进行特征值分解:由于 A 是对称矩阵,我们可以利用对称矩阵的特征值分解:

A=QΛQ1

其中:

  • Q 是一个正交矩阵(即 QTQ=I),它的列是 A 的单位特征向量。
  • Λ 是一个对角矩阵,包含了 A 的特征值。

由于 QTQ=I,上式也即

A=QΛQT

我们所求的矩阵 P 即满足

PPT=QΛQT

我们可以考虑 P 的形式为

P=QΛ

其中 Λ 是通过对角矩阵 Λ 的每个对角元素取平方根得到的矩阵。(对于非正定矩阵,特征值中包含负值,可能还需要其他处理,或者带着虚部)。

现在,我们可以验证 P=QΛ 满足 PPT=A

PPT=(QΛ)(QΛ)T=QΛΛQT=QΛQT=A

用 Mathematica 的话说,就是:

a = {{1, -1}, {-1, 4}};
q = Transpose[Normalize /@ Eigenvectors[a]];
lam = DiagonalMatrix[Sqrt[Eigenvalues[a]]];
p = q . lam;

(* 验证 *)
Simplify[p . Transpose[p] == a]

待定系数法

上面方法构造的矩阵 P 并非前文中所使用的矩阵 P,而是一个十分复杂的结果:

P=[122+713(133)122713(13+3)2+7132713]

这是一个正确,但过于复杂的构造,事实上,我们也可以简单使用待定系数法来构造矩阵 P,设P=[k1k2;k3k4],则 PPT=A 相当于

{k12+k22=ak1k3+k2k4=bk32+k42=c

四个未知数三个方程,可以任取其中一个未知数的值(注意不要使 P 不可逆),求解剩下三个,这其实并不困难。

齐次化

对于更一般的,形如 ax2+2bxy+cy2+2dx+2ey+f=0 的式子,我们可以通过齐次化来将其转为二次型,即令 v=[xy1],则

vTAv=0

其中矩阵 A

A=[abdbcedef]

怎么会这样呢?

是的,聪明的读者不会只满足于验证证明中的每一步都是正确的,他们也想知道各个步骤的动机和目标。因为如果最引人注目的步骤的动机和目的任然是不可理解的话,我们在推理和创造力方面就不能学到任何东西。
--- G. 波利亚《怎样解题:数学思维的新方法》

正如 G. 波利亚所说的,我们显然不能满足于认识现有的结果,而是要发掘出问题背后的脉络,认识到看起来“神机妙算”的证明,拆掉之前的“脚手架”长什么样。本文所探讨的这一问题启发我们,往往在“巧合”做法背后,还有着更加深刻和内在的联系。关于这一点的更进一步的探讨,可以参见我之前写的一篇杂谈

posted @   方而静  阅读(86)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示