練習問題メモ 9(余因子展開)

Contents

練習問題メモ 9(余因子展開)#

9.1#

第 2 列に関する余因子展開を用いて、行列式 |a11a12a21a22| を計算せよ。

j列に関する余因子展開は

a1ja~1j+a2ja~2j++anja~nj=det(A)

という形になるので

第2列に関する余因子展開は

a12a~12+a22a~22=|a11a12a21a22|

となる。

1次の行列(というかスカラー)の行列式はそのスカラーそのものであるため

a~12=(1)3a21=a21a~22=(1)4a11=a11

よって

|a11a12a21a22|=a12a~12+a22a~22=a12×(a21)+a22a11=a11a22a12a21

9.2#

次の 1、2 の行列式を計算せよ。

|1609127082345674807459065|
|100999999100991001001001009910010010010099|

|1609127082345674807459065|

Hide code cell source
from sympy import Matrix
A = Matrix([
    [1, 6, 0, 9, 1],
    [2, 7, 0, 8, 2],
    [3, 4, 5, 6, 7],
    [4, 8, 0, 7, 4],
    [5, 9, 0, 6, 5],
])
A
[1609127082345674807459065]
Hide code cell source
# 3列目と1列目を入れ替える(これで行列式は-1倍)
x1 = A[:, 0].copy()
x3 = A[:, 2].copy()
A[:, 0] = x3
A[:, 2] = x1

# 3行目と1行目を入れ替える(これで行列式は-1倍)
x1 = A[0, :].copy()
x3 = A[2, :].copy()
A[0, :] = x3
A[2, :] = x1

A
[5436707282061910847409565]
  1. 3列目と1列目を入れ替える(これで行列式は-1倍)

  2. 3行目と1行目を入れ替える(これで行列式は-1倍)

という操作をして1列目を(1,1)要素以外0にする

定理より、

|5436707282061910847409565|=5|7282619184749565|

2列目と4列目が(2,1,4,5)で同じ値なので、定理より行列式はゼロになる

|1609127082345674807459065|=0
Hide code cell source
# 検算
import numpy as np
A = np.array([
    [1, 6, 0, 9, 1],
    [2, 7, 0, 8, 2],
    [3, 4, 5, 6, 7],
    [4, 8, 0, 7, 4],
    [5, 9, 0, 6, 5],
])
np.linalg.det(A)
0.0

|100999999100991001001001009910010010010099|

まず、1列目を2~4列から引く

Hide code cell source
from sympy import Matrix
A = Matrix([
    [100, 99, 99, 99],
    [100, 99, 100, 100],
    [100, 100, 99, 100],
    [100, 100, 100, 99],
])

A[:, 1] -= A[:, 0]
A[:, 2] -= A[:, 0]
A[:, 3] -= A[:, 0]
A
[100111100100100010100001]

2~4行から1行目を引く

A[1, :] -= A[0, :]
A[2, :] -= A[0, :]
A[3, :] -= A[0, :]
A
[100111001101010110]

なので、行列式の性質より

100×|011101110|

となる

|011101110|=(0+1+1)(0+0+0)=2

なので

100×|011101110|=100×2
|100999999100991001001001009910010010010099|=200
Hide code cell source
# 検算
import numpy as np
A = np.array([
    [100, 99, 99, 99],
    [100, 99, 100, 100],
    [100, 100, 99, 100],
    [100, 100, 100, 99],
])
np.linalg.det(A)
200.0000000000001

9.3#

n を 2 以上の自然数、 A=(aij)n×nn 次の正方行列とする。次の問いに答えよ。

  1. A(i,j) 余因子の定義を書け。

  2. A の余因子行列の定義を書け。

  3. n=3 のとき、 A の余因子行列を A の余因子を用いて表せ。

  4. A~A 余因子行列とすると、 |A~|=|A|n1 が成り立つことを次の□を埋めることにより証明せよ。(※穴埋め問題)

  1. A(i,j) 余因子の定義を書け。

a~ij=(1)i+j|Aij|
  1. A の余因子行列の定義を書け。

(i,j)余因子をa~ijとするとき、(i,j)成分に余因子a~ijをもつ行列の転置行列

A~=(a~11a~21a~n1a~12a~22a~n2a~1na~2na~nn)

余因子行列(adjugate matrix)という。

  1. n=3 のとき、 A の余因子行列を A の余因子を用いて表せ。

(i,j)余因子をa~ijとすると

A~=(a~11a~21a~31a~12a~22a~32a~13a~23a~33)
  1. A~A 余因子行列とすると、 |A~|=|A|n1 が成り立つことを次の□を埋めることにより証明せよ。

(※穴埋め問題)

前提となる定理1: An 次の正方行列とすると、

AA~=A~A=|A|E

特に、 |A|0 ならば、 A は正則で、

A1=1|A|A~

前提となる定理 2:

A,Bn 次の正方行列とすると、

|AB|=|BA|=|A||B|

前提となる定理 3:

|a11a12a1n0a22a2n0an2ann|=a11|a22a2nan2ann|

証明:

上記の定理 1 より、

(9.1)AA~=|A|E

|A|=0 のとき、 9.1 式より、

(9.2)AA~=O

ここで、 A~ が正則であると仮定する。このとき、 A~ の逆行列 A~1 が存在する。 9.2 式の両辺に右から A~1 を掛けると、

A=O

なので、A の余因子はすべて 0 となることに注意すると、余因子行列の定義より、 A~=[1] 。零行列は正則ではないから、これは矛盾である。よって、 A~ は正則では ないので、 |A~|=[2] 。したがって、 |A~|=|A|n1=[3]

