Những kỹ thuật gần đúng tồn tại cho hàm siêu căn bậc hai?


17

Tôi cần triển khai một xấp xỉ với nghịch đảo của xx , tức là hàm siêu căn bậc hai (ssrt). Ví dụ: có nghĩa là . Tôi không quan tâm đến bất kỳ độ chính xác / độ sâu bit cụ thể nào vì tôi hiểu những lựa chọn của mình trái ngược với các cách tiếp cận đơn giản hơn bằng cách sử dụng chuỗi lũy thừa.1,56 1,562ssrt(2)1.561.561.562

Wolfram Alpha đưa ra một giải pháp biểu tượng đẹp về chức năng Lambert W (tức là ). Wikipedia đưa ra cùng một công thức , cũng như tương đương . Cho rằng có một lượng thông tin hợp lý về tính toán [1] [2], về mặt kỹ thuật đó là tất cả mọi thứ cần thiết để thực hiện một cái gì đó cho nhiều yêu cầu khác nhau. Tôi biết ít nhất hai cuốn sách đi sâu vào chi tiết về xấp xỉ [3] [4], vì vậy thậm chí còn có nhiều chỗ để tối ưu hóa từ hướng đó.ln(x)/W(ln(x)) W ( x )eW(ln(x))W(x)ln(x)

Tuy nhiên, tôi có hai câu hỏi:

  1. Các kỹ thuật gần đúng cụ thể cho chức năng này đã được công bố ở bất cứ đâu?
  2. Liệu nó có một tên khác ngoài "siêu căn bậc hai" sẽ giúp việc tìm kiếm tài liệu tham khảo dễ dàng hơn một chút?

Wikipedia / Google đã đưa ra một số tài liệu tham khảo dành riêng cho các hàm "tetration" tổng quát hơn bao gồm như một trường hợp đặc biệt, nhưng hầu hết trong số chúng dường như hướng đến việc khám phá / xác định các trường hợp chung.SSrt(x)

-

  1. Không có lõi, R.; Mạng lưới, G.; Thỏ rừng, Đ.; Jeffrey, Đ.; Knuth, Donald (1996), "Trên hàm Lambert W" http://www.apmaths.uwo.ca/~djeffrey/ Offerprints / W-adv-cm.pdf
  2. Thư viện số của các hàm toán học . http://dlmf.nist.gov/4.13
  3. Crenshaw, Jack W. (2000), Bộ công cụ toán học cho lập trình thời gian thực.
  4. Hart, John F. (1978), Các phép tính gần đúng.
  5. Chapeau-Blondeau, F. và Monir, A. (2002). Đánh giá bằng số của hàm Lambert W và ứng dụng để tạo ra nhiễu Gaussian tổng quát với số mũ 1/2. Giao dịch của IEEE về Xử lý tín hiệu 50, 2160-2165. http://www.istia.univ-angers.fr/~chapeau/ con / lambertw.pdf
  6. Minero, Paul. Lambert W gần đúng nhanh chóng . http://www.machinedlearnings.com/2011/07/fast-approximate-lambert-w.html

-

Cập nhật

Sau khi thực hiện một số nghiên cứu khác trong vài ngày qua, tôi vẫn chưa tìm thấy loại "Crenshaw style" thực hành đối với Tôi đã hy vọng, nhưng tôi đã tìm thấy tài liệu tham khảo mới có giá trị tài liệu ở đây. Trên trang ba trong , có một phần có tiêu đề "Xấp xỉ nhanh" đi sâu vào chi tiết tuyệt vời về xấp xỉ trong bối cảnh tạo ra tiếng ồn. Một điều thú vị là, mật độ xác suất của "nhiễu Gaussian với số mũ 1/2" [trong bài báo] trông rất giống với biểu đồ trong câu trả lời của Kellenjb cho câu hỏi này về việc phát hiện cắt tín hiệu .s s r t ( x ) [ 5 ] W ( x )[3]SSrt(x)[5]W(x)

Ngoài ra, liên kết do rwong đưa ra trong các nhận xét là một tài nguyên tuyệt vời để thực sự thực hiện và thậm chí nó còn liên kết đến dự án được cấp phép BSD của tác giả có tên fastapprox , bao gồm việc triển khai được mô tả.W ( x )[6]W(x)



2
Tôi đã hỏi về điều này trên Meta, vì trường bình luận không dành cho các cuộc thảo luận mở rộng. Xin đề nghị làm thế nào chúng ta nên xử lý những câu hỏi này ở đây: Có phải câu hỏi về phân tích số theo chủ đề?

@datageist - Kết luận ban đầu từ câu hỏi meta là nếu bạn muốn sử dụng phân tích số này để xử lý dữ liệu DSP, thì đó là chủ đề. Nếu không thì không. Làm thế nào điều này liên quan đến DSP?
Kevin Vermeer

2
@Kevin Nó xuất hiện trong bối cảnh phát triển hiệu ứng âm thanh.
datageist

1
Bất cứ khi nào tôi cần viết một thói quen cho hàm Lambert, tôi thường sử dụng các xấp xỉ được đưa ra trong bài báo này và sau đó đánh bóng bằng Newton-Raphson, Halley hoặc bất kỳ phương pháp lặp nào khác. Bạn có thể điều chỉnh cách tiếp cận này để đảo ngược ...xx

Câu trả lời:


6

Một số cú đâm trong bóng tối mang lại kết quả như sau cho cách tiếp cận lặp lại:

Chúng tôi đang tìm giải pháp y = f (x) trong đó y ^ y = x.

ylny= =lnx

y=g(x,y)=elnxy

Giá trị cho là một điểm cố định của phương trình trên và theo kinh nghiệm, nó dường như hội tụ một số giá trị của x , nhưng đối với các giá trị lớn hơn của x, nó dao động hoặc phân kỳ.yxx

Sau đó, tôi đã thử một cách tiếp cận tương tự như căn bậc hai lặp của Newton:

y=yprevious+y2=y+elnxy2

Trong đó y * được cho là đại diện cho câu trả lời không thuyết phục nhưng lạc quan duy trì độ chính xác nếu bạn tình cờ đoán được giá trị ban đầu chính xác (theo căn bậc hai y 2 = x, đó là y * = x / y).

Điều này dường như hội tụ, nhưng rất chậm ở đầu thấp của (gần x m i n = ( 1x )xmin=(1e)1e

Có vẻ như một dự đoán ban đầu tốt là .y0=ln(x)+1

Vì vậy, tôi nghĩ rằng có thể có một giải pháp hội tụ tốt hơn:

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

Sau đó, tôi tìm thấy một cái gì đó thú vị.

yyy=xy2= =g(x,y+ε)= =eln(x)y+εy2-yε×(-ln(y))y1= =y+εεy2= =g(x,y1)(y2-y)ε×(-ln(y))= =(y1-y)×(-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)

(Ai đó có thể cho thấy điều này tương đương với Newton-Raphson theo một cách nào đó, nhưng tôi nghĩ nó vượt quá khả năng của tôi.)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.