Kare süper kök işlevi için hangi yaklaşım teknikleri vardır?


17

Ben xx , yani kare süper kök (ssrt) işlevinin tersine bir yaklaşım uygulamak gerekir . Örneğin, ssrt(2)1.56 , anlamına gelir 1.561.562. Güç serilerini kullanan daha basit yaklaşımların aksine, seçeneklerimin ne olduğunu anladığım kadarıyla belirli bir doğruluk / bit derinliği ile ilgilenmiyorum.

Wolfram Alpha , Lambert W işlevi (yani ln ( x ) / W ( ln ( x ) ) ) açısından hoş bir sembolik çözüm sunar . Ara veren aynı formül ve aynı zamanda denk E W ( ln ( x ) ) . W ( x ) [1] [2] hesaplaması hakkında makul miktarda bilgi olduğu göz önüne alındığında , teknik olarak bir şeyi uygulamak için gereken her şeyln(x)/W(ln(x))eW(ln(x))W(x)çeşitli gereksinimler için. [3] [4] 'e yaklaşmak hakkında kapsamlı ayrıntılara giren en az iki kitap biliyorum , bu yüzden bu yönden optimize etmek için bolca yer var.ln(x)

Ancak, iki sorum var:

  1. Bu işleve özgü yaklaşım teknikleri herhangi bir yerde yayınlandı mı?
  2. Referansların aranmasını biraz daha kolaylaştıracak "kare süper kök" dışında başka bir isim kullanıyor mu?

Vikipedi / Google içeren daha genel "tetrasyon" işlevleri adanmış bazı referanslar yukarı döndü özel bir durum olarak, ancak bunların çoğu daha genel durumları belirleyen / keşfetmek için dişli gibi görünüyor.ssrt(x)

-

  1. Çekirdeksiz, R .; Gonnet, G .; Hare, D .; Jeffrey, D .; Knuth, Donald (1996), "Lambert W işlevi hakkında" http://www.apmaths.uwo.ca/~djeffrey/Offprints/W-adv-cm.pdf
  2. Matematiksel Fonksiyonların Sayısal Kütüphanesi . http://dlmf.nist.gov/4.13
  3. Crenshaw, Jack W. (2000), Gerçek Zamanlı Programlama için Matematik Araç Seti.
  4. Hart, John F. (1978), Bilgisayar Yaklaşımı.
  5. Chapeau-Blondeau, F. ve Monir, A. (2002). Lambert W fonksiyonunun sayısal değerlendirilmesi ve üs 1/2 ile genelleştirilmiş Gauss gürültüsünün üretilmesine uygulama. Sinyal İşlemede IEEE İşlemleri 50, 2160-2165. http://www.istia.univ-angers.fr/~chapeau/papers/lambertw.pdf
  6. Minero, Paul. Hızlı Lambert W Yaklaşık olarak . http://www.machinedlearnings.com/2011/07/fast-approximate-lambert-w.html

-

Güncelleme

Son birkaç gün içinde biraz daha araştırma yaptıktan sonra, hala hands-on "Crenshaw tarzı" tür bulamadı tedavi s adlı lar r t ( x ) Beklediğim, ama yeni bir buldunuz burada belgelemeye değer referans. [ 5 ] ' in üçüncü sayfasında , "Hızlı Yaklaşım" başlıklı bir bölüm vardır ve bu gürültü oluşumu bağlamında W ( x )' yi yaklaştırmakla ilgili çok ayrıntıya girer . İlginç bir yanı olarak, [makalede] üssü olan "Gauss gürültüsü" olasılık yoğunluğu, Kellenjb'in cevabındaki histograma çarpıcı bir şekilde benzemektedir .[3]ssrt(x)[5]W(x) sinyal kırpma algılama konusunda bu soruyu .

Ek olarak, rwong tarafından yorumlarda verilen bağlantı , W ( x ) 'nin gerçekte uygulanması için harika bir kaynaktır ve hatta yazarın , açıklanan uygulamayı içeren fastapprox adlı BSD lisanslı projesine bağlanır .[6]W(x)



2
Bunu Meta'da sordum, çünkü yorumlar alanı genişletilmiş tartışmalar için değildir. Lütfen şu soruları burada nasıl ele almamız gerektiğini önerin: Sayısal analiz hakkındaki sorular konuyla ilgili mi?

@datageist - Meta sorunun ilk sonucu, DSP verilerini işlemek için bu sayısal analizi kullanmak istiyorsanız, o zaman konu üzerine olmasıdır. Değilse, o zaman değil. Bunun DSP ile ilişkisi nedir?
Kevin Vermeer

2
@Kevin Bir ses efekti geliştirme bağlamında ortaya çıktı.
datageist

1
Lambert fonksiyonu için bir rutin yazmam gerektiğinde, genellikle bu makalede verilen yaklaşımları kullanır ve daha sonra Newton-Raphson, Halley veya başka bir yinelemeli yöntemle parlatırım. Bu yaklaşımı ters çevirme için uyarlayabilirsiniz ...xx

Yanıtlar:


6

Karanlıktaki bazı sayısal bıçaklar, yinelemeli bir yaklaşım için aşağıdakileri verdi:

Y ^ y = x olan y = f (x) çözümünü arıyoruz.

ylny=lnx

y=g(x,y)=elnxy

Değeri yukarıdaki denklemin bir sabit nokta ve ampirik olarak bu bazı değerler için konverjans görünüyor x , ancak daha büyük değerler için xyxx o salınır veya ıraksar.

Sonra Newton'un yinelemeli kareköküne benzer bir yaklaşım denedim:

y=yprevious+y2=y+elnxy2

y * karekök y (doğru başlangıç değeri tahmin gerçekleşmesi halinde doğruluğu koruyan bir birleşmeyen fakat iyimser cevap temsil etmesi gereken yerde 2 = x, y * = x / y'dir).

Bu yakınsama gibi görünüyor, ama alt ucunda çok yavaş ( x m i n = ( 1 yakınında)xxmin=(1e)1e )

Ayrıca iyi bir ilk tahmin y0=ln(x)+1 .

Bu yüzden belki de daha iyi yakınsak bir çözüm olduğunu düşündüm:

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

Sonra ilginç bir şey buldum.

yyy=x ve sonra hesaplarsamy2=g(x,y+ϵ)=eln(x)y+ϵ, it appears as though y2y = approximately ϵ×(ln(y)).... e.g. if we had a guess y1=y+ϵ for some unknown ϵ, and computed y2=g(x,y1), then (y2y)ϵ×(ln(y))=(y1y)×(ln(y)). (Just to clarify, I have no analysis to verify this, but the numbers just popped out of some numerical evaluation I performed.)

Solve for the linear terms in y, and you get y=y2+ln(y)×y11+ln(y)... use ln(y1) in place of ln(y) and you get this iterative approximation:

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])

This appears to work very well, with the initial guess y=1+ln(x), and appears to converge within 4 or 5 iterations.

(Someone could probably show that this is equivalent to Newton-Raphson in some way, but I think it's beyond my capability.)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.