10주차 강의

15 days 전, mindo 작성

# 예제 2 - 이차형식이 양의 정부호임을 보여라 positive definite A = matrix([[5,2,0],[2,6,2],[0,2,7]]) print A.eigenvalues() # 고유값이 2, 6, 9 -> 양의 정부호 
       
[9, 6, 3]
[9, 6, 3]
# 예제 3 - 이차형식이 부정부호임으로 보여라 indefinite A = matrix([[3,1,1],[1,0,2],[1,2,0]]) print A.eigenvalues() # 4, 1, -2 -> 0보다 작을 때도 있고, 클 때도 있다 -> 부정부호 
       
[4, 1, -2]
[4, 1, -2]
# 예제 4 - 이차형식이 양의 정부호임을 보여라 # q(x,y,z) = 2x^2 + 2y^2 + 9z^2 -2xy -6xz +8yz A = matrix([[2,-1,-3],[-1,2,4],[-3,4,9]]) # 행렬 입력 m, n = A.nrows(), A.ncols() # 행렬의 크기 if m != n: # 정사각행렬이 아니면 에러 raise ValueError('The matrix must be square') for i in range(1, n+1): A_principal_minor = A.submatrix(0, 0, i, i).det() # 선행 주 소행렬식 print 'The ', i, 'th principal minor is ', A_principal_minor 
       
The  1 th principal minor is  2
The  2 th principal minor is  3
The  3 th principal minor is  1
The  1 th principal minor is  2
The  2 th principal minor is  3
The  3 th principal minor is  1
# 예제 13 - 3변수 함수 f(x,y,z)의 극값을 구하라 # 1) 임계점 a = (0, 2k*pi, 0) 일 때 H = matrix([[2,0,1],[0,3,0],[1,0,2]]) # 행렬 입력 # 2) 임계점 a = (0, (2k+1)*pi, 0) 일 때 H = matrix([[2,0,1],[0,-3,0],[1,0,2]]) 
       
m, n = H.nrows(), H.ncols() # 행렬의 크기 if m != n: # 정사각행렬이 아니면 에러 raise ValueError('The matrix must be square') for i in range(1, n+1): H_principal_minor = H.submatrix(0, 0, i, i).det() # 선행 주 소행렬식 print 'The ', i, 'th principal minor is ', H_principal_minor 
       
The  1 th principal minor is  2
The  2 th principal minor is  -6
The  3 th principal minor is  -9
The  1 th principal minor is  2
The  2 th principal minor is  -6
The  3 th principal minor is  -9
# 예제 13 - 고유값 이용해서 하기 print H.eigenvalues() 
       
[3, 1, -3]
[3, 1, -3]
# 예제 14 - 2변수 함수 f(x,y)의 극값을 구하라 var('x, y') f(x, y) = x*y - x^2 - y^2 - 2*x - 2*y + 4 gradf = f.gradient() # 그래디언트 계산 print solve([gradf[0] == 0, gradf[1] == 0], x, y) # 임계점 계산 hessf = f.hessian() # 헤시안 계산 H = hessf(-2, 2) print 'The eigenvalues of H are ', H.eigenvalues() m, n = H.nrows(), H.ncols() # 행렬의 크기 if m != n: # 정사각행렬이 아니면 에러 raise ValueError('The matrix must be square') for i in range(1, n+1): H_principal_minor = H.submatrix(0, 0, i, i).det() # 선행 주 소행렬식 print 'The ', i, 'th principal minor is ', H_principal_minor 
       
[
[x == -2, y == -2]
]
The eigenvalues of H are  [-3, -1]
The  1 th principal minor is  -2
The  2 th principal minor is  3
[
[x == -2, y == -2]
]
The eigenvalues of H are  [-3, -1]
The  1 th principal minor is  -2
The  2 th principal minor is  3