If there is not much difference in the order of the magnitude in the elements in the same row in A and the elements in the same column in B, k=2 is enough to obtain a better bound than (33) except for huge n. Suppose, as an example,10−2 ≤aij,bij ≤102 foralli,jandn=1,000.Then
|D(2) − AB| ≤ 2−6γn|A||B|.
In order to show the performance of the proposed method, we derive a level 3
fraction for Algorithm 5:
Acc_Mul(A, B,k,δ), 0 ≤ δ ≤ 1
Here, the level 3 fraction shows the amount of matrix multiplication in the given algorithm [5]. In this paper, we consider the ratio:
computational costs for dense matrix products
computational costs for Algorithm 5
The computational costs for Algorithm 5 are counted by ‘flops’. To simplify the discussion simple, let A, B ∈ Fn×n be square matrices. Then the number of matrix products becomes k(k − 1)/2 + k =: t. Let s be the number of sparse matrix products. It implies that the number of dense matrix products is t − s. Computational costs for dense matrix products are 2n3(t − s) flops. For sparse matrix multiplication, we count the maximal computational costs as 2sδn3 flops. Note that the costs for splitting matrices and others are O(n2) flops. If n is large to extent, in total, the minimal ratio of the amount of dense matrix products in whole computations becomes
2n3(t − s) ≈ t − s . (46) 2n3(t−s)+s·2δn3 +O(n2) t+s(δ−1)
This ratio confirms that for few sparse matrix products the level 3 fraction for our algorithm is quite high. Namely, our method derives full benefit of the optimization by BLAS.
5 Conclusion
In this paper, we have investigated an error-free transformation of a matrix product. We transformed the product of two floating-point matrices into an unevaluated sum of floating-point matrices without roundoff errors. Using this error-free transformation, we presented a method which outputs an accurate approximation of the matrix product. Our method uses mainly level 3 routines by optimized BLAS resulting a good performance. Finally, we showed why our method produces an accurate approximation of the matrix product. The accuracy of the computed result increases with the number of summands by the error-free transformation of the matrix product.
4.2 Level 3 fraction
ถ้าไม่แตกต่างกันมากตามลำดับความสำคัญในองค์ประกอบในแถวเดียวกันในองค์ประกอบ และการในคอลัมน์เดียวกันใน B, k = 2 คือ พอที่จะได้รับขอบเขตดีกว่า (33) ยกเว้น n. ใหญ่สมมติว่า เช่น 10−2 ≤aij, bij ≤102 foralli,jandn=1,000.Then| D(2) − AB กรุนด์ฟอส ≤ 2−6γn กรุนด์ฟอส A || บีสเพื่อแสดงประสิทธิภาพของวิธีการนำเสนอ เราได้ระดับ 3เศษ 5 อัลกอริทึม:Acc_Mul (A, B, k δ), 0 ≤δ≤ 1ที่นี่ เศษส่วนระดับที่ 3 แสดงจำนวนของการคูณเมทริกซ์ในอัลกอริทึมที่กำหนด [5] ในกระดาษนี้ เราพิจารณาอัตราส่วน:คำนวณต้นทุนผลิตภัณฑ์เมทริกซ์หนาแน่นคำนวณต้นทุนสำหรับ 5 อัลกอริทึมต้นทุนคำนวณสำหรับ 5 อัลกอริทึมจะนับ โดย 'รองเท้าแตะ' เพื่อให้ง่ายง่ายสนทนา ให้ A, B ∈ Fn × n เป็นเมทริกซ์จัตุรัส แล้วจำนวนของผลิตภัณฑ์ matrix กลายเป็น k(k − 1)/2 + k =: t. s ให้เป็นหมายเลขของผลิตภัณฑ์เมทริกซ์เบาบาง มันหมายความว่า จำนวนของผลิตภัณฑ์เมทริกซ์หนาแน่นคือ t −ปาคำนวณต้นทุนผลิตภัณฑ์เมทริกซ์หนาแน่น 2n3 (t − s) รองเท้าแตะ การคูณเมทริกซ์เบาบาง เรานับจำนวนคำนวณค่าสูงสุดเป็น 2sδn3 เท้ หมายเหตุค่าใช้จ่ายสำหรับการแยกเมทริกซ์และอื่น ๆ O(n2) เท้ ถ้า n มีขนาดใหญ่เท่า รวม อัตราส่วนที่น้อยที่สุดของจำนวนผลิตภัณฑ์เมทริกซ์หนาแน่นในการประมวลผลทั้งหมดกลายเป็น2n3 (t − s) ≈ t − s (46) 2n3 (t−s) + s·2δn3 +O(n2) t+s(δ−1)อัตราส่วนนี้ยืนยันว่า สำหรับเมทริกซ์เบาบางไม่กี่ผลิตภัณฑ์ เศษระดับ 3 สำหรับอัลกอริทึมของเราเป็นค่อนข้างสูง คือ วิธีเรามาประโยชน์ของการเพิ่มประสิทธิภาพโดยบลาสสรุป 5ในกระดาษนี้ เราได้สืบสวนการแปลงข้อผิดพลาดของผลิตภัณฑ์ matrix เราสามารถเปลี่ยนผลิตภัณฑ์ของทศนิยมสองเมทริกซ์เป็นจำนวนทศนิยมเมทริกซ์โดยไม่มีข้อผิดพลาด roundoff การ unevaluated เราใช้การแปลงข้อผิดพลาดนี้ นำเสนอวิธีการซึ่งให้ผลผลิตประมาณความถูกต้องของผลิตภัณฑ์ matrix วิธีที่เราใช้ส่วนใหญ่ระดับที่ 3 ปฏิบัติ โดยบลาสเหมาะสมส่งผลให้ประสิทธิภาพที่ดี ในที่สุด เราแสดงให้เห็นว่าทำไมเราสร้างประมาณความถูกต้องของผลิตภัณฑ์ matrix ความถูกต้องของผลการคำนวณเพิ่มขึ้นกับจำนวนของ summands โดยการแปลงข้อผิดพลาดของผลิตภัณฑ์ matrix4.2 ระดับ 3 ส่วน
การแปล กรุณารอสักครู่..

