Kahan summation algorithm
Kahan Summation Algorithm is a numerical algorithm designed to reduce the error introduced when adding a sequence of finite precision floating point numbers. Developed by William Kahan in the 1960s, this algorithm is a significant improvement over the straightforward approach to floating point addition, especially in situations where the summands vary greatly in magnitude. The Kahan summation algorithm is widely used in scientific computing and numerical analysis to ensure the accuracy and reliability of computational results.
Overview[edit | edit source]
The primary goal of the Kahan summation algorithm is to minimize the numerical error that accumulates when adding a series of numbers. Floating point arithmetic operations in computers are not exact for most numbers, and the errors can accumulate significantly when performing a large number of operations. The Kahan summation algorithm addresses this issue by keeping a separate running compensation (a very small value) for the lost low-order bits.
Algorithm[edit | edit source]
The algorithm works as follows:
1. Initialize the sum S to 0 and a compensation variable C to 0. 2. For each number x in the sequence to be summed:
a. Y = x - C (subtract the compensation) b. T = S + Y (add x to the sum using the compensated value) c. C = (T - S) - Y (update the compensation; this computes the lost low-order bits in the addition) d. S = T (update the sum)
3. The final sum S is the result, with reduced numerical error.
Applications[edit | edit source]
The Kahan summation algorithm is particularly useful in fields such as numerical analysis, scientific computing, and any area where the accuracy of floating point arithmetic is crucial. It is employed in algorithms where the precision of the result is paramount, such as in the calculation of variances, averages, and total sums over large datasets.
Advantages and Limitations[edit | edit source]
The main advantage of the Kahan summation algorithm is its ability to significantly reduce the error in the total sum without requiring higher precision arithmetic. This makes it a valuable tool in many scientific and engineering applications. However, the algorithm does introduce additional computational overhead due to the extra steps and variables involved. In some cases, where performance is a critical factor, this overhead may be a limiting factor.
See Also[edit | edit source]
References[edit | edit source]
- Kahan, W. (1965). Pracniques: Further Remarks on Reducing Truncation Errors. Communications of the ACM, 8(1), 40.
Search WikiMD
Ad.Tired of being Overweight? Try W8MD's physician weight loss program.
Semaglutide (Ozempic / Wegovy and Tirzepatide (Mounjaro / Zepbound) available.
Advertise on WikiMD
WikiMD's Wellness Encyclopedia |
Let Food Be Thy Medicine Medicine Thy Food - Hippocrates |
Translate this page: - East Asian
中文,
日本,
한국어,
South Asian
हिन्दी,
தமிழ்,
తెలుగు,
Urdu,
ಕನ್ನಡ,
Southeast Asian
Indonesian,
Vietnamese,
Thai,
မြန်မာဘာသာ,
বাংলা
European
español,
Deutsch,
français,
Greek,
português do Brasil,
polski,
română,
русский,
Nederlands,
norsk,
svenska,
suomi,
Italian
Middle Eastern & African
عربى,
Turkish,
Persian,
Hebrew,
Afrikaans,
isiZulu,
Kiswahili,
Other
Bulgarian,
Hungarian,
Czech,
Swedish,
മലയാളം,
मराठी,
ਪੰਜਾਬੀ,
ગુજરાતી,
Portuguese,
Ukrainian
Medical Disclaimer: WikiMD is not a substitute for professional medical advice. The information on WikiMD is provided as an information resource only, may be incorrect, outdated or misleading, and is not to be used or relied on for any diagnostic or treatment purposes. Please consult your health care provider before making any healthcare decisions or for guidance about a specific medical condition. WikiMD expressly disclaims responsibility, and shall have no liability, for any damages, loss, injury, or liability whatsoever suffered as a result of your reliance on the information contained in this site. By visiting this site you agree to the foregoing terms and conditions, which may from time to time be changed or supplemented by WikiMD. If you do not agree to the foregoing terms and conditions, you should not enter or use this site. See full disclaimer.
Credits:Most images are courtesy of Wikimedia commons, and templates Wikipedia, licensed under CC BY SA or similar.
Contributors: Prab R. Tumpati, MD