728x90
Jacobi Iterative Method

Jacobi Iterative Method

  • 행렬 Ax=b를 풀 때
    • 초기 가정 x0x^0을 가정하고, xkx^k에 대해 k의 극한 계산
  • Jacobi Iterative method
    • xi=j=1,ji(aijxjaii)+biaiix_i=\sum_{j=1,j\not ={i}}(-\frac{a_{ij}x_j}{a_{ii}})+\frac{b_i}{a_{ii}}
    • 2x2 행렬에 대해, a11x1+a12x2=b1a21x1+a22x2=b2\\a_{11}x_1+a_{12}x_2=b_1\\a_{21}x_1+a_{22}x_2=b_2
    • 위 식에서 x1=b1a11a12a11x2x2=b2a22a21a22x1\\x_1=\frac{b_1}{a_{11}}-\frac{a_{12}}{a_{11}}x_2\\x_2=\frac{b_2}{a_{22}}-\frac{a_{21}}{a_{22}}x_1
    • x1n+1=b1a11a12a11x2nx2n+1=b2a22a21a22x1nx_1^{n+1}=\frac{b_1}{a_{11}}-\frac{a_{12}}{a_{11}}x_2^n\\x_2^{n+1}=\frac{b_2}{a_{22}}-\frac{a_{21}}{a_{22}}x_1^n
    • 계산된 해에 대해 xkxk1xk\frac{||x^k-x^{k-1}||_\infty}{||x^k||_\infty}가 일정 오차 이하가 될 때까지 반복
  • More general representation
    • 행렬 A를 A=DLUA=D-L-U로 분리
      • D : 대각행렬 / L : Lower Triangle / U : Upper Triangle
    • Ax=bAx=b를 계산하면 x=D1(L+U)x+D1bx=D^{-1}(L+U)x+D^{-1}b, 즉 x=Tx+cx=Tx+c꼴로 변환
    • ρ(T)<1\rho(T)<1 혹은 T||T||_\infty임을 증명하면 xk=Txk1+cx^k=Tx^{k-1}+c가 수렴함을 증명할 수 있다.

Gauss-Seidel Method

  • x1n+1=b1a11a12a11x2nx2n+1=b2a22a21a22x1n+1x_1^{n+1}=\frac{b_1}{a_{11}}-\frac{a_{12}}{a_{11}}x_2^n\\x_2^{n+1}=\frac{b_2}{a_{22}}-\frac{a_{21}}{a_{22}}x_1^{n+1}

  • xn=xx^n=x로 수렴하기 위한 조건

    • Tnx0T^nx^0가 0으로 수렴
    • SncS^nc는 x로 수렴
    • ρ(T)<1, T2<1, T<1\rho(T)<1,\ ||T||_2<1,\ ||T||_\infty<1중 하나를 만족
      • 앞으로 갈수록 sharp한 수렴, 계산은 복잡
    • 한 열에서 사용한 결과값을 바로 다음 열에 사용하므로 계산 시간이 줄어듬
    • [b1b2]=[a11 0a21 a22]+[0 a120 0]\begin{bmatrix} b1\\ b2 \end{bmatrix}=\begin{bmatrix} a_{11}\ 0\\ a_{21}\ a_{22} \end{bmatrix}+\begin{bmatrix} 0\ a_{12}\\ 0\ 0 \end{bmatrix}
  • Dxn+1=Lxn+1+Uxn+bDx^{n+1}=Lx^{n+1}+Ux^n+b

    • D : A행렬의 대각선 원소 / L : L행렬 대각원소의 아랫부분 / U : L행렬 대각행렬의 윗부분
  • ρ(T)<1\rho(T)<1일 때, (IT)1(I-T)^{-1}을 만족

    • Sn=(IT)1=I+T+Tn+...+TnS_n=(I-T)^{-1}=I+T+T^n+...+T^n
    • (IT)Sn=ITn+1(I-T)S_n=I-T^{n+1}
    • n이 발산하면 S는 I로 수렴

  • fixed-point iteration 형태의 표현
    • xk=Txk1+cx^k=Tx^{k-1}+c
    • jacobi iteration : Tj=D1(L+U)T_j=D^{-1}(L+U)
    • gauss-seidel : Tg=(DL)1UT_g=(D-L)^{-1}U

Successive Over Relatxation(SOR)

  • xn+1=(1w)xn+wxgn+1x^{n+1}=(1-w)x^n+wx_g^{n+1}
    • w : relaxation parameger
    • wgw_g : gauss-seidel로 계산한 값
  • Residual Vector
    • gauss-seidel method에서 xn+1=1a11[a12x2n+b1]x^{n+1}=\frac{1}{a_{11}}[-a_{12}x_2^n+b_1]
    • a11x1=a11x1n+1a11x1n=a11x1na12x2n+b1=r1na_{11}x_1=a_{11}x_1^{n+1}-a_{11}x_1^n\\=-a_{11}x_1^n-a_{12}x_2^n+b_1=r_1^n으로 정의
    • residual form : xn+1=xn+D1rnx^{n+1}=x^n+D^{-1}r^n
    • SOR residual form : xn+1=xn+wD1rnxn+1=(1w)xn+wD1(Lxn+1+Uxn)x^{n+1}=x^n+wD^{-1}r^n\\x^{n+1}=(1-w)x^n+wD^{-1}(Lx^{n+1}+Ux^n)
728x90
728x90
Vector norm
  • norm : data 간의 거리 / 판정의 기준

