2020년 11월 19일 목요일

선형대수코드_CH5

1

 1. 4×5 행렬 A는 3차원의 영공간을 가집니다. 이 경우 A의 rank?

영공간의 선형종속인 선형결합시스템의 해공간의 기저벡터들의 집합이므로 그 차원이 rank가 됩니다. 그러므로 3이 됩니다.

2

다음 기저 벡터 u1, u2에 대해 c의 좌표벡터?

u1=Matrix(2,1, [3,2])
u2=Matrix(2,1, [2,3])
c=Matrix(2,1, [2,1])
au=u1.row_join(u2).row_join(c)
au
$\left[\begin{matrix}3 & 2 & 2\\2 & 3 & 1\end{matrix}\right]$

latex(au.rref())
$\left( \left[\begin{matrix}1 & 0 & \frac{4}{5}\\0 & 1 & - \frac{1}{5}\end{matrix}\right], \ \left( 0, \ 1\right)\right)$

3

다음 세 벡터 v1, v2, v3는 선형독립? span(v1, v2, v3)의 기저?

v1=Matrix(4, 1,[1,1,1,2])
v2=Matrix(4, 1, [1, 2, -1, 1])
v3=Matrix(4, 1, [0, 1, 1, 2])
v=v1.row_join(v2).row_join(v3)
v
$\left[\begin{matrix}1 & 1 & 0\\1 & 2 & 1\\1 & -1 & 1\\2 & 1 & 2\end{matrix}\right]$

au=v.row_join(zeros(4,1))
au
$\left[\begin{matrix}1 & 1 & 0 & 0\\1 & 2 & 1 & 0\\1 & -1 & 1 & 0\\2 & 1 & 2 & 0\end{matrix}\right]$

au.rref()
$\left( \left[\begin{matrix}1 & 0 & 0 & 0\\0 & 1 & 0 & 0\\0 & 0 & 1 & 0\\0 & 0 & 0 & 0\end{matrix}\right], \ \left( 0, \ 1, \ 2\right)\right)$

세벡터는 선형독립이며 각각 기저벡터입니다.

4

다음 행렬 A의 고유공간?

A=np.array([[-9, -6, 10],[-20, -13, 22],[-20, -15, 24]])
print(A)
[[ -9 -6 10]
   [-20 -13 22]
   [-20 -15 24]]


val, vec=la.eig(A)
print(val)
[-1. 1. 2.]

print(np.around(vec, 3))
[[ 0.333 -0.272 0.281]
   [ 0.667 -0.68 0.655]
   [ 0.667 -0.68 0.702]]


Matrix(vec).columnspace()
[Matrix([[0.333333333333334],
        [0.666666666666667],
        [0.666666666666667]]),
   Matrix([[-0.272165526975908],
        [-0.680413817439772],
        [-0.680413817439772]]),
   Matrix([[0.280668161834993],
        [0.654892377614983],
        [0.701670404587482]])]

5

2 공간의 기저 집합인 S, T와 다른 두 벡터 a, b에 대해 다음을 답하세요.

S=Matrix([[1,2],[1,3]])
T=Matrix([[1,0],[2,1]])
a=Matrix([[1], [5]])
b=Matrix([[5],[4]])
#(a)
Sa=(S.row_join(a)).rref()
Sa
(Matrix([ [1, 0, -7],
        [0, 1, 4]]),
         (0, 1))


SaCord=Sa[0][:,2]
SaCord
$\left[\begin{matrix}-7\\4\end{matrix}\right]$

SbCord=(S.row_join(b)).rref()[0][:,2]
SbCord
$\left[\begin{matrix}7\\-1\end{matrix}\right]$

#(b)
TS=T.row_join(S).rref()
TS
(Matrix([[1, 0, 1, 2],
         [0, 1, -1, -1]]),
         (0, 1))


P=TS[0][:,2:]
P
$\left[\begin{matrix}1 & 2\\-1 & -1\end{matrix}\right]$

#(c)
PSa=P*SaCord
PSa
$\left[\begin{matrix}1 \\3\end{matrix}\right]$

PSb=P*SbCord
PSb
$\left[\begin{matrix}5\\-6\end{matrix}\right]$

