01 为什么合同变换总是一对一对的?
定义 两个 n n n阶方阵 A A A和 B B B满足关系: B = C T A C B=C^TAC B=CTAC,其中 C C C是可逆矩阵,则称 A A A和 B B B合同。
在用合同变换计算二次型 X T A X X^TAX XTAX的标准形时,要求对分块矩阵 ( A E ) \begin{pmatrix} A\\E \end{pmatrix} (AE)每进行一个行变换时都要接着做一个相应的列变换,为什么是这样呢?
原因很简单,合同的定义 B = C T A C B=C^TAC B=CTAC中,矩阵乘积 C T A C^TA CTA解释为对矩阵 A A A作一系列行变换,而矩阵乘积 A C AC AC解释为对 A A A作一系列相应的列变换。合起来 C T A C C^TAC CTAC就是对 A A A进行一系列的行变换和一系列相应的列变换后可以得到 B B B。
02 详细解释
当 C C C为初等矩阵时,容易看出合同变换中行变换和列变换的相应性。下面以三阶矩阵为例,进行具体说明。初等矩阵有三种:(1)交换两行(列);(2)将某行(列)乘以非0实数 k k k;(3)将某一行(列)的 k k k倍加至另一行(列)。
例1 设
C
=
(
0
1
0
1
0
0
0
0
1
)
C=\begin{pmatrix} 0 & 1 & 0\\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{pmatrix}
C=⎝⎛010100001⎠⎞,
A
=
(
a
b
c
d
e
f
g
h
i
)
A=\begin{pmatrix} a & b & c\\ d & e & f \\ g & h & i \end{pmatrix}
A=⎝⎛adgbehcfi⎠⎞.
C
T
A
C
=
(
0
1
0
1
0
0
0
0
1
)
(
a
b
c
d
e
f
g
h
i
)
(
0
1
0
1
0
0
0
0
1
)
=
(
d
e
f
a
b
c
g
h
i
)
(
0
1
0
1
0
0
0
0
1
)
(
左
乘
的
结
果
等
于
交
换
1
、
2
行
)
=
(
e
d
f
b
a
c
h
g
i
)
(
交
换
1
、
2
列
)
C^TAC=\begin{pmatrix} 0 & 1 & 0\\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{pmatrix}\begin{pmatrix} a & b & c\\ d & e & f \\ g & h & i \end{pmatrix}\begin{pmatrix} 0 & 1 & 0\\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{pmatrix}\\ =\begin{pmatrix} d & e & f\\ a & b & c \\ g & h & i \end{pmatrix}\begin{pmatrix} 0 & 1 & 0\\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{pmatrix}(左乘的结果等于交换1、2行)\\ =\begin{pmatrix} e & d & f\\ b & a & c \\ h & g & i \end{pmatrix}(交换1、2列)
CTAC=⎝⎛010100001⎠⎞⎝⎛adgbehcfi⎠⎞⎝⎛010100001⎠⎞=⎝⎛dagebhfci⎠⎞⎝⎛010100001⎠⎞(左乘的结果等于交换1、2行)=⎝⎛ebhdagfci⎠⎞(交换1、2列)
例2 设
C
=
(
1
0
0
0
k
0
0
0
1
)
C=\begin{pmatrix} 1 & 0 & 0\\ 0 & k & 0 \\ 0 & 0 & 1 \end{pmatrix}
C=⎝⎛1000k0001⎠⎞,
A
=
(
a
b
c
d
e
f
g
h
i
)
A=\begin{pmatrix} a & b & c\\ d & e & f \\ g & h & i \end{pmatrix}
A=⎝⎛adgbehcfi⎠⎞.
C
T
A
C
=
(
1
0
0
0
k
0
0
0
1
)
(
a
b
c
d
e
f
g
h
i
)
(
1
0
0
0
k
0
0
0
1
)
=
(
a
b
c
k
d
k
e
k
f
g
h
i
)
(
1
0
0
0
k
0
0
0
1
)
=
(
a
k
b
c
k
d
k
2
e
k
f
g
k
h
i
)
C^TAC =\begin{pmatrix} 1 & 0 & 0\\ 0 & k & 0 \\ 0 & 0 & 1 \end{pmatrix}\begin{pmatrix} a & b & c\\ d & e & f \\ g & h & i \end{pmatrix}\begin{pmatrix} 1 & 0 & 0\\ 0 & k & 0 \\ 0 & 0 & 1 \end{pmatrix}\\\\ = \begin{pmatrix} a & b & c\\ kd & ke & kf \\ g & h & i \end{pmatrix}\begin{pmatrix} 1 & 0 & 0\\ 0 & k & 0 \\ 0 & 0 & 1 \end{pmatrix}\\\\ =\begin{pmatrix} a & kb & c\\ kd & k^2e & kf \\ g & kh & i \end{pmatrix}
CTAC=⎝⎛1000k0001⎠⎞⎝⎛adgbehcfi⎠⎞⎝⎛1000k0001⎠⎞=⎝⎛akdgbkehckfi⎠⎞⎝⎛1000k0001⎠⎞=⎝⎛akdgkbk2ekhckfi⎠⎞
聪明的读者,你能自己写出第三种情形吗?
03 最后结果中D和C的含义
算法: ( A E ) → ( D C ) \begin{pmatrix} A\\E \end{pmatrix}\rightarrow \begin{pmatrix}D \\C \end{pmatrix} (AE)→(DC),用合同变换将 A A A变成对角阵 D D D时, E E E就变成非退化线性替换矩阵 C C C。
由于对 A A A作的是一个完整的合同变换,所以对角矩阵 D D D与 A A A合同,也就是说 D D D是原二次型的标准形的矩阵。而 C C C只记录了所有的列变换,所以 C C C就是将原二次型 X T A X X^TAX XTAX化为新二次型 Y T D Y Y^TDY YTDY的非退化线性替换矩阵。用公式表示为:
X T A X = X = C Y Y T D Y X^TAX\xlongequal[]{X=CY}Y^TDY XTAXX=CYYTDY
欢迎扫描下图中的二维码关注微信公众号:大哉数学之为用
如果您觉得本文对您有帮助,欢迎赞赏!您的支持是作者继续下去的动力!