Vector norm

  • Rn\R^n은 n차원 공간 내의 함수{(x1,x2,...,xnxR}\{(x_1, x_2, ..., x_n|x \in R\}를 의미
  • vector norm의 성질
    • x0 for all xRn||\bold{x}||\geq0\ for\ all\ x\in\R^n
    • x가 영벡터일 때만 x=0||\bold{x}||=0
    • 모든 실수 α\alpha에 대해 αx=αx||\alpha\bold{x}||=|\alpha|||\bold{x}||
    • triangle inequality : x+yx+y||\bold{x+y}||\leq||\bold{x}||+||\bold{y}||
  • Cauchy-Bunyakovsky-Schwarz Inequality
    • 벡터 x, y에 대해서
    • xty=i=1nxiyi{xi2}1/2{yi2}1/2=x2y2x^ty=\sum^n_{i=1}x_iy_i\leq\{\sum x_i^2\}^{1/2}\{\sum y_i^2\}^{1/2}=||x||_2||y||_2

  • l2l_2 norm과 ll_\infty norm
    • 전자는 square norm, 후자는 max norm이라고 칭함
    • 선형대수에서 가장 보편적으로 사용되는 norm
    • l2l_2 norm : x2={i=1nxi2}1/2||\bold{x}||_2=\{\sum_{i=1}^nx^2_i\}^{1/2}
      • 2차원 실수 공간의 l2l_2 < 1 norm
    • ll_\infty norm : x=maxxi||\bold{x}||_\infty=max|x_i|
      • 2차원 실수 공간의 ll_\infty < 1 norm
  • ex. 벡터 x = (-1, 1, -2)인 경우
    • l2l_2 norm = 6\sqrt{6}
    • ll_\infty norm = 2

  • Cauchy-Bunyakovsky-Schwarz Inequality의 증명
    • 임의 벡터 x, y가 영벡터가 아닐 때
    • 0xλy22=(xiλyi)20\leq||x-\lambda y||_2^2=\sum(x_i-\lambda y_i)^2
    • 2λxiyixi2+yi2=x22+λ2y222\lambda\sum x_iy_i\leq\sum x_i^2 + \sum y_i^2=||x||_2^2+\lambda^2||y||_2^2
    • x2>0, y2>0||x||_2>0,\ ||y||_2>0이므로 λ=x2/y2\lambda=||x||_2/||y||_2로 가정하면 2xiyi2x2y22\sum x_iy_i\leq2||x||_2||y||_2

  • norm 간의 비교
    • xx2nx||x||_\infty\leq||x||_2\leq\sqrt{n}||x||_\infty ( n : 차원 )
    • 증명 : x=xj2xi2=x22x22nxj2=nx2||x||_\infty=|x_j|^2\leq\sum x_i^2=||x||_2^2 \\ ||x||_2^2\leq nx_j^2=n||x||_\infty^2

Matrix norm

  • vector 계산에서 행렬은 변환을 담당(X 공간에서 Y공간으로의 이동)
    • function : 벡터 or 실수 > 실수
    • operator : 벡터 > 벡터
  • Matrix norm은 vector norm과 유사한 특성을 보유
    • A0||\bold{A}||\geq0
    • A가 영행렬일 때만 A=0||\bold{A}||=0
    • 모든 실수 α\alpha에 대해 αA=αA||\alpha\bold{A}||=|\alpha|||\bold{A}||
    • triangle inequality : A+BA+B||\bold{A+B}||\leq||\bold{A}||+||\bold{B}||
    • ABAB||\bold{AB}||\leq||\bold{A}||||\bold{B}||

  • Matrix Norm : A=maxx=1Ax||A||=max_{||x||=1}||Ax||
  • Natural(Mmatrix) Norm
    • 영벡터가 아닌 임의 벡터 z가 있을 때, unit vector x=z/zx=z/||z||로 정의
    • A=maxz0Azz=maxx=1Ax||A||=max_{z\not ={0}}\frac{||Az||}{||z||}=max_{||x||=1}||Ax||
  • Matrix norm은 vector norm에 종속되어 결정

  • A가 n x n크기의 행렬일 때, A=maxaij||A||_\infty = max\sum|a_{ij}|
    • A||A||는 행렬 A와 unit vector 사이의 곱이므로, 무한 차원의 norm은 행의 절댓값 합 중 최댓값으로 나타나게 된다.
728x90
728x90
LU decomposition

LU decomposition

  • 2x1+x2=1, x1+2x2=32x_1+x_2=1,\ x_1+2x_2=3의 방정식 가정
    • [2 1:11 2:3]\begin{bmatrix} 2\ 1:1\\ 1\ 2:3 \end{bmatrix} : augmented matrix
    • x계수 행렬을 system matrix라고 함
  • Gauss Elimination : 계수 소거
    • [2 1:10 32:52]\begin{bmatrix} 2\ 1:1\\ 0\ \frac{3}{2}:\frac{5}{2} \end{bmatrix}
    • 2열에 1열 / 2한 것을 빼서 계산
    • x2=5/3x_2=5/3, x1=1/3x_1=-1/3
  • Ax=bAx=b를 Gaussian Elimination을 통해 Ux=bUx=b'으로 변환
    • U=[a b0 d]U=\begin{bmatrix} a\ b\\ 0\ d \end{bmatrix}꼴의 행렬

  • Ax=b1, Ax=b2, Ax=b3,...Ax=b_1,\ Ax=b_2,\ Ax=b_3, ...의 행렬식을 푼다고 하면 각 행렬마다 Gauss Elimination이 적용되어야 함

    • Lower - Triangle Matrix L : L=[a 0c d]L=\begin{bmatrix} a\ 0\\ c\ d \end{bmatrix}
    • Gauss-Elimitation 연산을 기억하는 효과
    • A=LUA=LU
  • LU Decomposition

    • A=[2 11 2]=LUA = \begin{bmatrix} 2\ 1\\ 1\ 2 \end{bmatrix} = LU
      • U=[2 10 32]U = \begin{bmatrix} 2\ 1\\ 0\ \frac{3}{2} \end{bmatrix}
      • L=[1 0k 1]L = \begin{bmatrix} 1\ 0\\ k\ 1 \end{bmatrix}
        • k = 상수항 제거를 위해 Gauss Elimination에 적용한 계수
    • Ax=bLUx=bAx=b\rarr LUx=b
  • Gauss Elimitnation은 계수 행렬 A에서 항 하나가 제거된 Lower Matrix L로 변환하는 과정을 거침

  • LU-Decomposition은 계수행렬 A를 L과 U의 곱으로 변환

    • 우항이 바뀌어도 LU식은 변화 없음

  • m x n 행렬의 LU decomposition
    • i행 j열 위치의 값을 ajia_ji라고 할 때,
    • j번째 행의 원소 EjE_j의 값을 Ejmj1E1E_j-m_{j1}E_1로 바꿔준다 (mj1=aj1a11m_j1=\frac{a_j1}{a_11})
    • j번째 행의 원소 EjE_j의 값을 Ejmj2E1E_j-m_{j2}E_1로 바꿔준다
    • 1열의 모든 행에 대해 위 계산을 반복한 결과 행렬이 U행렬
    • 위 식에서 계산한 계수 m으로 이루어진 행렬이 L행렬이다.
  • Permutation
    • Gauss Elimination 연산이 불가능한 경우 계수 행렬의 열을 맞바꿈
    • P = (a, b) : 바꿀 두 행 a, b를 지정
      • ex. P = (1, 2) (2, 4)의 경우, 1 - 2행을 바꾼 후 2 - 4행을 바꿈
      • P[0 1 0 00 0 0 10 0 1 01 0 0 0]P \begin{bmatrix} 0\ 1\ 0\ 0\\ 0\ 0\ 0\ 1\\ 0\ 0\ 1\ 0\\ 1\ 0\ 0\ 0 \end{bmatrix}
    • PA = LU의 관계식을 만족
    • A=P1LU=PtLUA = P^{-1}LU = P^tLU

Positive definitive

  • n x n 행렬 A가 있을 때,
    • aiij=1,jinaij|a_{ii}|\geq\sum^n_{j=1, j\not ={i}}|a_{ij}|이면 diagonally dominant 하다고 표현
    • aii>j=1,jinaij|a_{ii}|>\sum^n_{j=1, j\not ={i}}|a_{ij}| 이면 strictly digonally dominant
  • det(A)0A1 existdet(A)\not ={0}\lrArr A^{-1}\ exist
    • determinant가 0이 아님을 증명하는 계산 과정은 복잡
    • 그 대신 (strictly) diagnally dominant이면 A1A^{-1}이 존재하다는 것을 이용
    • diag. dominantAA1 existdiag.\ dominant A\larr A^{-1}\ exist
    • strictly diag. dominantAA1 existstrictly\ diag.\ dominant A\lrarr A^{-1}\ exist : non-singluar

  • 0이 아닌 벡터 x에 대해
    • xtAx>0x^tAx>0이면 A는 positive definitive하다고 정의
  • positive definitive할 경우
    • 역행렬이 존재
    • 모든 대각 성분은 양수
    • 행렬 내 임의 값의 최대값보다 대각 성분의 최대값이 더 큼
    • i행 j열에서 (aij)2<aiiajj(a_{ij})^2<a_{ii}a_{jj}

  • n x n 행렬 내에는 n개의 leading submatrix가 존재
    • leading submetrix : 행렬의 1,1 원소를 공통으로 갖는 1 x 1, ..., n x n 크기의 대칭행렬
    • 대칭행렬 A의 leading submatrix가 모두 행렬식이 양수인 경우, A는 positive definitive
728x90
728x90
Euler's method

Euler's method

  • 가장 단순한 미분법
  • Initial value problem
    • dydt=f(t,y), atb,y(a)=α\frac{dy}{dt}=f(t,y),\ a\leq t\leq b, y(a)=\alpha
    • [a,b] 범위를 n등분 : ti=a+ih, i=0,1,2,...,nt_i=a+ih,\ i=0,1,2,...,n
    • h=(ba)/n=ti+1tih=(b-a)/n=t_{i+1}-t_i를 step size라고 정의
  • euler's method 유도를 위한 taylor's theorem
    • y(ti+1)=y(ti)+(ti+1ti)y(ti)+(ti+1t)22y(ζi) (tiζti+1)y(t_{i+1})=y(t_i)+(t_{i+1}-t_i)y'(t_i)+\frac{(t_{i+1}-t)^2}{2}y''(\zeta_i)\ (t_i\leq\zeta\leq t_{i+1})
    • step size 공식에 의해 y(ti+1)=y(ti)+hf(ti,y(ti))+h22y(ζi)y(t_{i+1})=y(t_i)+hf(t_i, y(t_i)) + \frac{h^2}{2}y''(\zeta_i)

  • Euler's method
    • wiy(ti)w_i\simeq y(t_i)로 정으
    • w0=αw_0 = \alpha
    • wi+1=wi+hf(ti,wi)w_{i+1}=w_i+hf(t_i, w_i)
  • ex. h = 0.5, y(0)=0.5, y=yt2+1y'=y-t^2+1
    • w0=y(0)=0.5w_0=y(0)=0.5
    • w1=w0+0.5(w002+1)w_1=w_0+0.5(w_0-0^2+1)
    • w2=w1+0.5(w1(0.5)2+1w_2=w_1+0.5(w_1-(0.5)^2+1
  • wj+1=wj+hf(tj,wj)w_{j+1}=w_j+hf(t_j, w_j) : worward euler method
    • h가 커지면 발산할 위험이 있음
  • wj+1wj+hf(tj+1,yj+1)w_{j+1}\simeq w_j + hf(t_{j+1}, y_{j+1}) : backward euler method
    • wj+1w_{j+1}을 풀어야 하나, stable한 장점이 있음

  • Runge-Katta method (order 2)
    • tjtj+1ydt=tjtj+1f(t,y(t))dtyj+1yjh2[f(tj,yj)+f(tj+1,yj+1)]\int^{t_{j+1}}_{t_j}y'dt=\int^{t_{j+1}}_{t_j}f(t, y(t))dt\\\rarr y_{j+1}-y_j\simeq \frac{h}{2}[f(t_j, y_j) + f(t_{j+1}, y_{j+1})] : Implicit
    • Explicit : yj+1yjh2[f(tj,yj)+f(tj+1,yj+1)^]y_{j+1}-y_j\simeq \frac{h}{2}[f(t_j, y_j) + f(t_{j+1}, \hat{y_{j+1})}]
      • yj+1yj+1^=yj+hf(tj,yj)y_{j+1}\simeq\hat{y_{j+1}}=y_j+hf(t_j, y_j)
  • Runge-Katta method (order 4)
    • Implicit : yj+1yj=h6[f(tj,yj)+4f(tj+1/2,yj+1/2)+f(tj+1,yj+1)]y_{j+1}-y_j = \frac{h}{6}[f(t_j, y_j) + 4f(t_{j+1/2}, y_{j+1/2})+f(t_{j+1}, y_{j+1})]
    • Explicit : yj+1yj=h6[f(tj,yj)+2f(tj+1/2,yj+1/2^)+2f(tj+1/2,yj+1/2^^)+f(tj+1,yj+1^)]y_{j+1}-y_j = \frac{h}{6}[f(t_j, y_j) + 2f(t_{j+1/2}, \hat{y_{j+1/2}})+2f(t_{j+1/2}, \hat{\hat{y_{j+1/2}}})+f(t_{j+1}, \hat{y_{j+1}})]
      • yj+1/2^=yj+h2f(tj,yj)\hat{y_{j+1/2}}=y_j+\frac{h}{2}f(t_j, y_j)
      • yj+1/2^^=yj+h2f(tj,yj^)\hat{\hat{y_{j+1/2}}}=y_j+\frac{h}{2}f(t_j, \hat{y_j})
      • yj+1^=yj+hf(tj+yj+1/2^^)\hat{y_{j+1}}=y_j+hf(t_j+\hat{\hat{y_{j+1/2}}})
728x90
728x90
Numerical Integration

Numerical Integration

  • 수치적 적분은 \int대신 \sum을 쓰는 원리

Trapezoidal Rule

  • 적분 구간의 일부인 [a, b]구간의 적분을 가정 (구분구적법과 유사)
    • x0x2f(x)dx(x2x0)[f(x0)+f(x2)]2\int_{x_0}^{x_2}f(x)dx\simeq (x_2-x_0)\frac{[f(x_0)+f(x_2)]}{2}
  • 해당 구간의 Linear Lagrange Polynomial P1(x)=xx1x0x1f(x0)+xx0x1x0f(x1)P_1(x)=\frac{x-x_1}{x_0-x_1}f(x_0)+\frac{x-x_0}{x_1-x_0}f(x_1)
  • Lagrange Method x1, x2x_1,\ x_2를 shifting
    • L0=hxh, L1=xhL_0=\frac{h-x}{h},\ L_1=\frac{x}{h}
    • x0x2f(x)dx(2h)[f(x0)+f(x2)]2\int_{x_0}^{x_2}f(x)dx\simeq (2h)\frac{[f(x_0)+f(x_2)]}{2}
  • three-point rule 적용(x-h, 0, x+h)
    • taylor polynomial : f(x)=f(x1)+f(x1)(xx1)+f(ζ)2(xx1)2f(x)=f(x_1)+f'(x_1)(x-x_1)+\frac{f''(\zeta)}{2}(x-x_1)^2
    • a : x0x2f(x)=f(x1)2h+f(ζx)2(xx1)2\int_{x_0}^{x_2}f(x)=f(x_1)\cdot 2h+\frac{f''(\zeta_x)}{2}(x-x_1)^2
    • b : [f(x0)+f(x2)]h=2hf(x1)+[f(ζ1)+f(ζ2)]h32[f(x_0)+f(x_2)]h=2hf(x_1)+[f''(\zeta_1)+f''(\zeta_2)]\frac{h^3}{2}
    • error = a-b = x0x1f(ζ)2(xx1)2[f(ζ1)+f(ζ2)]2h3\int_{x_0}^{x_1}\frac{f''(\zeta)}{2}(x-x_1)^2-\frac{[f''(\zeta_1)+f''(\zeta_2)]}{2}h^3
      =h3[f(η)3[f(ζ1)+f(ζ2)]2]=h^3[\frac{f''(\eta)}{3}-\frac{[f''(\zeta_1)+f''(\zeta_2)]}{2}]
  • Error 발생 hhf(x)dxh[f(h)+f(h)]2\int^h_{-h} f(x)dx\simeq h\frac{[f(h)+f(-h)]}{2}
    • f(x)=1인 경우 : a=2h, b=2h
    • f(x)=x인 경우 : a=b=0
    • f(x)=x2x^2인 경우 : 23h3h3\frac{2}{3}h^3\not ={h^3}(error 발생)

Simpson's Rule

  • [a, b]구간을 세 점 (x0, x1, x2)로 가정
  • shifting : x0=h, x1=0, x2=hx_0=-h,\ x_1=0,\ x_2=h
    • hhf(x)hf(h)+4f(0)+f(h)3\int_{-h}^hf(x)\simeq h\frac{f(-h)+4f(0)+f(h)}{3}
    • 혹은 x0x2f(x)dx=2hf(x1)+h33f(x1)+f(ζ)60h5\int_{x_0}^{x_2}f(x)dx=2hf(x_1)+\frac{h^3}{3}f''(x_1)+\frac{f''''(\zeta)}{60}h^5
  • Trapizoidal Rule의 degree of precesion은 1이지만, simpson은 4(전자는 2차식, 후자는 5차식부터 오차 발생)
  • Composite Simpson's rule
    • 함수를 일정 구간으로 나누어 Simpson's Rule을 여러번 적용
    • I(f)=abf(x)dx,I(f)=\int^b_af(x)dx,
    • Tn(f)=h[f(x0)+f(x1)2+f(x1)+f(x2)2+...+f(xn2)+f(xn1)2+f(xn1)+f(xn)2T_n(f)=h[\frac{f(x_0)+f(x_1)}{2}+\frac{f(x_1)+f(x_2)}{2}+...+\frac{f(x_{n-2})+f(x_{n-1})}{2}+\frac{f(x_{n-1})+f(x_n)}{2}
      =h[f(x0)2+f(x1)+...+f(xn1)+f(xn)2]=h[\frac{f(x_0)}{2}+f(x_1)+...+f(x_{n-1})+\frac{f(x_n)}{2}]
    • 오차 = nO(h3)nO(h^3) - 간격이 줄어 h가 감소하므로 오차가 대폭 줄어듦

Gaussian Quadratic

  • f(x)dxc1f(x1)+c2f(x2)\int f(x)dx\simeq c_1f(x_1)+c_2f(x_2)
  • Simpson's rule의 변형으로, 양 끝점을 구분부적 하는 대신 구간 내 임의 두개의 점으로 구분구적을 진행
  • 미지수 c1, c2, x1, x2c_1,\ c_2,\ x_1,\ x_2를 알기 위한 4개 방정식 필요
  • 5개 점(a, x1, 0, x2, b)이 대칭형이라 가정
    • x1 = -x2
    • c1 = c2
728x90
728x90
Numeriacal Differenctiation

Numeriacal Differenctiation

  • f(x)=Pn(x)+fn+1(ζ(x))(n+1)!Π(xxn)=Pn(x)+fn+1(ζ(x))(n+1)!Φ(x)f(x)=P_n(x)+\frac{f^{n+1}(\zeta(x))}{(n+1)!}\Pi(x-x_n)=P_n(x)+\frac{f^{n+1}(\zeta(x))}{(n+1)!}\Phi(x)
  • 미분 근사
    • f(x)=limh0f(x+h)f(x)hf(x+h)f(x)hf'(x)=lim_{h\rarr0}\frac{f(x+h)-f(x)}{h}\simeq\frac{f(x+h)-f(x)}{h}
    • 계산이 단순함
    • 수렴이 느림 = 근사 정확도가 낮음
    • h에 정비례로 오차도 작아짐 (1차 수렴)
  • Higher Order method : Lagrange method
    • f(x)=Σf(xk)Lk(x)+fn+1(ζ(x))(n+1)!Π(xxn)f(x)=\Sigma f(x_k)L_k(x)+\frac{f^{n+1}(\zeta(x))}{(n+1)!}\Pi(x-x_n)
    • 앞의 항은 Pn(x)P_n(x), 뒤의 항은 Error
    • 미분값 f(x)=k=0nf(xk)Lk(x)+Dx[Φ(x)]fn+1(ζ(x))+Φ(x)Dx[fn+1(ζ(x))]f'(x)=\sum^n_{k=0}f(x_k)L'_k(x)+D_x[\Phi(x)]f^{n+1}(\zeta(x))+\Phi(x)D_x[f^{n+1}(\zeta(x))]
      • j번째 미분항 f(xj)=k=0nf(xk)Lk(xj)+fn+1(ζ(xj))(n+1)!Πk=0,kjn(xjxk)f'(x_j)=\sum^n_{k=0}f(x_k)L'_k(x_j)+\frac{f^{n+1}(\zeta(x_j))}{(n+1)!}\Pi^n_{k=0, k\not ={j}}(x_j-x_k)
      • 오차를 특정하기보다는 Error Bound를 계산한다.
    • n이 중가할수록 error는 감소

Three-Point Formula

  • Lagrange Polynomial (3 basis) : 3개 점을 이용한 근사식
    • L0=(xx1)(xx2)(x0x1)(x0x2)L_0=\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}
    • L1=(xx0)(xx2)(x1x0)(x1x2)L_1=\frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}
    • L2=(xx0)(xx1)(x2x0)(x2x1)L_2=\frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)}
  • 3-point method : 3개 점이 일정 간격이라 가정 x1=x0+h, x2=x0+2hx_1 = x_0+h,\ x_2=x_0+2h
    • Lagrange method의 분모항은 모두 2h22h^2으로 통일됨
    • shifting : 3개 점 중 하나를 0으로 치환
  • 3-point method를 적용한 미분식
    • f(x0)=1h[32f(x0)+2f(x0+h)12f(x0+2h)]+h23f(ζ0)f'(x_0)=\frac{1}{h}[-\frac{3}{2}f(x_0)+2f(x_0+h)-\frac{1}{2}f(x_0+2h)]+\frac{h^2}{3}f'''(\zeta_0)
    • f(x0+h)=1h[12f(x0)+12f(x0+2h)]+h26f(ζ1)f'(x_0+h)=\frac{1}{h}[-\frac{1}{2}f(x_0)+\frac{1}{2}f(x_0+2h)]+\frac{h^2}{6}f'''(\zeta_1)
    • f(x0+2h)=1h[12f(x0)2f(x0+h)+32f(x0+2h)]+h23f(ζ2)f'(x_0+2h)=\frac{1}{h}[\frac{1}{2}f(x_0)-2f(x_0+h)+\frac{3}{2}f(x_0+2h)]+\frac{h^2}{3}f'''(\zeta_2)
    • h가 절반 >> error항은 2차식이므로 오차는 1/4로 감소
  • 미분식 간소화
    • f(x0)3f(x0)+4f(x1)f(x2)2hf'(x_0)\simeq\frac{-3f(x_0)+4f(x_1)-f(x_2)}{2h} (back-order form)
    • f(x1)f(x0)+f(x2)2hf'(x_1)\simeq\frac{-f(x_0)+f(x_2)}{2h} (central form)
    • f(x2)f(x0)4f(x1)+3f(x2)2hf'(x_2)\simeq\frac{f(x_0)-4f(x_1)+3f(x_2)}{2h} (forward-order form)
    • 세 식이 대칭 구조를 이룸
    • 분자의 계수 합이 0이어야 함

  • x~=xx1 (x1=x+h)\tilde{x}=x-x_1\ (x_1=x+h)로 정의
    • Largrange Polynomial f(x)f(x0)L0(x)+f(x1)L1(x)+f(x2)L2(x)f(x)\simeq f(x_0)L_0(x)+f(x_1)L_1(x)+f(x_2)L_2(x)
    • f(x)f(x0)L0(x~)+f(x1)L1(x~)+f(x2)L2(x~)f(x)\simeq f(x_0)L_0(\tilde{x})+f(x_1)L_1(\tilde{x})+f(x_2)L_2(\tilde{x})로 치환
    • L0(x~)=x~(x~h)2h2L_0(\tilde{x})=\frac{\tilde{x}(\tilde{x}-h)}{2h^2}
  • five point formula
    • f(x0)=112h(f(x02h)8f(x0h)+8f(x0+h)f(x0+2h))+h430f(5)(ζ)f'(x_0)=\frac{1}{12h}(f(x_0-2h)-8f(x_0-h)+8f(x_0+h)-f(x_0+2h))+\frac{h^4}{30}f^{(5)}(\zeta)
      • midpoint formula - 가운데 점의 미분
      • ζ=[x02h,x0+2h]\zeta=[x_0-2h, x_0+2h]
    • f(x0)=112h[25f(x0)+48f(x0+h)36f(x0+2h)+16f(x0+3h)3f(x0+4h)]+h45f(5)(ζ)f'(x_0)=\frac{1}{12h}[-25f(x_0)+48f(x_0+h)-36f(x_0+2h)+16f(x_0+3h)-3f(x_0+4h)]+\frac{h^4}{5}f^{(5)}(\zeta)
      • endpoint formula - 왼쪽 끝점에서 미분
      • ζ=[x0,x0+4h]\zeta=[x_0, x_0+4h]
    • Error식이 4차 - Order of Convergence = 4
  • Order of Convergence 계산
    • Error Eh=ChαE_h=Ch^\alpha라고 할 때 Order of convergence = O(h2)O(h^2)
    • h값이 1/2로 감소한다고 할때 이전 값은 2h이므로 E2h=C(2h)αE_2h=C(2h)^\alpha
    • error의 감소분은 E2hEh=2α\frac{E_2h}{E_h}=2^\alpha
    • α\alpha의 계산은 logE2hEh/log2log\frac{E_2h}{E_h}/log2로 구할 수 있음 (Error Of Convergence)

Application of the Formula

  • ex. f(x)=xexf(x)=xe^x
    • f(1.8) = 10.889365, f(1.9) = 12.703199, f(2.0) = 14.778112, f(2.1) = 17.148957, f(2.2) = 19.855030
    • h=0.1, x=1.9 기준으로 한 3-point endpoint formila
      f(x)=10.2[3f(1.9)+4f(2.0)f(2.1)]f(x)=\frac{1}{0.2}[-3f(1.9)+4f(2.0)-f(2.1)]
728x90
728x90
Lagrange InterPolation

Lagrange Interpolation

Weierstrass Approximation Theorem

  • Algebric Polynomial
    • 임의의 f(x)에 대한 근사식
    • Pn(x)=anxn+an1xn1+...+a0P_n(x)=a_nx^n+a_{n-1}x^{n-1}+...+a_0
    • 함수 f가 [a, b]에서 연속할 경우, f(x)P(x)<ϵ|f(x)-P(x)|<\epsilon인 P가 존재
    • 오차 ϵ\epsilon이 작아질수록 차수 n은 증가

Taylor Polynomial

  • 함수 f가 x=a에서 (n+1)번 미분 가능할 경우
    • f(x)=f(0)+f(a)(xa)+f(a)2(xa)2+...+fn(a)n!(xa)n+fn+1(ψx)(n+1)!(xa)n+1f(x)=f(0)+f'(a)(x-a)+\frac{f''(a)}{2}(x-a)^2+...+\frac{f^n(a)}{n!}(x-a)^n+\frac{f^{n+1}(\psi_x)}{(n+1)!}(x-a)^{n+1}
    • n+1차항 : Taylor 급수의 error
    • f(x)=P(x)=f(0)+f(a)(xa)+f(a)2(xa)2+...+fn(a)n!(xa)nf(x)=P(x)=f(0)+f'(a)(x-a)+\frac{f''(a)}{2}(x-a)^2+...+\frac{f^n(a)}{n!}(x-a)^n으로 근사할 수 있다
    • ψx\psi_x : x ~ a 사이의 임의 값
  • ex. x=0에서의 f(x)=exf(x)=e^x
    • f는 미분해도 모두 동일한 함수
    • x=0 대입시 f=1
    • ex1+x+x22!+...+xnn!\therefore e^x\simeq1+x+\frac{x^2}{2!}+...+\frac{x^n}{n!}
    • error : eψx(n+1)!xn+1\frac{e^{\psi_x}}{(n+1)!}x^{n+1}
  • Taylor Polynomal의 수렴 반경
    • ex. 1/x의 taylor polynomal : 전개할수록 오차가 커짐
    • 1/x를 x=1에서 전개 시 x는 0 ~ 2를 벗어날 수 없음(대칭성)
    • 수렴 범위를 벗어날 경우 taylor polynomal은 발산
  • Weierstrass theorem : P가 taylor 급수 ≠ P(x)가 수렴한다

Lagrange Polynomial

  • Polynomal Interpolation(1차 식으로 근사)
    • 점 [x0, y0], [x1, y1]의 경우 P1(x)=y1y0x1x0(xx0)+y0P_1(x)=\frac{y_1-y_0}{x_1-x_0}(x-x_0)+y_0
  • Lagrange Polynomial : Polynomial Interpolation을 구조화
    • L0(x)=xx1x0x1, L1(x)=xx)0x1x0L_0(x)=\frac{x-x_1}{x_0-x_1},\ L_1(x)=\frac{x-x)0}{x_1-x_0}로 정의
    • P1(x)=f(x0)L0(x)+f(x1)L1(x)P_1(x)=f(x_0)L_0(x)+f(x_1)L_1(x)
  • 2차 Lagrange Pilynomial : 점 [x0, y0], [x1, y1], [x2, y2]
    • L0(x)=(xx1)(xx2)(x0x1)(x0x2), L1(x)=(xx0)(xx2)(x1x0)(x1x2), L2(x)=(xx0)(xx1)(x2x0)(x2x1)L_0(x)=\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)},\ L_1(x)=\frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)},\ L_2(x)=\frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)}
    • P2(x)=f(x0)L0(x)+f(x1)L1(x)+f(x2)L2(x)P_2(x)=f(x_0)L_0(x)+f(x_1)L_1(x)+f(x_2)L_2(x)
  • 자기 자신을 제외한 나머지 점으로 규칙성을 갖는 식 수립 가능
    • n+1개 점 > n차 Lagrange Polynomial
    • general case : n차 다항식의 k번째 점의 lagrange basis Ln,k(x)L_{n,k}(x)
      =Πxxnxkxn=(xx0)...(xxk1)(xxk+1)...(xxn)(xkx0)...(xkxk1)(xkxk+1)...(xkxn)=\Pi\frac{x-x_n}{x_k-x_n}=\frac{(x-x_0)...(x-x_{k-1})(x-x_{k+1})...(x-x_n)}{(x_k-x_0)...(x_k-x_{k-1})(x_k-x_{k+1})...(x_k-x_n)}

