- TI nspire
[TI-nspire] 행렬 eigVL 고유값, eigVC 고유벡터 구하기
1. 자동으로 고유값 & 고유벡터 찾는 방법
고유값 함수(eigVL())와, 고유벡터(eigVC()) 함수는 [TI-nspire]에 내장되어 있으므로, 손쉽게 구할 수 있습니다.
- 행렬 a = 라고 하면

- eigVl()로 구한 고유값의 순서와, eigvc()로 구한 고유벡터는 그 순서가 서로 매칭됩니다.
- eigVc()로 구한 고유벡터는 정규화(=크기가 1) 된 값입니다.
2. 수동으로 고유값(Eigen Value) 찾는 방법
- 3×3 행렬을 변수 a 에 저장하고, 행렬식을 이용해 고유 방정식(p(λ))을 찾습니다.
- solve 로 고유값을 찾습니다. 2(중근)와 4가 나왔습니다.

└ 보기 좋으라고 그리스 문자 λ 를 찾아서 넣었습니다만, 그냥 알파벳 a~z 를 써도됩니다.
3. 수동으로 고유벡터(Eigen Vector) 찾는 방법
- rref(a-고유값) 으로 벡터 성분(v1, v2, v3)간의 관계식을 구할 수 있습니다.
- 벡터 성분간 관계식을 만족하는 벡터를 구하면 고유벡터가 됩니다.
(따라서 고유벡터는 유일(unique)한 값을 가지지 않습니다.)

ㄴ 고유값이 중근이므로 두개의 고유 벡터를 찾아보았습니다.
- 이번엔 고유값 4에 대한 고유벡터를 구해봅니다.

├ 이번에는 하나의 고유벡터만을 찾았습니다.
└ eigVc(a) 의 결과값은 정규화된 값임을 확인할 수 있습니다.
댓글7
-
세상의모든계산기
행렬a-λ 를 하게되면 자동으로 λ에 Identity Matrix 가 강제로 곱해져 계산됩니다.
행렬a 모든 원소값에 스칼라값을 빼려면 빼기부호 앞에 .(dot) 을 붙여 주어야 합니다.
-
세상의모든계산기
symmetric 한 행렬에 a대해 eigvc(a) 를 구했을 때...
서로 직교하는 3개의 벡터가 되면 좋겠지만... 그렇게 구해주진 않네요.

-
세상의모든계산기
행렬의 대각화 diagonalization 예제

eigvl 값을 찾았다면 대각행렬(diag)을 만들 수 있고,
대각행렬은 요소가 간단해서 역행렬을 매우 쉽게 찾을 수 있음.
p 와 p의 역행렬 그리고 d의 역행렬을 이용해 a의 역행렬을 계산할 수 있음.
ㄴ 다만, TI-nspire 에서는 정규화된 p를 찾아줘서 복잡하게 보이는 경향이 있음.
-
1
세상의모든계산기
2×2 (대칭) 행렬의 예

1. 고유값 {3,1} 찾기
2. 대각행렬 da 정의
3. 고유값을 이용해 고유 벡터 찾기
4. 고유벡터로 p 행렬 정의 p:=[[1 1][1 -1]]
5. da 와 p 를 이용해 a의 역함수 계산