#(d)
TaCord=T.row_join(a).rref()[0][:,2]
TaCord
$\left[\begin{matrix}1\\3\end{matrix}\right]$


TbCord=T.row_join(b).rref()[0][:,2]
TbCord
[5−6]


#(d)
Q=(S.row_join(T).rref())[0][:,2:]
Q
$\left[\begin{matrix}-1 & -2\\1 & 1\end{matrix}\right]$

QTaCord=Q*(TaCord)
QTaCord
$\left[\begin{matrix}-7\\4\end{matrix}\right]$

QTbCord=Q*(TbCord)
QTbCord
$\left[\begin{matrix}7\\-1\end{matrix}\right]$

5_2

2. 다음 행렬 A 급수(rank)를 열공간와 같은지를 확인하시오.

A=Matrix([[1,2,3,1,2],[2,1,2,3,1],[3,3,5,4,3],[1,-1,-1,2,-1]])
A
$\left[\begin{matrix}1 & 2 & 3 & 1 & 2\\2 & 1 & 2 & 3 & 1\\3 & 3 & 5 & 4 & 3\\1 & -1 & -1 & 2 & -1\end{matrix}\right]$

A.columnspace()
[Matrix([[1],[2],[3],[1]]),
Matrix([[ 2],[ 1],[ 3],[-1]])]


A.rank()
2

5_3

3. 다음 행렬들은 동일한 벡터 공간내에 존재합니까? 그렇다면 검증하세요.

A=Matrix([[1,2,1,3],[2,1,-4,-5],[7,8,-5,-1],[10,14,-2,8]])
B=Matrix([[4,3,-1,-5],[-2,-6,-7,10],[-2,-3,-2,5],[0,-6,-10,10]])
A.rank(), B.rank()
(2, 2)

A.rref()
(Matrix([[1, 0, -3, -13/3],
         [0, 1, 2, 11/3],
         [0, 0, 0, 0],
         [0, 0, 0, 0]]),
         (0, 1))


B.rref()
(Matrix([[1, 0, -3/2, 0],
         [0, 1, 5/3, -5/3],
         [0, 0, 0, 0],
         [0, 0, 0, 0]]),
         (0, 1))

두 행렬 A, B 모두 정방행렬이고 rank=2이므로 각 행렬에서 기저인 두 개의 열벡터에 대한 나머지 벡터들과 선형독립이 성립됩니다. 다음에서 나타낸 것과 같이 A,B 각각에 기저벡터들로서 작용하는 벡터들의 결합으로 새로운 행렬을 생성할 경우 모두가 기저로 작용합니다. 그러므로 두 행렬은 같은 벡터 공간내에 존재합니다.

A[:,:2].row_join(B[:,2:]).rref()
(Matrix([[1, 0, 0, 0],
        [0, 1, 0, 0],
        [0, 0, 1, 0],
        [0, 0, 0, 1]]),
        (0, 1, 2, 3))


B[:,:2].row_join(A[:,2:]).rref()
(Matrix([[1, 0, 0, 0],
        [0, 1, 0, 0],
        [0, 0, 1, 0],
        [0, 0, 0, 1]]),
        (0, 1, 2, 3))

7

다음 확률행렬의 정상상태 벡터를 결정?
$M=\left[\begin{matrix}0.5 & 0.2 & 0.0\\0.0 & 0.2 & 0.4\\0.5 & 0.6 & 0.6\end{matrix}\right]$

M=np.array([[0.5, 0.2, 0.0], [0.0, 0.2, 0.4], [0.5, 0.6, 0.6]])
val, vec=la.eig(M)
print(val)
[ 1. 0.35615528 -0.05615528]

print(vec)
[[-0.17609018 -0.79153023 0.28983825]
   [-0.44022545 0.56928722 -0.80597536]
   [-0.88045091 0.22224301 0.51613711]]


q=vec[:,0]/np.sum(vec[:,0])
print(q.reshape(3,1))
[[0.11764706]
   [0.29411765]
   [0.58823529]]

댓글 없음:

댓글 쓰기

CalculusMadeEasy_CH1

1-6 a=np.array([[1],[2],[3]]) la.norm(a) 3.7416573867739413 b=np.array([[-1],[-3],[-4]]) la.norm(b) 5.0990195135927845 c=np.array([[...