본문 바로가기
수치해석

누승법

by aqua_marri 2024. 1. 9.

⦁ 누승법의 개념 

 
⦁ 누승법 구현 

import numpy as np
A = [[3, 1],
    [1, 3]]
x= [0, 1]
kmax = 10

def phi_1(vector):
    return vector[0]
    
for k in range(1, kmax+1):
    y = np.dot(A, x)
    r = phi_1(y)/phi(x)
    x = y
    
    print(k, r, x)
    
def phi_2(vector):
    return np.linalg.norm(vector, ord=np.inf)
    
for k in range(1, kmax+1):
    y = np.dot(A, x)
    r = phi_1(y)/phi(x)
    x = y/phi_2(y)  # 무한 벡터 노름으로 정규화
    print(k, r, x)

'수치해석' 카테고리의 다른 글

비선형최소제곱법  (0) 2024.01.10
선형최소제곱법  (0) 2024.01.09
스펙트럼 분해, 특이값 분해  (0) 2024.01.09
고유값, 고유벡터  (0) 2024.01.09
LU 분해, LDL^t 분해  (0) 2024.01.09