01 为什么合同变换总是一对一对的?
定义 两个
nn
n
阶方阵
AA
A
和
BB
B
满足关系:
B=
C
T
A
C
B=C^TAC
B
=
C
T
A
C
,其中
CC
C
是可逆矩阵,则称
AA
A
和
BB
B
合同。
在用合同变换计算二次型
X
T
A
X
X^TAX
X
T
A
X
的标准形时,要求对分块矩阵
(
A
E
)
\begin{pmatrix} A\\E \end{pmatrix}
(
A
E
)
每进行一个行变换时都要接着做一个相应的列变换,为什么是这样呢?
原因很简单,合同的定义
B
=
C
T
A
C
B=C^TAC
B
=
C
T
A
C
中,矩阵乘积
C
T
A
C^TA
C
T
A
解释为对矩阵
A
A
A
作一系列行变换,而矩阵乘积
A
C
AC
A
C
解释为对
A
A
A
作一系列相应的列变换。合起来
C
T
A
C
C^TAC
C
T
A
C
就是对
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
=
⎝
⎛
0
1
0
1
0
0
0
0
1
⎠
⎞
,
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
=
⎝
⎛
a
d
g
b
e
h
c
f
i
⎠
⎞
.
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列)
C
T
A
C
=
⎝
⎛
0
1
0
1
0
0
0
0
1
⎠
⎞
⎝
⎛
a
d
g
b
e
h
c
f
i
⎠
⎞
⎝
⎛
0
1
0
1
0
0
0
0
1
⎠
⎞
=
⎝
⎛
d
a
g
e
b
h
f
c
i
⎠
⎞
⎝
⎛
0
1
0
1
0
0
0
0
1
⎠
⎞
(
左
乘
的
结
果
等
于
交
换
1
、
2
行
)
=
⎝
⎛
e
b
h
d
a
g
f
c
i
⎠
⎞
(
交
换
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
=
⎝
⎛
1
0
0
0
k
0
0
0
1
⎠
⎞
,
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
=
⎝
⎛
a
d
g
b
e
h
c
f
i
⎠
⎞
.
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}
C
T
A
C
=
⎝
⎛
1
0
0
0
k
0
0
0
1
⎠
⎞
⎝
⎛
a
d
g
b
e
h
c
f
i
⎠
⎞
⎝
⎛
1
0
0
0
k
0
0
0
1
⎠
⎞
=
⎝
⎛
a
k
d
g
b
k
e
h
c
k
f
i
⎠
⎞
⎝
⎛
1
0
0
0
k
0
0
0
1
⎠
⎞
=
⎝
⎛
a
k
d
g
k
b
k
2
e
k
h
c
k
f
i
⎠
⎞
聪明的读者,你能自己写出第三种情形吗?
03 最后结果中D和C的含义
算法:
(A
E
)
→
(
D
C
)
\begin{pmatrix} A\\E \end{pmatrix}\rightarrow \begin{pmatrix}D \\C \end{pmatrix}
(
A
E
)
→
(
D
C
)
,用合同变换将
AA
A
变成对角阵
DD
D
时,
EE
E
就变成非退化线性替换矩阵
CC
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
X
T
A
X
化为新二次型
Y
T
D
Y
Y^TDY
Y
T
D
Y
的非退化线性替换矩阵。用公式表示为:
X
T
A
X
=
X
=
C
Y
Y
T
D
Y
X^TAX\xlongequal[]{X=CY}Y^TDY
X
T
A
X
X
=
C
Y
Y
T
D
Y
欢迎扫描下图中的二维码关注微信公众号:大哉数学之为用
如果您觉得本文对您有帮助,欢迎赞赏!您的支持是作者继续下去的动力!