InterPolating Error bound

  • Lagrange Polynomial로 구한 근사식
    • f(x)=P(x)+fn+1ζ(x)(n+1)!(xx0)(xx1)...(xxn)f(x)=P(x)+\frac{f^{n+1}\zeta(x)}{(n+1)!}(x-x_0)(x-x_1)...(x-x_n)
      • ζ(x)\zeta(x)는 a~b 사이의 임의의 점
    • P(x)=f(x0)Ln,0(x)+...+f(xn)Ln,n(x)=k=0nf(xk)Ln,k(x)P(x)=f(x_0)L_{n,0}(x)+...+f(x_n)L_{n,n}(x)=\sum^{n}_{k=0}f(x_k)L_{n,k}(x)
    • Error : fn+1ζ(x)(n+1)!(xx0)(xx1)...(xxn)\frac{f^{n+1}\zeta(x)}{(n+1)!}(x-x_0)(x-x_1)...(x-x_n)
  • 증명 과정
    • xxkx\not ={x_k}라고 할 때, g(t)g(t)함수를 다음과 같이 정의
      • g(t)=f(t)P(t)[f(x)P(x)](tx0)(tx1)...(txn)(xx0)(xx1)...(xxn)=f(t)P(t)[f(x)P(x)]Πi=0n(txi)(xxi)g(t)=f(t)-P(t) - [f(x)-P(x)]\frac{(t-x_0)(t-x_1)...(t-x_n)}{(x-x_0)(x-x_1)...(x-x_n)}=f(t)-P(t) - [f(x)-P(x)]\Pi^n_{i=0}\frac{(t-x_i)}{(x-x_i)}
    • P는 f의 interpolation이므로 모든 x값에 대해
      g(xn)=f(xn)P(xn)=0g(x_n)=f(x_n)-P(x_n)=0 (PiPi항은 분자 식에 의해 0)
    • Rolle's Theorem : n개 점에서 함수가 0이면, n-1차 미분의 값이 0인 점이 존재
      • g(t)는 x,x0,x1,...,xnx, x_0, x_1, ..., x_n의 구간으로 n+2개의 함수가 0인 점이 존재하므로, n+1차 미분이 0인 점 ζ\zeta가 존재
      • fn+1(ζ)Pn+1(ζ)[f(x)P(x)]dn+1dtn+1[Πi=0ntxixxi]t=ζf^{n+1}(\zeta)-P^{n+1}(\zeta)-[f(x)-P(x)]\frac{d^{n+1}}{dt^{n+1}}[\Pi^n_{i=0}\frac{t-x_i}{x-x_i}]_{t=\zeta}
      • P는 최대 n차식이므로 Pn+1=0P^{n+1}=0
    • gn+1(ζ)=0=fn+1(ζ)0[f(x)P(x)](n+1)!Πi=0n1xxig^{n+1}(\zeta)=0= f^{n+1}(\zeta)-0-[f(x)-P(x)](n+1)!\Pi^n_{i=0}\frac{1}{x-x_i}
      • (txi)(t-x_i)는 n+1차항이므로 n+1번 미분하면 (n+1)!
    • 위 식을 f(x)에 대해 정리하면
      f(x)=P(x)+fn+1ζ(x)(n+1)!(xx0)(xx1)...(xxn)f(x)=P(x)+\frac{f^{n+1}\zeta(x)}{(n+1)!}(x-x_0)(x-x_1)...(x-x_n)
    • 즉 원래 식과 근사식의 차 f(x)P(x)=fn+1ζ(x)(n+1)!(xx0)(xx1)...(xxn)f(x)-P(x)=\frac{f^{n+1}\zeta(x)}{(n+1)!}(x-x_0)(x-x_1)...(x-x_n)가 Error값이 됨
      • 최대 오차는 maxfn+1(ζ(x))(n+1)!max(xx0)(xx1)...(xxn)max|\frac{f^{n+1}(\zeta(x))}{(n+1)!}|\cdot max|(x-x_0)(x-x_1)...(x-x_n)|
