현대 선형대수학 연습문제 4장 5절 3번 문제를 Sage를 이용하여 풀었습니다.
http://matrix.skku.ac.kr/clamc
고유값(eigenvalue)을 구하기 위해서는 특성방정식(characteristic equation)을 만들어 이를 풀면 구할 수 있습니다. 또한, Sage에서는 eigenvalues라는 함수로 쉽게 구할 수 있습니다.
http://skkulug.skku.ac.kr/home/pub/0/
각 코드 라인마다 주석을 달았습니다. 살펴보시고 유용한 코드는 복사&붙여넣기로 사용하시면 될 것입니다. 밑에 위 화면을 찍은 pdf 파일과 코드를 올리겠습니다.
PDF 파일
코드(edit란에 그대로 복사하여 붙여넣기를 하면 됩니다.)
Linear Algebra 4_5_3
system:sage
{{{id=0|
A = matrix([[7, 0, 0], [0, -2, 4], [0, 6, 0]]) # 행렬 A를 만든다. 만드는 방법은 다양하다.
print(A) # 행렬 A를 출력한다.
///
[ 7 0 0]
[ 0 -2 4]
[ 0 6 0]
}}}
{{{id=1|
a,b,c = var('a,b,c') # 문자 a, b, c를 숫자처럼 사용하기 위해서 var이라는 함수를 이용한다.
# 관련 페이지 : http://www.sagemath.org/doc/ref/module-sage.calculus.equations.html
B = matrix([[a, b, c], [a, b, c], [a, b, c]]) # 행렬 B를 만든다.
print(B)
///
[a b c]
[a b c]
[a b c]
}}}
{{{id=2|
I3 = identity_matrix(QQ, 3) # 3차 단위행렬을 만든다. identity_matrix라는 함수를 사용하면 만들기 쉽다. 여기서 QQ는 안의 원소가 유리수라는 것을 의미한다.
print(I3)
///
[1 0 0]
[0 1 0]
[0 0 1]
}}}
{{{id=3|
L = var('L') # 문자 L을 등록한다. 여기서 L은 lambda(λ)를 뜻한다.
CE1 = det(L*I3 - A) # 행렬 A의 특성다항식
CE2 = det(L*I3 - B) # 행렬 B의 특성다항식
print(CE1) # 행렬 A의 특성다항식 출력
print # 빈공간 출력으로 두 개 구분을 편하게 할 수 있다.
print(CE2) # 행렬 B의 특성다항식 출력
///
(L - 7)*(L*(L + 2) - 24)
(L - a)*((L - b)*(L - c) - b*c) + b*(-a*(L - c) - a*c) - c*(a*(L - b) + a*b)
}}}
{{{id=5|
solve(CE1, L) # 행렬 A의 특성방정식을 푼다. 이것으로 고유값을 구할 수 있다.
///
[L == -6, L == 4, L == 7]
}}}
{{{id=6|
solve(CE2, L) # 행렬 B의 특성방정식을 푼다. 이것으로 고유값을 구할 수 있다.
///
[L == c + b + a, L == 0]
}}}
{{{id=8|
A.eigenvalues() # Sage에서는 eigenvalues라는 함수로 고유값을 쉽게 구할 수 있다. 위의 방법으로 푼 것과 값이 같음을 알 수 있다.
///
[7, 4, -6]
}}}
{{{id=9|
B.eigenvalues() # Sage에서는 eigenvalues라는 함수로 고유값을 쉽게 구할 수 있다. 위의 방법으로 푼 것과 값이 같음을 알 수 있다.
///
[c + b + a, 0]
}}}
참조
- 이상구, <현대 선형대수학>, 경문사, 2005, pp. 194
- http://www.sagemath.org
- http://www.sagemath.org/doc/ref/module-sage.matrix.matrix2.html
- http://www.sagemath.org/doc/ref/module-sage.misc.sage-eval.html
- http://www.sagemath.org/doc/ref/module-sage.calculus.equations.html
- http://www.sagemath.org/doc/tut/node12.html
- http://www.sagemath.org/doc/tut/node25.html
- http://www.sagenb.org/home/pub/209/
"in Math" 카테고리의 다른 글
- Sage 현대선형대수학 예제 5_1_1 (0)2009/02/14
- Sage 현대선형대수학 예제 10_2_2 (0)2009/02/09
- Sage 현대선형대수학 연습문제 6_2_4 (0)2009/02/08
- Sage 현대선형대수학 연습문제 4_5_3 (0)2009/02/06
- 성대사랑 - 삼각함수 공식 외우는 방법 (0)2009/01/17
- 오일러의 공식 - 점마모쁠면 (0)2008/08/22
- 행렬의 곱셈(Matrix multiplication)과 기본행렬(... (0)2008/08/04
글에 잘못된 점, 다른 점, 부족한 점이 있다면 지적해주세요.
댓글, 트랙백, 메일 모두 고맙습니다.





Linear Algebra 4_5_3 (Sage).pdf

댓글을 달아 주세요