6. 최종적으로 하나의 해를 찾을 수 있는데...
-
2
세상의모든계산기
대칭 행렬 \( a \)의 고유값과 고유벡터를 이용하여 해를 구하는 과정에서 굳이 \( D^{-1} \), \( P \), \( P^{-1} \)를 모두 계산하지 않고도, 고유값 분해와 고유벡터를 이용해 연립방정식을 더 간단하게 풀 수 있습니다.
1. 고유값 분해: 행렬 \( a \)의 고유값이 3과 1로 주어졌고, 각각의 고유벡터가 \( x_1 = \begin{bmatrix} 1 \\ 1 \end{bmatrix} \)와 \( x_2 = \begin{bmatrix} 1 \\ -1 \end{bmatrix} \)입니다.
2. 벡터 \( b \)를 고유벡터로 분해:
우선, \( b = \begin{bmatrix} 4 \\ 3 \end{bmatrix} \)를 두 고유벡터 \( x_1 \)과 \( x_2 \)의 선형 결합으로 표현합니다.
즉, \( b = c_1 x_1 + c_2 x_2 \)를 만족하는 \( c_1 \)과 \( c_2 \)를 구합니다.
- \( x_1 \)과 \( x_2 \)가 직교하므로, 내적을 통해 \( c_1 \)과 \( c_2 \)를 쉽게 구할 수 있습니다.
- \( c_1 = \dfrac{b \cdot x_1}{x_1 \cdot x_1} = \dfrac{4 \times 1 + 3 \times 1}{1^2 + 1^2} = \dfrac{4 + 3}{2} = \dfrac{7}{2} = 3.5 \)
- \( c_2 = \dfrac{b \cdot x_2}{x_2 \cdot x_2} = \dfrac{4 \times 1 + 3 \times (-1)}{1^2 + (-1)^2} = \dfrac{4 - 3}{2} = \dfrac{1}{2} = 0.5 \)
3. 해 \( x \) 구하기:
이제 고유값을 사용하여 \( x = \dfrac{c_1}{\lambda_1} x_1 + \dfrac{c_2}{\lambda_2} x_2 \)를 계산합니다.
- \( x = \dfrac{3.5}{3} \begin{bmatrix} 1 \\ 1 \end{bmatrix} + 0.5 \begin{bmatrix} 1 \\ -1 \end{bmatrix} \)
- 이를 계산하면:
$ x = \begin{bmatrix} \dfrac{3.5}{3} + 0.5 \\ \dfrac{3.5}{3} - 0.5 \end{bmatrix} $
따라서 연립방정식의 해는 \( x = \begin{bmatrix} \dfrac{5}{3} \\ \dfrac{2}{3} \end{bmatrix} \)입니다.
세상의모든계산기 님의 최근 댓글
fx-570 CW 는 아래 링크에서 https://allcalc.org/56026 2025 10.24 불러오기 할 때 변수값을 먼저 확인하고 싶을 때는 VARIABLE 버튼 【⇄[x]】목록에서 확인하고 Recall 하시면 되고, 변수값을 이미 알고 있을 때는 바로 【⬆️SHIFT】【4】로 (A)를 바로 입력할 수 있습니다. 2025 10.24 fx-570 CW 로 계산하면? - 최종 확인된 결과 값 = 73.049507058478629343538 (23-digits) - 오차 = 6.632809104889414877 × 10^-19 꽤 정밀하게 나온건 맞는데, 시뮬레이션상의 22-digits 와 오차 수준이 비슷함. 왜 그런지는 모르겠음. - 계산기중 정밀도가 높은 편인 HP Prime CAS모드와 비교해도 월등한 정밀도 값을 가짐. 2025 10.24 HP Prime 에서 <Home> 73.0495070344 (12-decimal-digits) // python 시뮬레이션과 일치 <CAS> 21자리까지 나와서 이상하다 싶었는데, Ans- 에서 자릿수를 더 늘려서 빼보니, 뒷부분 숫자가 아예 바뀌어버림. 버그인가? (전) 73.0495070584718691243 (21-digits ????) (후) 73.0495070584718500814401 (24-digits ????) 찾아보니 버그는 아니고, CAS에서는 십진수가 아니라 2진수(bit) 단위로 처리한다고 함. Giac uses 48 bits mantissa from the 53 bits from IEEE double. The reason is that Giac stores CAS data (gen type) in 64 bits and 5 bits are used for the data type (24 types are available). We therefore loose 5 bits (the 5 low bits are reset to 0 when a double is retrieved from a gen). 출처 : https://www.hpmuseum.org/cgi-bin/archv021.cgi?read=255657 일단 오차를 놓고 보면 16-decimal-digits 수준으로 보임. 2025 10.23 khiCAS 에서 HP 39gII 에 올린 khiCAS는 254! 까지 계산 가능, 255! 부터는 ∞ fx-9750GIII 에 올린 khiCAS는 factorial(533) => 425760136423128437▷ // 정답, 10진수 1224자리 factorial(534) => Object too large 2025 10.23