مخطط هورنر

في التحليل العددي، طريقة هورنر، أو مخطط هورنر، أو خوارزمية هورنر على اسم ويليم جورج هورنر، هي خوارزمية فعالة لتقييم كثيرات الحدود ومشتقاتها عند نقطة معينة في شكل أحادية حدود. تصف طريقة هورنر عملية يدوية يمكن بواسطتها تقريب جذور معادلة كثيرة حدوود. يمكن النظر لمخطط هورنر أيضا على أنه خواريزم سريع لقسمة كثيرة حدود على كثيرة حدود خطية بقاعدة رفيني.

وصف الخوارزم

لتكن دالة كثيرة الحدود

p(x)=a0+a1x+a2x2+a3x3++anxn,

حيث a0,,an أعداد حقيقية, يراد بها حساب متعددة الحدود عن قيم معينة x, ولتكن x0.

لفعل ذلك, يتم تعريف تعاقب جديد من الثوابت كما يلي:

bn:=anbn1:=an1+bnx0b0:=a0+b1x0.

حينئذ b0 هي قيمة p(x0).

لمعرفة سبب عمل هذا, لاحظ أن بالإمكان كتابة كثيرة الحدود على الصورة

p(x)=a0+x(a1+x(a2++x(an1+anx))).

وبالتالي, وبالتعويض المتتابع لـ bi في التعبير,

p(x0)=a0+x0(a1+x0(a2+x0(an1+bnx0)))=a0+x0(a1+x0(a2+x0(bn1)))=a0+x0(b1)=b0.

أمثلة

قيم f1(x)=2x36x2+2x1 لأجل x=3. بإخراج معاملات x, تتابعيا، يمكن كتابة f1 بالصورة x(x(2x6)+2)1. باستعمال شكل اصطناعي لترتيب هذه الحسابات وتسريع العمليات

x0 |   x3    x2     x1   x0
 3 |   2    -6     2    -1
   |         6     0     6   
   |----------------------
       2     0     2     5

مدخلات الصف الثالث هي مجموع المدخلات في الصفين الأول والثاني. كل مدخل في الصف الثاني يكون نتاج ضرب قيمة x (3 في هذا المثال(بمدخل الصف الثالث مباشرة إلى اليسار. المدخلات في الصف الأول هي معاملات كثيرة الحدود المراد حسابها. الجواب هو 5.

وكنتيجة لنظرية باقي كثيرة الحدود، تكون مدخلات الصف الثالث هي معاملات كثيرة الحدود من الدرجة الثانية التي هي حاصل قسمة f1/(x-3). الباقي هو 5. هذا يجعل طريقة هورنر مفيدة في قسمة كثيرة الحدود المطولة.

بقسمة x36x2+11x6 على x2:

 2 |   1    -6    11    -6
   |         2    -8     6   
   |----------------------
       1    -4     3     0

يكون حاصل القسمة x24x+3.

لتكن f1(x)=4x46x3+3x5 وf2(x)=2x1. بقسمة f1(x) على f2(x) باستعمال مخطط هورنر.

  2 |  4    -6    0    3   |   -5
---------------------------|------
  1 |        2   -2   -1   |    1
    |                      | 
    |----------------------|-------
       2    -2    -1   1   |   -4   

الصف الثالث هو مجموع الصفين الأول والثاني، مقسوما على 2. كل مدخل في الصف الثاني هو حاصل ضرب 1 مع مدخل الصف الثالث إلى اليسار. الإجابة تكون:

f1(x)f2(x)=2x32x2x+14(2x1).

المصادر

مؤلفات

  • William George Horner. A new method of solving numerical equations of all orders, by continuous approximation. In Philosophical Transactions of the Royal Society of London, pp. 308–335, July 1819.
  • Spiegel, Murray R. (1956). Schaum's Outline of Theory and Problems of College Algebra. McGraw-Hill Book Company. 
  • Donald Knuth. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Third Edition. Addison-Wesley, 1997. ISBN 0-201-89684-2. Pages 486–488 in section 4.6.4.
  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 2001. ISBN 0-262-03293-7. Problem 2-3 (pg. 39) and page 823 of section 30.1: Representation of polynomials.
  • Kripasagar, Venkat (March 2008). "Efficient Micro Mathematics – Multiplication and Division Techniques for MCUs". Circuit Cellar magazine (212): p. 60. 

وصلات خارجية

نسخة مماثلة

مخطط هورنر - موسوعة المعرفة

be:Схема Горнера cs:Hornerovo schéma de:Horner-Schema Horner scheme]] eo:Hornera algoritmo es:Algoritmo de Horner fa:روش هورنر fr:Méthode de Ruffini-Horner it:Regola di Horner ja:ホーナー法 nl:Hornerschema pl:Schemat Hornera pt:Esquema de Horner ro:Schemă Horner ru:Схема Горнера sl:Hornerjev algoritem sv:Horners algoritm uk:Схема Горнера zh:秦九韶算法