728x90
728x90
Cubic Spline Interpolation

Cubic Spline Interpolation

Piecewise Polynomial

  • 임의의 함수 y=f(x)의 근사
  • 일정 간격으로 1차(직선)으로 근사 (linear interpolation) 시의 문제점
    • 각 근사 구간의 교점마다 그래프가 각진 형태로 나타남
    • 근사식의 오차가 크게 나타남
  • 2차 식으로 근사 시
    • 그래프의 오차는 다소 줄어듦
    • 구간 접점의 문제는 해결 x
  • n차 미분이 가능할수록 구간별 연결이 부드럽지만, 과할 경우 진동 문제 존재

Cubic Spline Condition

  • 3차 다항식 aj+bj(xxj)+cj(xxj)2+dj(xxj)3a_j+b_j(x-x_j)+c_j(x-x_j)^2+d_j(x-x_j)^3를 구간별로 분할한 함수 S, S1, ..., Sj,Sj+1, Sn2, Sn1S,\ S_1,\ ...,\ S_j, S_{j+1},\ S_{n-2},\ S_{n-1}
  • 각 구간별 함수의 접점이 연속(Piecewise)할 것을 요구
  • 연결점에서 연속되기 위한 조건 (for all j=0, 1, .. ,n-1)
    • Sj(xj+1)=f(xj)S_j(x_{j+1})=f(x_j)
    • Sj+1(xj+1)=f(xj+1)S_{j+1}(x_{j+1})=f(x_{j+1})
    • 1차 미분 : Sj=Sj+1S'_j=S'_{j+1}
    • 2차 미분 : Sj=Sj+1S''_j=S''_{j+1}
  • 전체 함수의 개수가 갖는 계수는 총 4n개이므로
    • 2n개의 함수 연속 조건
    • n-1개의 1, 2차 미분 연속 조건
    • 총 4n-2개의 연속 조건을 갖게 됨 (2개가 더 있어야 계수의 계산이 가능)
    • 이를 위해 2개 조건을 더 추가 (Boudary Condition)
  • Natural Boundary Condition : S(x0)=S(xn)=0S''(x_0)=S''(x_n)=0 (기울기는 있으나 휨은 없음)
    • free boudary condition이 있는 곡선을 natural spline이라고 함
  • ex. (1, 2), (2, 3), (3, 5)를 지나는 natural cubic spline을 구할 것
    • [1, 2]의 구간에서 S0(x)=a0+b0(x1)+c0(x1)2+d0(x1)3S_0(x)=a_0+b_0(x-1)+c_0(x-1)^2+d_0(x-1)^3
    • [2, 3]의 구간에서 S1(x)=a1+b1(x2)+c1(x2)2+d1(x2)3S_1(x)=a_1+b_1(x-2)+c_1(x-2)^2+d_1(x-2)^3
    • f(1)=2=a0, f(2)=3=a0+b0+c0+d0f(1) = 2 = a_0,\ f(2)=3=a_0+b_0+c_0+d_0
    • f(2)=3=a1, f(3)=5=a1+b1+c1+d1f(2) = 3 = a_1,\ f(3)=5=a_1+b_1+c_1+d_1
    • S0(2)=S1(2)b0+2c0+3d0=b1S'_0(2)=S'_1(2)\rarr b_0+2c_0+3d_0=b_1
    • S0(2)=S1(2)2c0+6d0=2c1S''_0(2)=S''_1(2)\rarr 2c_0+6d_0=2c_1
    • natural boundary condition
      • S0(1)=02c0=0S_0''(1)=0\rarr 2c_0=0
      • S1(3)=02c1+6d1=0S_1''(3)=0\rarr 2c_1+6d_1=0

  • Cubic Spline의 계수 찾기

  • (xxj)=hj(x-x_j) = h_j로 정의

    • aj+1=aj+bjhj+cjhj2+djhj3a_{j+1}=a_j+b_jh_j+c_jh_j^2+d_jh_j^3
    • bj+1=bjhj+2cjhj+3djhj2b_{j+1}=b_jh_j+2c_jh_j+3d_jh_j^2
    • cj+1=cj+3djhjc_{j+1}=c_j+3d_jh_j
  • cj,cj+1c_j, c_{j+1}을 안다고 할 때

    • aj+1=aj+bjhj+hj23(2cj+cj+1)a_{j+1}=a_j+b_jh_j+\frac{h_j^2}{3}(2c_j+c_{j+1})
    • bj+1=bj+hj(cj+cj+1)b_{j+1}=b_j+h_j(c_j+c_{j+1})
    • b에 대해 정리하면 bj=1hj(aj+1aj)hj3(2cj+cj+1)b_j=\frac{1}{h_j}(a_{j+1}-a_j)-\frac{h_j}{3}(2c_j+c_{j+1})
      • bj1b_{j-1}에 대해 bj1=1hj1(ajaj1)hj13(2cj1+cj)b_{j-1}=\frac{1}{h_{j-1}}(a_{j}-a_{j-1})-\frac{h_{j-1}}{3}(2c_{j-1}+c_j)
      • 식을 정리하면 bj=bj1+hj1(cj1+cj)b_j=b_{j-1}+h_{j-1}(c_{j-1}+c_j)
  • bjbj1b_j-b_{j-1}을 대입하여 정리하면
    hj1cj1+2(hj1+hj)cj+hjcj+1=3hj(aj+1aj)3hj1(ajaj1)\rarr h_{j-1}c_{j-1}+2(h_{j-1}+h_j)c_j+h_jc_{j+1}=\frac{3}{h_j}(a_{j+1}-a_j)-\frac{3}{h_{j-1}}(a_j-a_{j-1})

    • a, h값을 알면 c를 계산 가능
    • a, c를 이용하여 b 계산 : bj=1hj(aj+1aj)hj3(2cj+cj+1)b_j=\frac{1}{h_j}(a_{j+1}-a_j)-\frac{h_j}{3}(2c_j+c_{j+1})
    • c, h를 이용하여 d 계산 : cj+1=cj+3djhjc_{j+1}=c_j+3d_jh_j
