The values q and p′ computed by Algorithm 1 satisfy
|p| ≤ σ2−M (2)
and
|p′| ≤ uσ, (3) |q| ≤ σ2−M, (4) q ∈ uσZ. (5)
Note that (4) and (5) imply that there are at most − log2 u − M nonzero leading
bits in the binary representation of q. Here a floating-point number has “at
most α nonzero leading bit” means that f has a binary expansion f = α′ mi ·
i=1 Next, we introduce a splitting algorithm for a vector. For x∈Fn, the
2e−i with α′ ≤ α. Hence some of the leading α bits may be zero.
following algorithm divides x into x(1) and x(2).
Algorithm 2 [11] Assume x ∈ Fn and σ is a power of two satisfying σ ≥ max |xi|.
1≤i≤n
The following algorithm transforms x into x(1), x(2) such that x = x(1) + x(2).
function [x(1), x(2)] = ExtractVector(x, σ ) for i = 1 : n
x(1) =fl((σ+x)−σ); i i
x(2)=fl xi−x(1) ; ii
end
The properties of Algorithms 1 and 2 are different from that of Dekker’s
splitting algorithm [3]. Dekker’s algorithm splits a floating-point number x
into two parts x(1), x(2) satisfying x = x(1) + x(2) with |x(1)| ≥ |x(2)|, where both
parts have at most s − 1 nonzero bits with s = ⌈ − log2 u ⌉ (see [11] for details), 2
ExtractVector may produce x(1) = 0 and x(1) = xi (see Fig. 1). ii
Remark 1 Properties (2)–(4) are still valid for σ not being a power of two (see [10]). In our approach, it is advantageous to assume σ to be a power of two.
2.3 Image of error-free transformation
To understand the error-free transformation of a matrix product described in the next subsection, we first consider a dot product.
Let x,y∈Fn, namely, x=(x1,x2,...,xn)T, y=(y1,y2,...,yn)T and as- sume n ≪ u−1. In this subsection, we transform a dot product xT y into an
ค่า q และ p′ computed โดยอัลกอริทึม 1 ตอบสนอง| p | ≤ Σ2−M (2)และกรุนด์ฟอส p′ กรุนด์ฟอส Uσ ≤, (3) | q | Σ2−M ≤ uσZ ∈ q (4) (5)หมายเหตุที่ (4) และ (5) หมายความว่า มากที่สุดมี u log2 −− M ค่านำบิตในนารีของ q ที่นี่ข้อมูลเลขทศนิยมที่มี atสุดαค่านำบิต"หมายความ ว่า f ได้ f ขยายไบนารี =α′ mi ·ฉัน = 1 ถัดไป เราแนะนำขั้นตอนการแยกสำหรับเวกเตอร์ สำหรับ x∈Fn การ2e−i กับα′≤αดังนั้น αบิตชั้นนำบางชนิดอาจเป็นศูนย์ได้ต่ออัลกอริทึมแบ่ง x x(1) และ x(2)อัลกอริทึม 2 [11] สมมติ x ∈ Fn และσเป็นกำลังของสองความพึงพอใจสูงสุด≥σ | ซีส1≤i≤nเปลี่ยนอัลกอริทึมต่อไปนี้ x เป็น x(1), x(2) กล่าวว่า x = x(1) + x(2)ฟังก์ชั่น [x(1), x(2)] = ExtractVector (x σ) สำหรับ i = 1: nx(1) = fl((σ+x)−σ) ฉันฉัน x (2) = fl xi−x(1) iiสิ้นสุดคุณสมบัติของอัลกอริทึม 1 และ 2 จะแตกต่างจากของ Dekkerแบ่งอัลกอริทึม [3] อัลกอริทึมของ Dekker แยก x เป็นเลขทศนิยมเป็นสองส่วน x(1) ความพึงพอใจ x x(2) = x(1) + x(2) กับ | x(1) | ≥ | x(2) |, ซึ่งทั้งสองส่วนมีที่สุด s − 1 ค่าบิต ด้วย s =⌈− log2 u ⌉ (ดู [11] สำหรับรายละเอียด), 2ExtractVector อาจผลิต x(1) = 0 และ x(1) = xi (ดูรูปที่ 1) iiหมายเหตุ 1 คุณสมบัติ (2)–(4) ยังคงถูกต้องสำหรับσไม่กำลังสอง (ดู [10]) วิธี เป็น advantageous สมมติσเป็น กำลังสอง2.3 ภาพการแปลงข้อผิดพลาดเข้าใจการเปลี่ยนแปลงที่ปราศจากข้อผิดพลาดของผลิตภัณฑ์ matrix ที่อธิบายไว้ในส่วนย่อยที่ต่อไป เราแรกพิจารณาผลิตภัณฑ์จุดให้ x, y∈Fn ได้แก่ x=(x1,x2,...,xn) T, y = (y1, y2,..., yn) T และเป็น sume n ≪ u−1 ในส่วนย่อยนี้ เราเปลี่ยนตัว y xT ผลิตภัณฑ์จุดในการ
การแปล กรุณารอสักครู่..

