• 제목/요약/키워드: 뉴톤-랍손 알고리즘

검색결과 4건 처리시간 0.017초

개선된 뉴톤-랍손 역수 및 역제곱근 알고리즘 (An Improved Newton-Raphson's Reciprocal and Inverse Square Root Algorithm)

  • 조경연
    • 한국정보통신학회논문지
    • /
    • 제11권1호
    • /
    • pp.46-55
    • /
    • 2007
  • 다음은 부동소수점 역수 및 역제곱근 계산에 많이 사용하는 뉴톤-랍손 알고리즘은 일정한 횟수의 곱셈을 반복하여 계산한다. 본 논문에서는 뉴톤-랍손 알고리즘의 반복 과정의 오차를 예측하여 오차가 정해진 값보다 작아지는 시점까지 반복 연산하는 개선된 뉴톤-랍손 알고리즘을 제안한다. 본 논문에서 제안한 알고리즘은 입력 값에 따라서 곱셈 횟수가 다르므로, 평균 곱셈 횟수를 계산하는 방식을 유도하고, 여러 크기의 근사 테이블에서 단정도실수 및 배정도실수의 역수 및 역제곱근 계산에 필요한 평균 곱셈 횟수를 산출한다. 이들 평균 곱셈 횟수를 종래 알고리즘과 비교하여 본 논문에서 제안한 알고리즘의 우수성을 증명한다. 본 논문에서 제안한 알고리즘은 오차가 일정한 값보다 작아질 때까지만 반복 연산을 수행하므로 역수 및 역제곱근 계산기의 성능을 높일 수 있고 최적의 근사 테이블을 구성할 수 있다. 본 논문의 연구 결과는 디지털 신호처리, 컴퓨터 그라픽스, 멀티미디어, 과학 기술 연산 등 부동소수점 계산기가 사용되는 분야에서 폭 넓게 사용될 수 있다.

32 비트 곱셈기를 사용한 뉴톤-랍손 배정도실수 역수 계산기 (Newton-Raphson's Double Precision Reciprocal Using 32 bit multiplier)

  • 조경연
    • 한국산업정보학회논문지
    • /
    • 제18권6호
    • /
    • pp.31-37
    • /
    • 2013
  • 최근 그래픽 프로세서, 멀티미디어 프로세서, 음성처리 프로세서 등에서 부동소수점이 주로 사용된다. C, Java 등 고급언어에서는 단정도실수와 배정도실수를 사용하고 있다. 본 논문에서는 32 비트 곱셈기를 사용하여 배정도실수의 역수를 계산하는 알고리즘을 제안한다. 배정도 실수 가수를 상위 부분과 하위 부분으로 나누고, 상위 부분의 역수를 뉴턴-랍손 알고리즘으로 계산한다. 그리고 이를 초기값으로 하여 배정도실수의 역수를 계산한다. 제안한 알고리즘은 입력값에 따라서 곱셈 횟수가 다르므로, 평균 곱셈 횟수를 계산하는 방식을 유도하고, 여러 크기의 근사 역수 테이블에서 평균 곱셈 횟수를 계산한다.

가변 시간 뉴톤-랍손 부동소수점 역수 제곱근 계산기 (A Variable Latency Newton-Raphson's Floating Point Number Reciprocal Square Root Computation)

  • 김성기;조경연
    • 정보처리학회논문지A
    • /
    • 제12A권5호
    • /
    • pp.413-420
    • /
    • 2005
  • 부동소수점 제곱근 계산에 많이 사용하는 뉴톤-랍손 부동소수점 역수 제곱근 알고리즘은 일정한 횟수의 곱셈을 반복하여 역수 제곱근을 계산한다. 본 논문에서는 뉴톤-랍손 역수 제곱근 알고리즘의 반복 과정의 오차를 예측하여 오차가 정해진 값보다 작아지는 시점까지 반복 연산하는 알고리즘을 제안한다. `F`의 역수 제곱근 계산은 초기값 '$X_0={\frac{1}{\sqrt{F}}}{\pm}e_0$'에 대하여, '$X_{i+1}=\frac{{X_i}(3-e_r-{FX_i}^2)}{2}$, $i\in{0,1,2,{\ldots}n-1}$'을 반복한다. 중간 곱셈 결과는 소수점 이하 p 비트 미만을 절삭하며, 절삭 오차는 '$e_r=2^{-p}$' 보다 작다. p는 단정도실수에서 28, 배정도실수에서 58이다. '$X_i={\frac{1}{\sqrt{F}}}{\pm}e_i$'라고 하면 '$X_{i+1}={\frac{1}{\sqrt{F}}}-e_{i+1}$, $e_{i+1}{<}{\frac{3{\sqrt{F}}{{e_i}^2}}{2}}{\mp}{\frac{{Fe_i}^3}{2}}+2e_r$이 된다. '$|{\frac{\sqrt{3-e_r-{FX_i}^2}}{2}}-1|<2^{\frac{\sqrt{-p}{2}}}$'이면,'$e_{i+1}<8e_r$이 부동소수점으로 표현 가능한 최소값보다 작아지며, '$X_{i+1}\fallingdotseq{\frac{1}{\sqrt{F}}}$'이다. 본 논문에서 제안한 알고리즘은 입력 값에 따라서 곱셈 횟수가 다르므로, 평균 곱셈 횟수를 계산하는 방식을 도출하고, 여러 크기의 근사 역수 제곱근 테이블($X_0={\frac{1}{\sqrt{F}}}{\pm}e_0$)에서 단정도실수 및 배정도실수의 역수 제곱근 계산에 필요한 평균 곱셈 횟수를 계산한다 이들 평균 곱셈 횟수를 종래 알고리즘과 비교하여 본 논문에서 제안한 알고리즘의 우수성을 증명한다. 본 논문에서 제안한 알고리즘은 오차가 일정한 값보다 작아질 때까지만 반복하므로 역수 제곱근 계산기의 성능을 높일 수 있다. 또한 최적의 근사 역수 제곱근 테이블을 구성할 수 있다. 본 논문의 연구 결과는 디지털 신호처리, 컴퓨터 그라픽스, 멀티미디어, 과학 기술 연산 등 부동소수점 계산기가 사용되는 분야에서 폭 넓게 사용될 수 있다.

가변 시간 뉴톤-랍손 부동소수점 역수 계산기 (A Variable Latency Newton-Raphson's Floating Point Number Reciprocal Computation)

  • 김성기;조경연
    • 정보처리학회논문지A
    • /
    • 제12A권2호
    • /
    • pp.95-102
    • /
    • 2005
  • 부동소수점 나눗셈에서 많이 사용하는 뉴톤-랍손 부동소수점 역수 알고리즘은 일정한 횟수의 곱셈을 반복하여 역수를 계산한다. 본 논문에서는 오차가 정해진 값보다 작아질 때까지 곱셈을 반복해서 역수를 계산하는 가변 시간 뉴톤-랍손 부동소수점 역수 알고리즘을 제안한다. 'F'의 역수 계산은 초기값 $'X_0=\frac{1}{F}{\pm}e_0'$에 대하여, $'X_{i+1}=X=X_i*(2-e_r-F*X_i),\;i\in\{0,\;1,\;2,...n-1\}'$을 반복한다. 중간 곱셈 견과는 소수점 이하 p비트 미만을 절삭하며, 절삭 오차는 $'e_r=2^{-p}'$보다 작다. p는 단정도실수에서 27, 배정도실수에서 57이다. $'X_i=\frac{1}{F}+e_i{'}$라 하면 $'X_{i+1}=\frac{1}{F}-e_{i+1},\;e_{i+1}이 된다. $'\mid(2-e_r-F*X_i)-1\mid<2^{\frac{-p+2}{2}}{'}이면, $'e_{i+1}<4e_r{'}$이 부동산소수점으로 표현 가능한 최소값보다 작이지며, $'X_{i+1}\fallingdotseq\frac{1}{F}'$이다. 본 논문에서 제안한 알고리즘은 입력 값에 따라서 곱셈 횟수가 다르므로, 평균 곱셈 횟수를 계산하는 방식을 유도하고, 여러 크기의 근사 역수 테이블$(X_0=\frac{1}{F}{\pm}e_0)$에서 단정도실수 및 배정도실수의 역수 계산에 필요한 평균 곱셈 횟수를 계산한다. 이들 평균 곱셈 횟수를 종래 알고리즘과 비교하여 본 논문에서 제안한 알고리즘의 우수성을 증명한다. 본 논문에서 제안한 알고리즘은 오차가 일정한 값보다 작아질 때까지만 반복 연산을 수행하므로 역수 계산기의 성능을 높일 수 있다. 또한 최적의 근사 역수 테이블을 구성할 수 있다. 본 논문의 연구 결과는 디지털 신호처리, 컴퓨터 그라픽스, 멀티미디어, 과학 기술 연산 등 부동소수점 계산기가 사용되는 분야에서 폭 넓게 사용될 수 있다.