ถ้ามีไม่แตกต่างกันมากในลำดับความสำคัญในองค์ประกอบในแถวเดียวกันในและองค์ประกอบในคอลัมน์เดียวกันใน B ที่ K = 2 ก็เพียงพอที่จะได้รับที่ถูกผูกไว้ดีกว่า (33) ยกเว้น n ขนาดใหญ่ สมมติว่าเป็นตัวอย่างที่ 10-2 ≤aij, bij ≤102 foralli, jandn = 1,000.Then
| D (2) - AB | . ≤2-6γn | || B |
เพื่อแสดงให้เห็นประสิทธิภาพของวิธีที่นำเสนอที่เราได้รับมาในระดับที่ 3
ส่วนสำหรับวิธีที่ 5:
Acc_Mul (A, B, K, δ), 0 ≤≤δ 1
ที่นี่ ระดับ 3 ส่วนแสดงจำนวนเงินของการคูณเมทริกซ์ในขั้นตอนวิธีการที่กำหนด [5] ในบทความนี้เราจะพิจารณาอัตราส่วน
ค่าใช้จ่ายในการคำนวณสำหรับผลิตภัณฑ์แมทริกซ์หนาแน่น
ค่าใช้จ่ายในการคำนวณสำหรับขั้นตอนวิธีการ 5
ค่าใช้จ่ายในการคำนวณสำหรับขั้นตอนวิธีการ 5 จะนับโดย 'flops' เพื่อให้ง่ายต่อการอภิปรายที่เรียบง่ายให้ A, B ∈ Fn × n เป็นตารางการฝึกอบรม แล้วจำนวนของผลิตภัณฑ์แมทริกซ์จะกลายเป็น k (k - 1) / 2 + K =: T Let s เป็นจำนวนของผลิตภัณฑ์แมทริกซ์เบาบาง มันแสดงให้เห็นว่าจำนวนของผลิตภัณฑ์แมทริกซ์หนาแน่นคือ T - s ค่าใช้จ่ายในการคำนวณสำหรับผลิตภัณฑ์แมทริกซ์มีความหนาแน่น 2n3 (T - s) flops สำหรับการคูณเมทริกซ์เบาบางเรานับค่าใช้จ่ายในการคำนวณสูงสุดเป็น2sδn3 flops โปรดทราบว่าค่าใช้จ่ายสำหรับการฝึกอบรมการแยกและอื่น ๆ เป็น O (N2) flops ถ้า n มีขนาดใหญ่ที่มีขอบเขตในการรวมอัตราส่วนที่น้อยที่สุดของปริมาณของผลิตภัณฑ์แมทริกซ์ที่มีความหนาแน่นในการคำนวณทั้งหมดจะกลายเป็น
2n3 (T - s) ≈ T s - (46) 2n3 (T-S) + S ·2δn3 + O (N2) T + S (δ-1)
อัตราส่วนนี้ยืนยันว่าไม่กี่ผลิตภัณฑ์แมทริกซ์เบาบางระดับ 3 ส่วนสำหรับขั้นตอนวิธีการของเราค่อนข้างสูง คือวิธีการของเราเกิดประโยชน์เต็มที่จากการเพิ่มประสิทธิภาพโดยหน่าย. the
5 สรุป
ในบทความนี้เราได้ตรวจสอบการเปลี่ยนแปลงที่ปราศจากข้อผิดพลาดของผลิตภัณฑ์แมทริกซ์ เราเปลี่ยนผลิตภัณฑ์สองเมทริกซ์จุดลอยตัวเป็นผลรวมของการฝึกอบรม unevaluated จุดลอยตัวไม่มีข้อผิดพลาด roundoff โดยใช้การเปลี่ยนแปลงปราศจากข้อผิดพลาดนี้เรานำเสนอวิธีการที่เอาท์พุทประมาณที่ถูกต้องของผลิตภัณฑ์แมทริกซ์ที่ วิธีการของเราใช้ส่วนใหญ่เป็น 3 ระดับการปฏิบัติโดยหน่ายเพิ่มประสิทธิภาพส่งผลให้ประสิทธิภาพการทำงานที่ดี สุดท้ายเราแสดงให้เห็นว่าสาเหตุที่วิธีการของเราผลิตประมาณที่ถูกต้องของผลิตภัณฑ์แมทริกซ์ ความถูกต้องของผลการคำนวณเพิ่มขึ้นกับจำนวน summands โดยการเปลี่ยนแปลงที่ปราศจากข้อผิดพลาดของผลิตภัณฑ์แมทริกซ์ได้.
4.2 ระดับที่ 3 ส่วน
การแปล กรุณารอสักครู่..