ค่า Q และ P 'คำนวณโดยวิธี 1 Satisfy
| P | ≤σ2-M (2)
และ
| P '| ≤uσ (3) | Q | ≤σ2-M (4) Q ∈uσZ (5)
โปรดทราบว่า (4) และ (5) บ่งบอกว่ามีอย่างที่สุด - log2 U - M ชั้นนำภัณฑ์
บิตในฐานเป็นตัวแทนของ Q ที่นี่เป็นจำนวนจุดลอยตัวมี "ที่
มากที่สุดแอลฟาภัณฑ์ชั้นนำบิต" หมายความว่า F มีการขยายตัวไบนารี f = α 'ไมล์·
i = 1 ต่อไปเราแนะนำขั้นตอนวิธีการแยกสำหรับเวกเตอร์ สำหรับx∈Fnที่
2E-I กับα '≤α ดังนั้นบางส่วนของบิตαชั้นนำอาจจะเป็นศูนย์.
ต่อไปนี้ขั้นตอนวิธีการแบ่งออกเป็น X X (1) และ x (2).
อัลกอริทึมที่ 2 [11] สมมติ x ∈ Fn และσเป็นอำนาจของความพึงพอใจของทั้งสองσ≥สูงสุด | Xi |
1≤i≤n
ขั้นตอนวิธีการดังต่อไปนี้แปลง x ลงใน x (1) x (2) เช่นว่า x = x (1) + x (2).
ฟังก์ชั่น [x (1) x (2)] = ExtractVector (x , σ) สำหรับ i = 1: n
x (1) = ฟลอริดา ((σ + x) -σ); II
X (2) = ชั้น Xi-X (1); ครั้งที่สอง
สิ้นสุด
คุณสมบัติของอัลกอริทึมที่ 1 และ 2 จะแตกต่างจากที่ Dekker ของ
อัลกอริทึมแยก [3] อัลกอริทึมของ Dekker แยกจำนวนจุดลอยตัว x
เป็นสองส่วน x (1) x (2) ความพึงพอใจ x = x (1) + X (2) กับ | x (1) | ≥ | x (2) | ที่ทั้ง
ชิ้นส่วนที่มีอย่างมากที่สุด - 1 บิตภัณฑ์กับ s = ⌈ - log2 U ⌉ (ดู [11] สำหรับรายละเอียด) 2
ExtractVector อาจผลิต X (1) = 0 และ x (1 ) = Xi (ดูรูปที่ 1). II
หมายเหตุ 1 อสังหาริมทรัพย์ (2) - (4) ยังคงถูกต้องสำหรับσไม่เป็นอำนาจของทั้งสอง (ดู [10]) ในแนวทางของเรามันเป็นประโยชน์ที่จะคิดσจะเป็นอำนาจของสองก.
2.3 ภาพของการเปลี่ยนแปลงปราศจากข้อผิดพลาด
เพื่อให้เข้าใจถึงการเปลี่ยนแปลงที่ปราศจากข้อผิดพลาดของผลิตภัณฑ์แมทริกซ์อธิบายในส่วนย่อยต่อไปเราก่อนพิจารณาสินค้าที่จุด.
ให้ X , y∈Fnคือ x = (X1, X2, ... , xn) T, Y = (Y1, Y2, ... , yn) T และจำา Sume n « U-1 ในส่วนย่อยนี้เราเปลี่ยนจุดสินค้า XT Y เป็น
การแปล กรุณารอสักครู่..

