제곱 슈퍼 루트 함수에는 어떤 근사법이 있습니까?


17

의 역에 대한 근사 , 즉 제곱 슈퍼 루트 (ssrt) 함수 를 구현해야 합니다. 예를 들어, 은 합니다. 파워 시리즈를 사용하는보다 간단한 접근 방식과 달리 옵션이 무엇인지 이해하는 데있어 특정 정확도 / 비트 깊이에 관심이 없습니다.xxssrt(2)1.561.561.562

Wolfram Alpha는 Lambert W 함수 측면에서 훌륭한 상징적 솔루션 을 제공 합니다 (예 : ). 위키는 범 같은 식 뿐만 아니라 등가 . [1] [2] 계산에 대한 합리적인 양의 정보가 있다고 가정하면 기술적 으로는 다양한 요구 사항에 맞는 것을 구현하는 데 필요한 모든 입니다. [3] [4] 근사화에 대해 자세히 설명하는 두 권 이상의 책을 알고 있으므로 해당 방향에서 최적화 할 공간이 충분합니다.ln(x)/W(ln(x))eW(ln(x))W(x)ln(x)

그러나 두 가지 질문이 있습니다.

  1. 이 함수와 관련된 근사 기법이 어디에나 게시되어 있습니까?
  2. "제곱 슈퍼 루트"외에 다른 이름으로 참조를 찾는 것이 더 쉬워 집니까?

Wikipedia / Google은 를 특수한 경우로 포함하는보다 일반적인 "테트 레이션"기능에 대한 참고 문헌을 작성 했지만 대부분은 일반적인 경우를 탐색 / 정의하는 데 더 적합한 것으로 보입니다.ssrt(x)

-

  1. 코러스, R .; Gonnet, G .; 헤어, D .; 제프리, D .; 크 누스, 도널드 (1996), "램버트 W 기능" http://www.apmaths.uwo.ca/~djeffrey/Offprints/W-adv-cm.pdf
  2. 디지털 수학 함수 라이브러리 . http://dlmf.nist.gov/4.13
  3. Crenshaw, Jack W. (2000), 실시간 프로그래밍을위한 Math 툴킷.
  4. Hart, John F. (1978), Computer Approximations.
  5. Chapeau-Blondeau, F. 및 Monir, A. (2002). Lambert W 함수의 수치 평가 및 지수가 1/2 인 일반화 된 가우스 잡음 생성에 적용 신호 처리에 관한 IEEE 트랜잭션 50, 2160-2165. http://www.istia.univ-angers.fr/~chapeau/papers/lambertw.pdf
  6. 미네로, 폴 빠른 램버트 W 대략적인 . http://www.machinedlearnings.com/2011/07/fast-approximate-lambert-w.html

-

최신 정보

지난 며칠 동안 더 많은 연구를 한 후에도 여전히 "Crenshaw 스타일"의 종류를 찾지 못했습니다. 내가 기대 치료법을 찾았지만 여기에 문서화 할 가치가있는 새로운 참조. 3 페이지에 "Fast Approximation"이라는 제목의 섹션이 있으며 노이즈 생성과 관련하여 를 근사화하는 방법에 대해 자세히 설명 합니다. 흥미로운 점으로, 논문에서 "지수 1/2의 가우스 잡음"의 확률 밀도는 신호 클리핑 탐지에 대한이 질문에 대한 Kellenjb 의 답변 의 히스토그램과 놀랍도록 유사하게 보입니다 .[3]ssrt(x)[5]W(x)

또한 의견 에 rwong 이 제공 한 링크 는 실제로 구현하는 데 유용한 리소스이며 , fastapprox 라는 저작자의 BSD 라이센스 프로젝트 (링크 된 설명 포함) 에도 링크됩니다 .[6]W(x)



2
댓글 필드는 확장 된 토론을위한 것이 아니기 때문에 메타에 대해이 질문을했습니다. 여기에서 이러한 질문을 처리하는 방법을 제안하십시오. 수치 분석에 대한 질문은 주제입니까?

@datageist-메타 질문의 초기 결론은이 수치 분석을 사용하여 DSP 데이터를 처리하려는 경우 주제에 관한 것입니다. 그렇지 않다면 그렇지 않습니다. 이것이 DSP와 어떤 관련이 있습니까?
Kevin Vermeer

2
@Kevin 그것은 오디오 효과를 개발하는 맥락에서 나타났습니다.
datageist

1
Lambert 함수에 대한 루틴을 작성해야 할 때마다 보통 이 백서에 제시된 근사값을 사용한 다음 Newton-Raphson, Halley 또는 기타 반복적 인 방법으로 정리합니다. 당신은 반전을 위해이 방법을 적용 할 수 ...xx

답변:


6

어둠 속의 일부 수치 찌르기는 반복적 인 접근 방식으로 다음을 산출했습니다.

우리는 해결책 y = f (x), 여기서 y ^ y = x를 찾고 있습니다.

ylny=lnx

y=g(x,y)=elnxy

의 값 은 위의 방정식의 고정 점이며 경험적으로 x의 일부 값에 대해 수렴하는 것처럼 보이지만 더 큰 x의 값에 대해서는 진동하거나 발산합니다.yxx

그런 다음 Newton의 반복 제곱근과 비슷한 접근법을 시도했습니다.

y=yprevious+y2=y+elnxy2

여기서 y *는 정확한 초기 값 (제곱근 y 2 = x에서 y * = x / y) 을 추측 할 경우 정확도를 유지하는 비 수렴형이지만 낙관적 답변을 나타냅니다 .

이것은 수렴하는 것처럼 보이지만 가장 낮은 끝에서 매우 느리게 나타납니다 ( x m i n = ( 1 근처)x )xmin=(1e)1e

초기 추측은 .y0=ln(x)+1

그래서 더 나은 수렴 솔루션이 있다고 생각했습니다.

y=(1a)×y+a×g(x,y)ax

그런 다음 흥미로운 것을 발견했습니다.

yyy=xy2=g(x,y+ϵ)=eln(x)y+ϵy2yϵ×(ln(y))y1=y+ϵϵy2=g(x,y1)(y2y)ϵ×(ln(y))=(y1y)×(ln(y))

yy=y2+ln(y)×y11+ln(y)ln(y1)ln(y)

y[n+1]=g(x,y[n])+ln(y[n])×y[n]1+ln(y[n])=eln(x)y[n]+ln(y[n])×y[n]1+ln(y[n])

y=1+ln(x)

(아마도 이것이 어떤 식 으로든 Newton-Raphson과 동등하다는 것을 보여줄 수는 있지만 내 능력을 넘어서는 것으로 생각합니다.)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.