2006년 5월 2일 화요일

[NA]Numerical Analysis, Ch.3.5 ~ 4

3.5. Parametric curves
. x(t), y(t)에 대해 각각 풀면 된다.
. Bezier curve : guide point 2개를 이용하여 cubic Hermite를 푼다.
  . Hermite를 위한 x'(t), y'(t)는 guide point를 이용한 numerical difference formula를 이용한다.
  . Guide point의 부호가 반대이므로 주의
. (x0, y0), guide point1, guide point2, (x1, y1)

4. Numerical Differentiation and Integration
4.1. Forward difference formula
  f'(x) = 1/h * (f(x+h) - f(x))
. backward difference formula
  f'(x) = 1/h * (f(x) - f(x-h))

. centered formula
  f(x+h), f(x-h), f(x) 등이 symmetric(대칭적)으로 들어간다.

. n-th order : 에러 term이 h의 h-th order이면 된다.
  . 1th order : h*f''(x) + 등..
  . 2th order : h^2*f''(x) +  등..

. 식 유도 방법
  방법1) Lagrange를 이용한 후 미분한다. - 책에 소개된 방법
  x0 ~ xn의 점을 이용하여 n-th lagrange interpolation을 이용하면
  (n+1)-point formula가 된다.

  방법2) Taylor series를 이용한 후 error order를 잘 소거하는 방향으로 더하거나 뺀다.
  - 수업시간과 시험에 나오는 방법
 
4.2. Richardson's Extrapolation(R.E)
  . Low-order formula를 잘 이용해서 high-accuracy를 구하는 방법
  . function evaluation보다 사칙연산의 cost가 훨씬 적다고 가정한다.
  . h -> h/2 등으로 step size를 줄이면서 계산
  (연습 문제에서는 h/3 씩 줄이기도 함.)
  . M = N(h) + k1h + k2h^2 + k3h^3 + k4h^4 +
  . M : 참값
  . N(h) : 근사식
  . N1(h), N1(h/2)을 이용하여 N2(h)를 만듬.
  . N1(h/(2^n))이 있으면 Nn(h)까지 만들 수 있음.
  . Simple averaging process

4.3. Numerical Integration
  . Quadrature = Integration = Numerical Integration
  . Quadrature은 integration의 옛날 이름이다.
  . Deviation은 역사가 몇백년이지만 Integration은 역사가 수천년이다.

  . Trapezoidal Rule(TR, T.R)
  . first Lagrange Polymial로 유도가능
  . h/2 * (f(a) + f(b))
  . h = (b-a)
  . error : h^3/12*f''(x)

  . Simpson's Rule(SR, S.R)
  . second Lagrange Polymial로 유도가능
  . h/3 * (f(a) + f((a+b)/2) + f(b))
  . h = (b-a)/2
  . error : h^5/90*f(4)(x)

  . Degree of accuracy = precision
  . Undetermined coefficient와 관련있다.
  . degree가 k이면 각 degree polynomial에서 formula가 정확하다.
  . Trapezoidal Rule은 1, Simpson's Rule은 3이다.
  . TR은 1차식, SR은 3차식에 대해 각각 exact solution을 준다.

  . Undetermined coefficient
  . 구간이 -1, 1처럼 숫자일때는 c0, c1이 1/2, 1/2 같은 수로 나오지만
     x0, x1일 때는 c0 = c1 = (x1-x0)/2로 나온다. (test2에서 내가 실수한 문제)

  . Newton-Cotes formulas
  . TR, SR의 일반식, lagrange를 이용.
  . Open Newton-Cotes formulas
  . boundary a,b가 포함됨
  . closed Newton-Cotes formulas
  . boundary a,b가 포함 안됨

4.4 Composite Numerical Integration
  . High-order는 oscillatory nature가 있으므로 piece-wise로 한다.

  . Composite Trapezoidal Rule(CTR, C.T.R)
  . error : (b-a)*h^2/12*f''(x)

  . Composite Simpson's Rule(CSR, C.S.R)
  . error : (b-a)*h^4/180*f(4)(x)