ค่า Q และ P นั้นคำนวณโดยวิธีที่ 1 ตอบสนอง| P | ≤σ− 2 m ( 2 ) .และ| P ’ | ≤ u σ ( 3 ) | Q | ≤σ 2 − m ( 4 ) Q ∈σ Z . U ( 5 )หมายเหตุ ( 4 ) และ ( 5 ) บ่งบอกว่ามีมากที่สุด−− 0 า LOG u mบิตในการแทนเลขฐานสองของ Q ที่นี่จำนวนจุดลอยตัวได้ " ที่αที่สุด 0 นำบิต " หมายความว่า F มีไบนารีการ F = α′มิด้วยฉัน = 1 หน้า เราแนะนำขั้นตอนวิธีการสำหรับเวกเตอร์ สำหรับ x ∈ FN ,2e −ผมกับα′≤α . ดังนั้นบางส่วนของผู้นำαบิตอาจจะศูนย์ตามขั้นตอนวิธีการแบ่ง X เป็น X ( 1 ) และ X ( 2 )วิธีที่ 2 [ 11 ] สมมติ X และ∈ FN σคือพลังของทั้งสองพอใจσ≥แม็กซ์ | Xi | .1 ≤ผม≤ Nต่อไปนี้วิธีเปลี่ยน X เป็น X ( 1 ) , x ( 2 ) เช่น x = x ( 1 ) + ( 2 )ฟังก์ชัน [ x ( , 1 ) x ( 2 ) = extractvector ( x , σ ) สำหรับฉัน = 1 : Nx ( 2 ) = FL ( ( σ + X ) −σ ) ; ฉันX ( 2 ) = FL 11 − 2 X ( 1 )จบคุณสมบัติของขั้นตอนวิธีที่ 1 และ 2 จะแตกต่างจากที่ของเดกเกอร์คือแยกขั้นตอนวิธี [ 3 ] ขั้นตอนวิธีของเดกเกอร์แยกจำนวนจุดลอยตัว xออกเป็นสองส่วน X ( 1 ) , x ( 2 ) ภิรมย์ x = x ( 1 ) + ( 2 ) | X ( 1 ) | ≥ | X ( 2 ) | ที่ทั้งส่วนมีมากที่สุด s − 1 บิต 0 กับ S = ⌈− LOG u ⌉ ( ดู [ 11 ] เพื่อดูรายละเอียด ) 2 .extractvector อาจผลิต x ( 2 ) = 0 และ X ( 2 ) = Xi ( ดูรูปที่ 1 ) IIหมายเหตุ 1 . คุณสมบัติ ( 2 ) และ ( 4 ) จะยังคงใช้ได้สำหรับσไม่ได้พลังของทั้งสอง ( ดู [ 10 ] ) ในแนวทางของเรา เป็นประโยชน์ สมมติσเป็นพลังของทั้งสอง2.3 การเปลี่ยนแปลงภาพลักษณ์ของข้อผิดพลาดฟรีเข้าใจการเปลี่ยนแปลงข้อผิดพลาดฟรีเมตริกซ์ผลิตภัณฑ์ที่อธิบายไว้ในวรรคถัดไป เราพิจารณาผลิตภัณฑ์จุดให้ x , y ∈ Fn คือ x = ( x1 , x2 , . . . , คริสเตียน ) t , y = ( y1 , Y2 , . . . , ใน ) และ t - สุเม N ≪ u − 1 ในส่วนนี้เราเปลี่ยนเป็น XT ผลคูณจุด Y เป็น
การแปล กรุณารอสักครู่..