|A|0 のとき、定理 2 より、 |AA~|=|A|[4] 。一方、 |A|E は対角成分がすべて |A|n 次のスカラー行列なので、定理 3 より、 ||A|E|=|A|[5] 。よって、 9.1 式の 両辺の行列式をとると、 |A|[4]=|A|[5]

|A|0 なので、

|A~|=|A|n1

空欄:#

[1]=O

  • 余因子は全てゼロなら余因子は零行列

[2]=0

[3]=0

  • 正則ではないので|A~|=0

[4]=|A~|

  • |AA~|=|A||A~|か?

    • |A~|を使うなら[3]を代入?

  • それともAA~=|A|Eなので||A|E|=|A|n1か?

[5]=n

  • ||A|E|=|A|n

↓空欄を埋めてみたもの

証明:

上記の定理 1 より、

(9.1)AA~=|A|E

|A|=0 のとき、

9.1 式より、

(9.2)AA~=O

ここで、 A~ が正則であると仮定する。このとき、 A~ の逆行列 A~1 が存在する。 9.2 式の両辺に右から A~1 を掛けると、

A=O

なので、A の余因子はすべて 0 となることに注意すると、余因子行列の定義より、 A~=O 。零行列は正則ではないから、これは矛盾である。よって、 A~ は正則では ないので、 |A~|=0 。したがって、 |A~|=|A|n1=0

|A|0 のとき、

定理 2 より、 |AA~|=|A||A~| 。一方、 |A|E は対角成分がすべて |A|n 次のスカラー行列なので、定理 3 より、 ||A|E|=|A|n 。よって、 9.1 式の 両辺の行列式をとると、 |A||A~|=|A|n

|A|0 なので、

|A~|=|A|n1

9.4#

4 次の正方行列 A

A=(abcdbadccdabdcba)

により定める。

  1. 第 1 行に関する余因子展開を用いることにより、 A の行列式を求めよ。

  2. |A|0 のとき、連立 1 次方程式

Ax=(1000)

の解をクラメルの公式を用いて求めよ。

  1. 第 1 行に関する余因子展開を用いることにより、 A の行列式を求めよ。

1行に関する余因子展開: a11a~11+a12a~12+a13a~13+a14a~14=|A|

第1項

a11=aa~11=(1)1+1|adcdabcba|=a3bcd+bcd+ac2+ad2+ab2=a(a2+b2+c2+d2)

第2項

a12=ba~12=(1)1+2|bdccabdba|=(a2b+bd2+bc2acd+acd+b3)=b(a2+b2+c2+d2)

第3項

a13=ca~13=(1)1+3|baccdbdca|=abdabdc3cd2a2cb2c=c(c2d2a2b2)=c(a2+b2+c2+d2)

第4項

a14=da~14=(1)1+4|badcdadcb|=(b2d+a2d+c2d+d3acb+acb)=d(a2+b2+c2+d2)
|A|=a11a~11+a12a~12+a13a~13+a14a~14=a2(a2+b2+c2+d2)+b2(a2+b2+c2+d2)+c2(a2+b2+c2+d2)+d2(a2+b2+c2+d2)=(a2+b2+c2+d2)2
  1. |A|0 のとき、連立 1 次方程式

Ax=(1000)

の解をクラメルの公式を用いて求めよ。

A=(abcdbadccdabdcba)
Δ1=|1bcd0adc0dab0cba|=1×a~11=a(a2+b2+c2+d2)

列の入れ替えで行列式は-1倍になるはずなので2~4は-1を掛ける

Δ2=1×a~12=b(a2+b2+c2+d2)Δ3=1×a~13=c(a2+b2+c2+d2)Δ4=1×a~14=d(a2+b2+c2+d2)
x1=Δ1|A|=a(a2+b2+c2+d2)(a2+b2+c2+d2)2=a(a2+b2+c2+d2)
x2=Δ2|A|=b(a2+b2+c2+d2)(a2+b2+c2+d2)2=b(a2+b2+c2+d2)
x3=Δ3|A|=c(a2+b2+c2+d2)(a2+b2+c2+d2)2=c(a2+b2+c2+d2)
x4=Δ4|A|=d(a2+b2+c2+d2)(a2+b2+c2+d2)2=d(a2+b2+c2+d2)

9.5#

対称行列の余因子行列は対称行列であることを示せ。

n次対称行列Aからij列を取り除いたn1次の正方行列をAijと表すことにする。

AijT=Aji

であるため(要出典)

行列式の性質により|AT|=|A|であるため

|Aij|=|Aji|

となる

よって(i,j)余因子a~ij(j,i)余因子a~jiについて以下が成り立つ

a~ij=(1)i+j|Aij|=(1)j+i|Aij|=a~ij

よって、対称行列の余因子行列は対称行列になる

回答例

n を 2 以上の自然数とし、 A=(aij)n×nn 次の対称行列とする。 A の第 i 行と 第 j 行を取り除いて得られる (n1) 次の正方行列を Aij とおくと、 A は対称行列 なので

(*)AijT=Aji

よって、A~A の余因子行列とすると、

(A~(j,i) 成分 )=(A の (i,j) 余因子 )( 余因子行列の定義 )=(1)i+j|Aij|( 余因子の定義 )=(1)i+j|AijT|(A を正方行列とすると、 |AT|=|A| の定理 )=(1)j+i|Aji|(())=(A の (j,i) 余因子) ( 余因子の定義 )=(A~ の (i,j) 成分 )( 余因子行列の)定義 )

したがって、

A~T=A~

すなわち、対称行列の余因子行列は対称行列である.