มีเทคนิคการประมาณค่าใดสำหรับฟังก์ชัน super-root


17

ฉันต้องใช้การประมาณค่ากับการผกผันของนั่นคือฟังก์ชันsquare super-root (ssrt) ยกตัวอย่างเช่นs s R T ( 2 ) 1.56หมายความว่า1.56 1.56 2 ฉันไม่สนใจความถูกต้อง / ความลึกบิตใด ๆ โดยเฉพาะในขณะที่ฉันเข้าใจว่าตัวเลือกของฉันแตกต่างจากวิธีการที่ตรงไปตรงมามากขึ้นโดยใช้ซีรีย์พลังงานxxssrt(2)1.561.561.562

Wolfram Alpha ให้ดีวิธีการแก้ปัญหาที่เป็นสัญลักษณ์ในแง่ของฟังก์ชั่นแลมเบิร์ W (เช่น ) วิกิพีเดียให้สูตรเดียวกันเช่นเดียวกับเทียบเท่าอีW ( LN ( x ) ) เนื่องจากมีข้อมูลจำนวนหนึ่งที่สมเหตุสมผลเกี่ยวกับการคำนวณW ( x ) [1] [2] ในทางเทคนิคแล้วนั่นคือทุกสิ่งที่จำเป็นในการใช้งานบางอย่างln(x)/W(ln(x))eW(ln(x))W(x)สำหรับความต้องการที่หลากหลาย ฉันรู้หนังสืออย่างน้อยสองเล่มที่มีรายละเอียดมากมายเกี่ยวกับการประมาณ [3] [4] ดังนั้นจึงมีพื้นที่เหลือเฟือที่จะปรับให้เหมาะสมจากทิศทางนั้นln(x)

อย่างไรก็ตามฉันมีสองคำถาม:

  1. มีเทคนิคการประมาณเฉพาะสำหรับฟังก์ชั่นนี้ที่ถูกเผยแพร่ทุกที่หรือไม่?
  2. มันใช้ชื่ออื่นนอกเหนือจาก "square super-root" ที่จะทำให้การค้นหาอ้างอิงง่ายขึ้นอีกนิดหรือไม่?

Wikipedia / Google ได้เปิดการอ้างอิงบางส่วนที่อุทิศให้กับฟังก์ชั่น "tetration" ทั่วไปซึ่งรวมถึงเป็นกรณีพิเศษ แต่ส่วนใหญ่ดูเหมือนจะเหมาะสำหรับการสำรวจ / กำหนดกรณีทั่วไปมากขึ้นssrt(x)

-

  1. Corless, R .; Gonnet, G .; Hare, D. .; เจฟฟรีย์, D. ; Knuth, Donald (1996), "On the Lambert W function" http://www.apmaths.uwo.ca/~djeffrey/Offprints/W-adv-cm.pdf
  2. ห้องสมุดดิจิตอลของฟังก์ชั่นทางคณิตศาสตร์ http://dlmf.nist.gov/4.13
  3. Crenshaw, Jack W. (2000), Toolkit คณิตศาสตร์สำหรับการเขียนโปรแกรมแบบเรียลไทม์
  4. ฮาร์ตจอห์นเอฟ (1978) คอมพิวเตอร์ประมาณ
  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. Minero, Paul ประมาณจานแลมเบิร์ W http://www.machinedlearnings.com/2011/07/fast-approximate-lambert-w.html

-

ปรับปรุง

หลังจากทำการวิจัยเพิ่มเติมในช่วงไม่กี่วันที่ผ่านมาฉันยังไม่พบชนิดของการปฏิบัติ "Crenshaw style" การรักษาs s r t ( x ) ที่ฉันหวังไว้ แต่ฉันหาใหม่ เอกสารอ้างอิงมูลค่าที่นี่ บนหน้าสาม[ 5 ]มีส่วนหัวข้อ "จานประมาณ" ที่จะเข้าสู่รายละเอียดที่ดีเกี่ยวกับการใกล้เคียงกับW ( x )คำถามเกี่ยวกับการตรวจสอบการตัดสัญญาณ[3]ssrt(x)[5]W(x)ในบริบทของการสร้างเสียง ในฐานะที่เป็นสิ่งที่น่าสนใจกันความหนาแน่นของความน่าจะเป็นของ "เสียงเกาส์เซียนกับเลขชี้กำลัง 1/2" [ในกระดาษ] ดูคล้ายกับฮิสโตแกรมในคำตอบของKellenjb

