İşlem sırası, sayısal algoritmalar


10

Bunu okudum

(1) Kötü şartlandırılmış operasyonlar iyi şartlandırılmış operasyonlardan önce yapılmalıdır.

Örnek olarak, çarpma işlemi yapılmadığı sürece çıkarma kötü koşullandırıldığı için ( x - y ) zxz-yz olarak hesaplanmalıdır .(x-y)z

Ancak, her iki algoritmanın birinci dereceden hata analizi, sadece üç (*) faktörü ile farklılık gösterdiklerini ortaya çıkarır ve neden bunu (1) ifadesine genelleştirebildiğini anlamıyorum, ne de sezgisel olarak operasyonların sırası. İfadenin (1) kabul edilmiş bir kural olduğunu düşünüyor musunuz ve bunun için başka açıklamalarınız var mı?

*: daha spesifik olarak, ilk sürümün sınırlı bir bağıl hatası var

eps+3|x|+|y||x|-|y|eps
ise ikinci versiyonun göreceli hatası

3eps+|x|+|y||x|-|y|eps

Burada eps makine hassasiyetidir.

Bu analiz varsayımına dayanmaktadır ben -inci ara sonuç ile çarpılan (1+εben) (yuvarlama nedeniyle hatalara), εben tarafından sınırlanan iid rasgele değişkenlerdir eps . "Birinci dereceden", gibi yüksek dereceli terimlerin εbenεjxihmal edildiği anlamına gelir .


Bunu nereden okudun?
David Ketcheson

ders notlarımda
Bananach

Yanıtlar:


8

Tarafından edelim anlamında olabildikleri kesin çarpım kayan nokta analoglarını ((ben bölünme operatörünün daire içine alınmış sürümünü almaya çalışırken tembel) × ), ekleme ( + () ve çıkarma - sırasıyla). (IEEE-754) hepsine göre [ x y ] = ( x + y ) ( 1 + δ ) ,,,x+- burada ε m bir C saat bir üst yüzünden yuvarlama göre hata bağlanmış veren makinesi epsilondur. Ayrıcakolayca kanıtlanabilecekaşağıdaki lemmayı da kullanacağız (tüm | δ i |ϵ m a c h ve m çok büyük değil), m i = 1 ( 1 + δ i ) = 1 + θ (

[xy]=(x+y)(1+δ),|δ|εmbirch,
εmbirch|δben|εmbirchm
Πben=1m(1+δben)=1+θ(m),|θ(m)|mεmbirch1-mεmbirch

Let gerçek işlevi tanımlayan reel sayılar çalışır x , y , z olarakfx,y,z

f(x,y,z)=(xxz)-(yxz)

ve işlev olarak, IEEE uyumlu kayan nokta aritmetik uygulanması iki sürümü ve ~ f 2 kayan nokta üzerinde işlem temsilleri ~ x = x ( 1 + δ x ) , ~ y , ~ Z , aşağıdaki gibidir:f1~f2~x~=x(1+δx),y~,z~

f1~(x~,y~,z~)=(x~z~)(y~z~),

f2~(x~,y~,z~)=(x~y~)z~.

için hata analizi :f1~

f1~=((x(1+δx)xz(1+δz))(1+δxz)(x~z~)-(y(1+δy)xz(1+δz))(1+δyz)(y~z~))(1+δ)=xz(1+δx)(1+δz)(1+δxz)(1+δ)-yz(1+δy)(1+δz)(1+δyz)(1+δ)=xz(1+θxz,1)-yz(1+θyz,1).
|θxz,1|,|θyz,1|4εmbirch1-4εmbirch

f2~

f2~=(((x(1+δx)-y(1+δy)(1+δxy))x(z(1+δz)))(1+δ)=xz(1+δx)(1+δz)(1+δxy)(1+δ)-yz(1+δy)(1+δz)(1+δxy)(1+δ)=xz(1+θx,2)-yz(1+θy,2).
|θx,2|,|θy,2|4εmbirch1-4εmbirch

f1~f2~f2~f1~

xy

|f1~-f||f|=|xz+xzθxz,1-yz-yzθyz,1-(xz-yz)||xz-yz|=|xθxz,1-yθyz,1||x-y||x|+|y||x-y|4εmbirch1-4εmbirch,
|f2~-f||f|=|xz+xzθx,2-yz-yzθy,2-(xz-yz)||xz-yz|=|xθx,2-yθy,2||x-y||x|+|y||x-y|4εmbirch1-4εmbirch.

θx,y,z(x-y)xy

x,y,z,f(x,y,z)F0F0

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.