4.5 Romberg Integration
  . Composite Trapezoidal Rule + Richardson's Extrapolation
  . R1,1 = TR
  . R2,1 = 1/2(R1,1 + h * 1개)
  . R3,1 = 1/2(R1,1 + h/2 * 2개)
  . R4,1 = 1/2(R1,1 + h/2 * 4개)

  . R1,1, R1,2 => R2,2 (R2,1은 없으므로 주의 항상 k>=j)
  . Rk,2 = Rk,1, Rk-1, 1을 이용해서 구한다.
  . Rk,j = Rk,j-1 + (Rk,j-1 - Rk-1,j-1)/(4^(j-1)-1)

  . Rk, j : k : h를 1/2씩 줄인다, j : RE의 항
  . Rn, n : TR일때 h^(2*n)의 accuracy(order)를 가진다.

4.6 Adaptive Quadrature Methods
  . 1/2, 1/4로 step을 줄여 계산하고 값의 오차가 큰 경우 그 구간은 다시 1/2로 나눈다.
  . 오차가 만족스럽거나 구간이 충분이 좁을 때까지 반씩 나누면서 연산을 계속한다.
  . 변화량이 큰 구간은 잘게 쪼개고, 변화가 없는 구간은 적게 쪼개는 계산법.

4.7 Gaussian Quadrature
  . 구간을 잘 쪼게거나 하는 것이 아니라 구간의 boundary의 점이 아닌
  가운데 있는 점들을 선택해보자. 어떤 것이 optimal point일까?
  (choose the points for evaluation in an optimal)
. Gaussian Quadrature
  . http://en.wikipedia.org/wiki/Gaussian_quadrature
  . Newton-Cotes formulas의 error term은 n+1 derivative로 정의되므로
  polynomial of degree n에 대해서는 exact하다.
  . Newton-Cotes formulas : equally spaced points 사용
  . composite시 편하지만 accuracy가 떨어진다.
  . Optimal placement를 해보자.

  . Undetermined Coefficient constant를 구하는 방법으로
  c1, c2, ..., cn, x1, x2, ..., xn을 구한다.

. Legnedre polynomials
  . P0(x) = 1
  . P1(x) = x
  . P2(x) = x^2 - 1/3
  . P3(x) = x^3 - 3/5x
  . Monic polynomial : have leading coefficient 1
  . Orthogonal polynomials
  . intgral(-1 to 1, P(x)Pn(x)dx) = 0 where P(x) is a polynomial of degree less than n.
  . xi를 알면, xi를 lagrange interpolate한 후 -1 to 1으로 적분하면 ci를 구할 수 있다.

. Multiple Integrals
  . Region이 rectangle일 때
   x축에 대해서 한 번 계산하고 y축에 대해서 또 계산하면 된다.

. Improper Integral
  . I = int(a..b, f(x))
  . lim x->a, f(x) = inf
  . a에서 diverge하지만 area는 converge한다고 가정하자.
  . TR, SR 등 기존의 방법은 사용할 수 없다.
   왜냐하면 f(a) = inf 이기 때문에 값이 inf(nan : not a number)로 나온다.
  . Gaussian Quadrature는 가능할 수도 있다. (f(a)를 얻지 않으므로)
   하지만 운이 좋을 때 뿐이고 값이 커지면 이상해 질 수 있다.

  . int(a..b, 1/(x-a)^p) = (b-a)^(1-p)/(1-p) (0<p<1 iff converge)
  . f(x) = g(x)/(x-a)^p로 쓸 수 있으면
  . P4(x) = 4th taylor Polynomial of f(x)
  . P4(x) = g(a) + (x-a)g'(a) + 1/2*(x-a)^2*g''(a) + 1/6*(x-a)^3*g'''(a)
           + 1/24*(x-a)^4*g''''(a)
  . int(a..b, f(x))
   = int(a..b, g(x)/(x-a)^p)
   = int(a..b, (g(x)-P4(x))/(x-a)^p) + int(a..b, (P4(x))/(x-a)^p)
  . G(x) = (g(x)-P4(x))/(x-a)^p  (a<x<=b)
        = 0  (x = a)
  . int(a..b, (P4(x))/(x-a)^p) 부분은 CSR로 푼다.

  . Why 4th taylor Polynomial?
   . CSR과 P4(4)의 error term의 order를 같게 맞추기 위해서이다.
   . 5th order로 같아진다.

댓글 없음:

댓글 쓰기