นอกจากนี้ลิงก์ที่ให้โดยrwongในความคิดเห็นเป็นแหล่งข้อมูลที่ยอดเยี่ยมสำหรับการใช้งานW ( x )และยังเชื่อมโยงไปยังโครงการที่ได้รับอนุญาต BSD ของผู้เขียนชื่อfastapproxซึ่งรวมถึงการดำเนินการตามที่อธิบายไว้[6]W(x)



2
ฉันถามเรื่องนี้ใน Meta เนื่องจากช่องแสดงความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม โปรดแนะนำวิธีที่เราควรจัดการกับคำถามเหล่านี้ที่นี่: มีคำถามเกี่ยวกับการวิเคราะห์เชิงตัวเลขในหัวข้อหรือไม่

@datageist - ข้อสรุปเบื้องต้นจากคำถามเมตาคือว่าถ้าคุณต้องการใช้การวิเคราะห์เชิงตัวเลขเพื่อประมวลผลข้อมูล DSP นั่นเป็นหัวข้อ ถ้าไม่เช่นนั้นไม่ได้ สิ่งนี้เกี่ยวข้องกับ DSP ได้อย่างไร
Kevin Vermeer

2
@ เควินมันเกิดขึ้นในบริบทของการพัฒนาเอฟเฟกต์เสียง
เก็บข้อมูล

1
เมื่อใดก็ตามที่ฉันต้องการเขียนกิจวัตรประจำวันสำหรับฟังก์ชั่น Lambert ฉันมักจะใช้การประมาณที่กำหนดไว้ในบทความนี้แล้วขัดเงาด้วย Newton-Raphson, Halley หรือวิธีการวนซ้ำอื่น ๆ คุณสามารถปรับวิธีการนี้ในการแปลงกลับ ...xx

คำตอบ:


6

แทงตัวเลขในที่มืดให้ผลต่อไปนี้สำหรับวิธีการวนซ้ำ:

เรากำลังหาทางแก้ปัญหา y = f (x) โดยที่ y ^ y = x

ylny=lnx

y=g(x,y)=elnxy

ค่าของเป็นจุดคงที่ของสมการข้างต้นและสังเกตุดูเหมือนว่าจะรวมกันเป็นค่าxyxแต่สำหรับค่าที่มากขึ้นของมันสั่นหรือ divergesx

จากนั้นฉันลองวิธีที่คล้ายกับรากที่สองซ้ำของนิวตัน:

y=yprevious+y2=y+elnxy2

โดยที่ y * ควรแสดงถึงคำตอบแบบไม่รวม แต่คำตอบในแง่ดีที่รักษาความถูกต้องหากคุณคาดเดาค่าเริ่มต้นที่ถูกต้อง (ในรากที่สอง y 2 = x, มันคือ y * = x / y)

สิ่งนี้ดูเหมือนจะเป็นการบรรจบกัน แต่ช้ามากที่จุดต่ำสุดของ (ใกล้x m i n = ( 1)xxmin=(1e)1e )

นอกจากนี้ยังมีลักษณะเหมือนเดาเริ่มต้นที่ดีคือ 1y0=ln(x)+1

ดังนั้นฉันคิดว่าอาจจะมีทางออกที่ดีกว่า:

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

จากนั้นฉันก็พบสิ่งที่น่าสนใจ

yyy=xy2=g(x,y+ϵ)=eln(x)y+ϵY2-Yε×(-LN(Y))Y1=Y+εεY2=ก.(x,Y1)(Y2-Y)ε×(-LN(Y))=(Y1-Y)×(-LN(Y)) )(เพื่อชี้แจงฉันไม่มีการวิเคราะห์เพื่อตรวจสอบนี้ แต่ตัวเลขเพิ่งโผล่ออกมาจากการประเมินตัวเลขที่ฉันได้ดำเนินการ)

YY=Y2+LN(Y)×Y11+LN(Y)LN(Y1)LN(Y)

Y[n+1]=ก.(x,Y[n])+LN(Y[n])×Y[n]1+LN(Y[n])=อีLN(x)Y[n]+LN(Y[n])×Y[n]1+LN(Y[n])

สิ่งนี้ดูเหมือนจะทำงานได้ดีมากโดยมีการเดาเริ่มต้น Y=1+LN(x)และดูเหมือนว่าจะมาบรรจบกันภายใน 4 หรือ 5 รอบซ้ำ

(บางคนอาจแสดงให้เห็นว่านี่เทียบเท่ากับ Newton-Raphson แต่อย่างใด แต่ฉันคิดว่ามันเกินความสามารถของฉัน)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.