Tổng quat
Câu hỏi hay. Có một bài báo có tựa đề "Cải thiện độ chính xác của phương pháp phân biệt ma trận cho các điểm sắp xếp tùy ý" của R. Baltensperger. Theo tôi thì đó không phải là vấn đề lớn, nhưng nó có một điểm (đã được biết đến trước khi xuất hiện vào năm 2000): nó nhấn mạnh tầm quan trọng của một biểu diễn chính xác của thực tế là đạo hàm của hàm hằng f(x)=1 nên bằng không (điều này giữ chính xác theo nghĩa toán học, nhưng không nhất thiết phải theo biểu diễn số).
Nó là đơn giản để thấy rằng điều này đòi hỏi số tiền hàng của n-thứ bắt nguồn từ ma trận D(n) là zero. Thông thường để thực thi ràng buộc này bằng cách điều chỉnh mục nhập đường chéo, tức là bằng cách đặt D(n)jj:=−∑i=1i≠jNDij.(1)
Rõ ràng là tính năng này không giữ chính xác khi làm việc trên máy tính do lỗi vòng trong tính toán dấu phẩy động. Điều đáng ngạc nhiên hơn là những lỗi này thậm chí còn nghiêm trọng hơn khi sử dụng các công thức phân tích cho ma trận đạo hàm (có sẵn cho nhiều điểm sắp xếp cổ điển, ví dụ Gauss-lobatto).
Bây giờ, bài báo (và tài liệu tham khảo trong đó) nói rằng lỗi của đạo hàm là theo thứ tự độ lệch của các hàng tổng từ 0. Do đó, mục tiêu là làm cho các số này càng nhỏ càng tốt.
Kiểm tra số
Điểm tốt là thủ tục Fornberg dường như khá tốt trong vấn đề này. Trong hình bên dưới, tôi đã so sánh hành vi của ma trận đạo hàm chính xác, tức là phân tích, và ma trận xuất phát từ thuật toán Fornberg, với số lượng điểm giao dịch Chasershev-lobatto khác nhau.
Một lần nữa, tin vào tuyên bố trong bài báo được trích dẫn, điều này ngụ ý rằng thuật toán Fornberg sẽ mang lại kết quả chính xác hơn cho công cụ phái sinh.
Để chứng minh điều đó, tôi sẽ sử dụng chức năng tương tự như trong bài báo,
f(x)=11+x2.(2)
En=maxi∈{0,…,n}∣∣∣f′(xi)−∑j=1nDijf(xj)∣∣∣.(3)
D~jj=Djj−(∑i=1nDji),for all j.(4)
Phần kết luận
Tóm lại, phương pháp của Fornberg dường như khá chính xác, trong trường hợp thậm chí chính xác hơn khoảng 3 bậc so với kết quả từ các công thức phân tích. Điều này cần đủ chính xác cho hầu hết các ứng dụng. Hơn nữa, điều này rất đáng chú ý vì Fornberg dường như không bao gồm rõ ràng sự thật này trong phương pháp của mình (ít nhất là không có đề cập nào trong hai bài báo của Fornberg).N=512
Một thứ tự cường độ khác có thể đạt được cho ví dụ này thông qua việc đưa vào phương trình đơn giản (4). Vì đây là một cách tiếp cận khá đơn giản và chỉ áp dụng một lần cho mỗi công cụ phái sinh, tôi thấy không có lý do gì để không sử dụng nó.
Phương pháp từ bài báo Baltensperger - sử dụng cách tiếp cận tinh vi hơn để đánh giá tổng trong phương trình (1) để giảm sai số vòng - mang lại cùng một mức độ lớn cho lỗi. Vì vậy, ít nhất là trong ví dụ này, nó gần tương đương với phương pháp "Điều chỉnh Fornberg" ở trên.