Saya sudah membaca itu
(1) Operasi yang terkondisi harus dilakukan sebelum yang terkondisi dengan baik.
Sebagai contoh, seseorang harus menghitung sebagai karena pengurangan tidak dikondisikan sedangkan multiplikasi tidak.
Namun, analisis kesalahan orde pertama dari kedua algoritma mengungkapkan bahwa mereka hanya berbeda oleh faktor tiga (*), dan saya tidak melihat mengapa orang dapat menggeneralisasikan ini ke pernyataan (1), dan saya juga tidak secara intuitif memahami pentingnya urutan operasi. Apakah menurut Anda pernyataan itu (1) adalah aturan yang diterima, dan apakah Anda punya penjelasan lain untuk itu?
*: lebih khusus, versi pertama memiliki kesalahan relatif yang dibatasi oleh
dimana adalah presisi mesin.
Analisis ini didasarkan pada asumsi bahwa hasil menengah ke- dikalikan dengan (karena kesalahan pembulatan), di mana adalah variabel acak pertama yang dibatasi oleh . "Urutan pertama" berarti bahwa istilah dengan tingkat lebih tinggi, seperti , diabaikan.
sumber
Jawaban:
Mari kita tunjukkan dengan (Saya malas mencoba untuk mendapatkan versi yang dilingkari dari operator divisi) analog floating-point dari perkalian yang tepat (× ), penambahan ( + ), dan pengurangan ( - ), masing-masing. Kami akan menganggap (IEEE-754) bahwa untuk semuanya [ x ⊕ y ] = ( x + y ) ( 1⊗,⊕,⊖ × + −
mana ϵ m a c h adalah mesin epsilon yang memberikan batas atas pada kesalahan relatif karena pembulatan. Kami juga akan menggunakan lemma berikut (dengan asumsi semua | δ i | ≤ ε m a c h , dan m tidak terlalu besar) yang dapat dengan mudah dibuktikan:
m Π i = 1 ( 1 + δ i
sumber