Trong một ứng dụng duy nhất, có khả năng là bạn sẽ chỉ cần một tập hợp con nhỏ của tất cả các cực trị có thể có của hàm siêu bội tổng quát. Đó là một chức năng rất chung chung, sau tất cả. Có ý tưởng về phạm vi của và các tham số sẽ cho phép đưa ra lời khuyên cụ thể hơn.a i , b izmộtTôi, bTôi
Nói chung, phương pháp tiêu chuẩn, giả sử , tất nhiên là sử dụng chuỗi lũy thừa xác định khinhỏ. Nếu , tốt nhất là chuyển sang mở rộng tiệm cận khilà lớn, vì loạt Taylor hội tụ quá chậm và / hoặc vì nó trở nên quá không chính xác do hủy bỏ thảm khốc. Điểm cắt tốt nhất giữa các thuật toán này phụ thuộc vào các tham số và yêu cầu độ chính xác.| z | p < q + 1 | z |p ≤ q+ 1| z|p < q+ 1| z|
Đối với loạt tiệm cận được đưa ra bởi http://functions.wolfram.com/HypergeometricFunctions/Hypergeometric1F2/06/02/03/ Nó trông khá khủng khiếp, nhưng nếu bạn được cố định, bạn có thể tính toán số các giá trị cho các hệ số trước. Các công thức chung được tìm thấy trong DLMF: http://dlmf.nist.gov/16.11 (Lưu ý rằng một số chăm sóc là cần thiết để chọn cắt giảm chi nhánh chính xác.)a 1 , b 1 , b 21F2một1, b1, b2
Nếu có một phạm vi mà cả chuỗi Taylor và chuỗi tiệm cận không hoạt động đủ tốt, "mở rộng được cải thiện theo cấp số nhân" có thể hữu ích. Một khả năng đáng nói khác là bạn có thể chỉ cần cắm phương trình vi phân siêu bội vào bộ giải ODE cho mục đích chung. Điều này sẽ hoạt động khá tốt đặc biệt là nếu bạn chỉ cần 4-5 chữ số. Điều này có thể được sử dụng để thực hiện tiếp tục phân tích từ một nhỏ (trong đó chuỗi công suất hoạt động tốt) đến một lớn hơn hoặc ngược lại với giá trị thu được thông qua một chuỗi tiệm cận (bạn có thể cần phải làm thêm một chút để có được tất cả các dẫn xuất cần thiết như các giá trị ban đầu).z
Nếu bạn cần các hàm có trên toàn bộ mặt phẳng phức thì có thể sử dụng các công thức biến đổi để ánh xạ bên ngoài của đĩa đơn vị vào bên trong. Một số thuật toán gia tốc hội tụ hoặc phương pháp khác, như tích hợp số của ODE, phải được sử dụng gần với vòng tròn đơn vị. Nếu bán kính hội tụ bằng 0, do đó, nếu hàm bạn muốn đánh giá được đưa ra bởi một chuỗi phân kỳ như vậy, bạn có thể cần phải áp dụng một biến đổi Borel (bằng số hoặc tượng trưng) để giảm nó thành một chuỗi hội tụ.1 / z p > q + 1p = q+ 11 / zp > q+ 1
Để thực hiện đầy đủ, cũng có các vấn đề khác cần xem xét (ví dụ: xử lý các tham số cực kỳ lớn hoặc rất gần với số nguyên âm). Đối với các tham số đủ xấu, sẽ rất khó để có được các giá trị chính xác với độ chính xác kép, bất kể bạn làm gì, do đó, số học có độ chính xác tùy ý có thể cần thiết.
Tôi nên lưu ý rằng tôi đã viết một triển khai số gần như hoàn chỉnh của hàm siêu bội tổng quát cho thư viện mpmath (hiện tại nó thiếu chuỗi tiệm cận cho các hàm cao hơn ), có thể hữu ích để nghiên cứu hoặc chạy thử nghiệm (giả sử nó không đủ nhanh cho mục đích của bạn).2F3