ถ้ามันไม่แตกต่างกันมากในการสั่งซื้อของขนาดในธาตุในแถวเดียวกันในและองค์ประกอบในคอลัมน์เดียวกันใน B , K = 2 ก็เพียงพอที่จะได้รับดีกว่า ผูกพันมากกว่า ( 33 ) ยกเว้นขนาดใหญ่ได้ สมมติ เช่น 10 − 2 ≤ aij ใกล้กับ ≤ 102 , foralli jandn = 1000.then ,| D ( 2 ) − AB | ≤ 2 − 6 γ N | เป็น | | B | .เพื่อโชว์ประสิทธิภาพของวิธีการที่เราได้รับ ระดับ 3ขั้นตอนที่ 5 : เศษส่วนสำหรับacc_mul ( A , B , K , δ ) , 0 ≤δ≤ 1ที่นี่ ระดับ 3 ส่วนแสดงจำนวนการคูณเมทริกซ์ได้รับในขั้นตอนวิธี [ 5 ] ในกระดาษนี้เราพิจารณาอัตราส่วน :การคำนวณต้นทุนเมทริกซ์หนาแน่นสำหรับผลิตภัณฑ์ค่าใช้จ่ายในการคำนวณของขั้นตอนวิธีแบบ 5ค่าใช้จ่ายในการคำนวณของขั้นตอนวิธีแบบที่ 5 นับจาก " รองเท้า " เพื่อลดความซับซ้อนของการสนทนาง่าย ให้ A , B ∈ FN × n ตารางเมทริกซ์ แล้วจำนวนของผลิตภัณฑ์แมทริกซ์ กลายเป็น K ( K − 1 ) = 2 + k : T . Let s เป็นหมายเลขผลิตภัณฑ์ของเมตริกซ์หร็อมแหร็ม . ซึ่งแสดงให้เห็นว่าจำนวนของผลิตภัณฑ์เมทริกซ์หนาแน่น T − s . คำนวณต้นทุนสินค้า เมทริกซ์หนาแน่นเป็น 2n3 ( T − s ) รองเท้า . สำหรับการคูณเมทริกซ์หร็อมแหร็ม เรานับ การคำนวณค่าใช้จ่ายสูงสุดเป็น 2s δ N3 flops . โปรดทราบว่าค่าใช้จ่ายสำหรับเมทริกซ์การแยกและอื่น ๆเป็น O ( n2 ) รองเท้า . ถ้า n มีขนาดใหญ่มาก รวม อัตราส่วนที่น้อยที่สุดของจำนวนของผลิตภัณฑ์ทั้งในรูปเมทริกซ์หนาแน่นกลายเป็น2n3 ( T − s ) ≈ T − s ( 46 ) 2n3 ( T − s ) + S ด้วย 2 δ N3 + O ( n2 ) T + S ( δ− 1 )อัตราส่วนนี้ ยืนยันว่า ในส่วนระดับ 3 ผลิตภัณฑ์สำหรับเมทริกซ์มากเลขศูนย์ไม่กี่ขั้นตอนวิธีของเราค่อนข้างสูง คือ วิธีการของเราได้มาประโยชน์ของการเพิ่มประสิทธิภาพโดยบลาส5 สรุปในบทความนี้เราได้ศึกษาข้อผิดพลาดฟรีการแปลงผลิตภัณฑ์เมตริกซ์ เราเปลี่ยนผลิตภัณฑ์สองจุด - เมทริกซ์เป็นเมทริกซ์ของจุด - roundoff ผลรวม unevaluated โดยไม่มีข้อผิดพลาด การใช้ข้อผิดพลาดนี้ฟรีเรานำเสนอวิธีการซึ่งผลผลิตประมาณความถูกต้องของผลิตภัณฑ์แมทริกซ์ วิธีนี้ใช้ส่วนใหญ่เป็นระดับ 3 โดยปรับกิจวัตรเบลสให้ประสิทธิภาพที่ดี ในที่สุด เราก็พบว่าวิธีการของเราสร้างประมาณความถูกต้องของผลิตภัณฑ์แมทริกซ์ ความถูกต้องของการคำนวณผลเพิ่มขึ้นตามจำนวน summands โดยการแปลงข้อผิดพลาดฟรีของผลิตภัณฑ์แมทริกซ์4.2 ระดับ 3 เศษส่วน
การแปล กรุณารอสักครู่..
