7.4 1차 독립. 행렬의 계수. 벡터공간

26 days 전, namy0727 작성

7.4 1차 독립. 행렬의 계수. 벡터공간

 

예제 1 1차독립과 1차종속

세 개의 벡터 $\mathbf{a_1}$, $\mathbf{a_2}$, $\mathbf{a_3}$. 

a1 = vector(QQ, [3,0,2,2]) a2 = vector(QQ, [-6,42,24,54]) a3 = vector(QQ, [21,-21,0,-15]) print "a1 ="; show(a1) print "a2 ="; show(a2) print "a3 ="; show(a3) 
       
a1 =

a2 =

a3 =
a1 =

a2 =

a3 =

1차 종속

$$6 \mathbf{a_1} - \frac{1}{2} \mathbf{a_2} - \mathbf{a_3} = \mathbf{0}$$

show(6*a1 - (1/2)*a2 - a3 ) 
       

예제 2 계수(rank)

행렬 $A$의 구성

$$ A = \left[\begin{array}{c} \mathbf{a_1}\\ \mathbf{a_2} \\ \mathbf{a_3} \end{array}\right] $$

A = matrix(QQ, [a1,a2,a3]) print "A ="; show(A) 
       
A =
A =

행렬 $A$의 계수

$$\mathrm{rank}(A) = 2$$

r = A.rank() print "Rank of A ="; show(r) 
       
Rank of A =
Rank of A =

예제 3 계수의 결정

예제 2의 행렬 $A$에 대하여 기본 행연산을 시행하여 행사다리꼴을 만든다.

$\Rightarrow$  0이 아닌 행의 갯수가 행렬의 계수이다.

$$ R'_2 = R_2 + 2R_1, \qquad R'_3 = R_3 + (-7)R_1 $$

A.add_multiple_of_row(1,0,2) A.add_multiple_of_row(2,0,-7) show(A) 
       

$$ R''_3 = R'_3 + \frac{1}{2}R'_2 = -6R_1 +\frac{1}{2}R_2 +R_3 \qquad \Leftrightarrow \qquad 6\mathbf{a_1} - \frac{1}{2} \mathbf{a_2} - \mathbf{a_3} = \mathbf{0} $$

A.add_multiple_of_row(2,1,1/2) show(A) 
       

기약 행사다리꼴(Reduced Row Echelon Form)

show(A.rref()) 
       

예제 4 열벡터에 의한 계수

예제 3을 통해 $\mathrm{rank} A =2$임을 알 수 있다.

$\Rightarrow$ 행렬 $A$의 1차독립인 열벡터의 갯수 $=2$.

A = matrix(QQ, [a1,a2,a3]) tranA = A.transpose() print "The transpose of A ="; show(tranA) 
       
The transpose of A =
The transpose of A =

행렬 $A$의 열벡터 = 전치행렬 $A^T$의 행벡터

$\Rightarrow$ $\mathrm{rank} A^T =$ 전치행렬 $A^T$의 1차독립인 행벡터의 갯수

$\Rightarrow$ $\mathrm{rank} A^T = \mathrm{rank} A = 2$

S = tranA.rref() print "S ="; show(S) 
       
S =
S =

예제 5 벡터공간, 차원, 기저

예제 1의 세 개의 벡터 $\mathbf{a_1}$, $\mathbf{a_2}$, $\mathbf{a_3}$ 중 $\mathbf{a_1}$, $\mathbf{a_2}$가 기저를 이루는 공간.

$ \Leftrightarrow$ $\mathbf{a_1}$, $\mathbf{a_2}$의 생성공간(span)

V1 = span([a1,a2], QQ) show(V1) 
       

$\mathbf{a_2}$, $\mathbf{a_3}$가 기저를 이루는 공간.

$ \Leftrightarrow$ $\mathbf{a_2}$, $\mathbf{a_3}$의 생성공간(span)

V2 = span([a2,a3]) show(V2) 
       

보충예제 1 행공간

행렬 $A$

A = matrix(QQ, [a1,a2,a3]) print "A ="; show(A) 
       
A =
A =

행렬 $A$의 기약 행사다리꼴

show(A.rref()) 
       

행공간 $\mathrm{row} A$

rowA = A.row_space() print "row(A) ="; show(rowA) 
       
row(A) =
row(A) =

행공간의 차원 $\mathrm{dim} \,\mathrm{row} A$

dim_row = rowA.dimension() print "Dimension of the row(A) ="; show(dim_row) 
       
Dimension of the row(A) =
Dimension of the row(A) =

행공간의 기저(bais)

rowB = rowA.basis() print "Basis of the row(A) ="; show(rowB) 
       
Basis of the row(A) =
Basis of the row(A) =

보충예제 2 열공간

전치행렬 $A^T$

tranA = A.transpose() print "The transpose of A ="; show(tranA) 
       
The transpose of A =
The transpose of A =

전치행렬 $A^T$의 기약 행사다리꼴

S = tranA.rref() print "S ="; show(S) 
       
S =
S =

열공간 $\mathrm{col} A$

colA = A.column_space() print "col(A) ="; show(colA) 
       
col(A) =
col(A) =

열공간의 차원 $\mathrm{dim}\, \mathrm{col} A = \mathrm{dim}\, \mathrm{row} A^T$

dim_col = colA.dimension() print "Dimension of the col(A) ="; show(dim_col) 
       
Dimension of the col(A) =
Dimension of the col(A) =

열공간의 기저(bais)

colB = colA.basis() print "Basis of the col(A) ="; show(colB) 
       
Basis of the col(A) =
Basis of the col(A) =

보충예제 3 계수공식

행렬 $A$와 계수 $\mathrm{rank} A$.

A = matrix(QQ, [a1,a2,a3]) print "A ="; show(A) r = A.rank() print "Rank of A ="; show(r) 
       
A =

Rank of A =
A =

Rank of A =

계수공식

  • $n$은 행렬의 열갯수를 의미한다.

  • $\mathrm{nullity} A$는 행렬 $A$의 퇴화차수의 표기이다.

$$ \mathrm{rank} A + \mathrm{nullity} A = n$$

null = A.right_nullity() print "Nullity of A ="; show(null) 
       
Nullity of A =
Nullity of A =

보충예제 4 $\mathbb{R}^n$ 공간

$\mathbb{R}^3$ 공간의 표준 기저는 다음과 같다.

n = 4 V = VectorSpace(QQ, n) B = V.basis() print "A basis of the R^n space"; show(B) 
       
A basis of the R^n space
A basis of the R^n space