Apa teknik aproksimasi yang ada untuk fungsi super-root kuadrat?


17

Saya perlu menerapkan pendekatan ke kebalikan dari , yaitu fungsi kuadrat super root (ssrt). Misalnya, s s r t ( 2 ) 1,56 berarti bahwa 1,56 1,562 . Saya tidak tertarik pada akurasi / bit-kedalaman tertentu karena saya memahami apa pilihan saya berbeda dengan pendekatan yang lebih mudah menggunakan seri daya.xxssrt(2)1.561.561.562

Wolfram Alpha memberikan solusi simbolik yang bagus dalam hal fungsi Lambert W (yaitu ). Wikipedia memberikan rumus yang sama , serta persamaan e W ( ln ( x ) ) . Mengingat ada cukup banyak informasi tentang komputasi W ( x ) [1] [2], secara teknis itu semua yang diperlukan untuk mengimplementasikan sesuatudalam(x)/W(dalam(x))eW(dalam(x))W(x)untuk berbagai persyaratan. Aku tahu setidaknya dua buku yang masuk ke detail luas tentang mendekati [3] [4], sehingga bahkan ada banyak ruang untuk mengoptimalkan dari arah itu.dalam(x)

Namun, saya punya dua pertanyaan:

  1. Sudahkah teknik pendekatan khusus untuk fungsi ini dipublikasikan di mana saja?
  2. Apakah itu pergi dengan nama lain selain "kuadrat-root" yang akan membuat mencari referensi sedikit lebih mudah?

Wikipedia / Google telah muncul beberapa referensi yang didedikasikan untuk lebih umum "tetration" fungsi yang meliputi sebagai kasus khusus, tetapi kebanyakan dari mereka tampaknya akan lebih diarahkan untuk menjelajahi / mendefinisikan kasus umum.ssrt(x)

-

  1. Tanpa biji, R .; Gonnet, G.; Hare, D .; Jeffrey, D .; Knuth, Donald (1996), "Pada fungsi Lambert W" http://www.apmaths.uwo.ca/~djeffrey/Offprints/W-adv-cm.pdf
  2. Perpustakaan Digital Fungsi Matematika . http://dlmf.nist.gov/4.13
  3. Crenshaw, Jack W. (2000), Toolkit Matematika untuk Pemrograman Real-Time.
  4. Hart, John F. (1978), Perkiraan Komputer.
  5. Chapeau-Blondeau, F. dan Monir, A. (2002). Evaluasi numerik fungsi Lambert W dan aplikasi untuk menghasilkan derau Gaussian umum dengan eksponen 1/2. Transaksi IEEE pada Pemrosesan Sinyal 50, 2160-2165. http://www.istia.univ-angers.fr/~chapeau/papers/lambertw.pdf
  6. Minero, Paul. Cepat perkiraan Lambert W . http://www.machinedlearnings.com/2011/07/fast-approximate-lambert-w.html

-

Memperbarui

Setelah melakukan penelitian lebih lanjut dalam beberapa hari terakhir, saya masih belum menemukan jenis hands-on "Crenshaw gaya" pengobatan s s r t ( x ) aku berharap untuk, tapi aku menemukan baru referensi layak didokumentasikan di sini. Pada halaman tiga dalam [ 5 ] , ada bagian berjudul "Aproksimasi Cepat" yang menjelaskan secara detail tentang aproksimasi W ( x ) dalam konteks menghasilkan derau. Sebagai tambahan yang menarik, kepadatan probabilitas "Gaussian noise dengan eksponen 1/2" [di koran] terlihat sangat mirip dengan histogram dalam jawaban Kellenjb untuk[3]ssrt(x)[5]W(x)pertanyaan ini tentang mendeteksi kliping sinyal .

Selain itu, tautan yang diberikan oleh rwong dalam komentar adalah sumber yang bagus untuk benar-benar mengimplementasikan W ( x ) , dan bahkan tautan ke proyek berlisensi BSD penulis yang disebut fastapprox , yang mencakup implementasi yang dijelaskan.[6]W(x)



2
Saya bertanya tentang ini di Meta, karena bidang komentar tidak dimaksudkan untuk diskusi panjang. Tolong sarankan bagaimana kita harus menangani pertanyaan-pertanyaan ini di sini: Apakah pertanyaan tentang analisis numerik sesuai topik?

@datageist - Kesimpulan awal dari pertanyaan meta adalah bahwa jika Anda ingin menggunakan analisis numerik ini untuk memproses data DSP, maka itu sesuai topik. Jika tidak, maka tidak. Bagaimana hubungannya dengan DSP?
Kevin Vermeer

2
@Kevin Itu muncul dalam konteks mengembangkan efek audio.
datageist

1
Setiap kali saya perlu menulis rutin untuk fungsi Lambert, saya biasanya menggunakan perkiraan yang diberikan dalam makalah ini dan kemudian memolesnya dengan Newton-Raphson, Halley, atau metode iteratif lainnya. Anda dapat mengadaptasi pendekatan ini untuk membalik ...xx

Jawaban:


6

Beberapa penusukan numerik dalam gelap menghasilkan yang berikut untuk pendekatan berulang:

Kami sedang mencari solusi y = f (x) di mana y ^ y = x.

ydalamy=dalamx

y=g(x,y)=edalamxy

Nilai untuk adalah titik tetap dari persamaan di atas, dan secara empiris tampaknya konvergen untuk beberapa nilai x , tetapi untuk nilai x yang lebih besar berosilasi atau menyimpang.yxx

Lalu saya mencoba pendekatan yang mirip dengan iterative square-root Newton:

y=yhalrevsayaHaikamus+y2=y+edalamxy2

di mana y * seharusnya mewakili jawaban yang tidak konvergen tetapi optimis yang menjaga akurasi jika Anda menebak nilai awal yang akurat (dalam akar kuadrat y 2 = x, itu y * = x / y).

xxmsayan=(1e)1e

y0=dalam(x)+1

Jadi saya pikir mungkin ada solusi konvergen yang lebih baik:

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

Kemudian saya menemukan sesuatu yang menarik.

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])+dalam(y[n])×y[n]1+dalam(y[n])=edalam(x)y[n]+dalam(y[n])×y[n]1+dalam(y[n])

y=1+dalam(x)

(Seseorang mungkin bisa menunjukkan bahwa ini setara dengan Newton-Raphson dalam beberapa hal, tapi saya pikir itu di luar kemampuan saya.)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.