728x90
728x90
Secant Method

Secant Method

  • newton method : pn=pn1f(pn1)f(pn1)p_n=p_{n-1}-\frac{f(p_{n-1})}{f'(p_{n-1})}
  • secant method : newton method의 미분항(f')를 근사
    • f(pn)f(pn)f(pn1)pnpn1f'(p_n)\simeq\frac{f(p_n)-f(p_{n-1})}{p_n-p_{n-1}}
    • pn+1=pnf(pn)pnpn1f(pn)f(pn1)\Rarr p_{n+1}=p_n-f(p_n)\cdot\frac{p_n-p_{n-1}}{f(p_n)-f(p_{n-1})}
    • 장점 : 미분항이 없음 = 개발 시 용이
    • 단점 : 초반 point 수가 두개 (pn, pn1p_n,\ p_{n-1}), newton method보다는 느림

False Position (Ragula Falsi)

  • 기존의 Secant method는 계산에 따라 진동하면서 수렴할 위험 존재
  • 두번째 point인 p1p_1을 계산 기준점으로 삼아 uniform하게 수렴하도록 계산

Order of Convergence

  • {pn}n=0\{p_n\}^\infty_{n=0}이 p로 수렵할 때
  • limnpn+1ppnpα=λlim_{n\rarr\infty}\frac{|p_{n+1}-p|}{|p_n-p|^{\alpha}}=\lambda에서 계수 α\alpha가 수렴 형태를 결정
    • λ\lambda : error constant
    • α=1,λ<1\alpha=1, \lambda<1 : linearly convergent
      • 식이 p=0으로 수렴한다고 할 때, limnpn+1pn=0.5lim_{n\rarr\infty}\frac{|p_{n+1}|}{|p_n|}=0.5
    • α=2\alpha=2 : quadratically convergent
      • limnpn+1pn2=0.5lim_{n\rarr\infty}\frac{|p_{n+1}|}{|p_n|^2}=0.5
    • secant method의 경우 pnp_n의 계수가 1+52\frac{1+\sqrt{5}}{2}
  • bisection method / fixed-point method
    • limnpn+1pn=λlim_{n\rarr\infty}\frac{|p_{n+1}|}{|p_n|}=\lambda : λ\lambda가 작을수록 빠른 수렴 / 0.5면 bisection
    • pnλ2p0|p_n|\simeq\lambda^2|p_0|
  • newton method
    • limnpn+1pn2=λlim_{n\rarr\infty}\frac{|p_{n+1}|}{|p_n|^2}=\lambda
    • pnλ2n1p02n1|p_n|\simeq\lambda^{2^n-1}|p_0|^{2^n-1}
728x90
728x90
Newton's Method

Newton's Method

  • Fixed Point method의 특별 case(가장 빠른 수렴)
  • newton method가 불가능한 경우 보통 bisection method 사용 (fixed point method는 상대적으로 잘 쓰이지 않음)

  • Taylor Polynomal
    • 계산된 fixed point p에 대해서
    • f(p)=f(p0)+(pp0)f(p0)+(pp02)2f(ζ(p))f(p)=f(p_0)+(p-p_0)f'(p_0)+\frac{(p-p_0^2)}{2}f''(\zeta(p))
    • ζ(p)\zeta(p)는 p~p0 사이엥 위치
  • p가 f(x)의 근이면 f(p)=0
    • 이 경우 0=f(p0)+(pp0)f(p0)+(pp0)22f(ζ(p))0=f(p_0)+(p-p_0)f'(p_0)+\frac{(p-p_0)^2}{2}f''(\zeta(p))
    • 2차항은 error 취급 : 0f(p0)+(pp0)f(p0)0\simeq f(p_0)+(p-p_0)f'(p_0) (p : 근사해)
    • p에 대해 정리하면 pp0f(p0)f(p0)p1p\simeq p_0-\frac{f(p_0)}{f'(p_0)}\equiv p_1
  • Newton's method
    • pn=pn1f(pn1)f(pn1)(n1)p_n=p_{n-1}-\frac{f(p_{n-1})}{f'(p_{n-1})}(n\geq1)을 반복하여 근사해로 수렴
    • 이때 pn=g(pn1)p_n=g(p_{n-1})이므로, g(pn1)=pn1f(pn1)f(pn1)g(p_{n-1})=p_{n-1}-\frac{f(p_{n-1})}{f'(p_{n-1})}로 표기할 수도 있다.
    • 곡선의 근을 구하기가 힘들다는 점에서 곡선에 접하는 접선의 근을 반복적으로 계산하여 곡선의 근으로 수렴한다.
  • 장점 : 매우 빠른 수렴
  • 단점 : 적절한 point 선정 필요 / 실제 개발 시 미분을 요구하므로 계산이 복잡해짐
  • Convergence theorem
    • 위 식에서 g(x)=xf(x)f(x)g(x)=x-\frac{f(x)}{f'(x)}
    • Converence rate : g(x)=f(x)f(x)[f(x)]2g'(x)=\frac{f(x)f''(x)}{[f'(x)]^2}
    • 고정점에서 f(p)=0이므로 newton's method의 수렴 속도는 0으로 수렴 (매우 빠르다)
728x90

+ Recent posts