طريقة هورنر

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث

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

وصف الخوارزم[عدل]

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

p(x) = a_0 + a_1 x + a_2 x^2 + a_3 x^3 + \cdots + a_n x^n,

حيث a_0, \ldots, a_n أعداد حقيقية, يراد بها حساب متعددة الحدود عن قيم معينة x, ولتكن x0.

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


\begin{align}
b_n & := a_n \\
b_{n-1} & := a_{n-1} + b_n x_0 \\
& {}\  \  \vdots \\
b_0 & := a_0 + b_1 x_0.
\end{align}

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

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

p(x) = a_0 + x(a_1 + x(a_2 + \cdots + x(a_{n-1} + a_n x)\cdots)). \,

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


\begin{align}
p(x_0) & = a_0 + x_0(a_1 + x_0(a_2 + \cdots x_0(a_{n-1} + b_n x_0)\cdots)) \\
& = a_0 + x_0(a_1 + x_0(a_2 + \cdots x_0(b_{n-1})\dots)) \\
& {} \ \  \vdots \\
& = a_0 + x_0(b_1) \\
& = b_0.
\end{align}

أمثلة[عدل]

قيم f_1(x)=2x^3-6x^2+2x-1\, لأجل x=3\;. بإخراج معاملات x, تتابعيا، يمكن كتابة f_1 بالصورة x(x(2x-6)+2)-1\;. باستعمال شكل اصطناعي لترتيب هذه الحسابات وتسريع العمليات

     x_0 |   x^3    x^2     x^1   x^0
 3 |   2    -6     2    -1
   |         6     0     6   
   |----------------------
       2     0     2     5

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

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

بقسمة x^3-6x^2+11x-6\, على x-2:

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

يكون حاصل القسمة x^2-4x+3.

لتكن f_1(x)=4x^4-6x^3+3x-5\, وf_2(x)=2x-1\,. بقسمة f_1(x)\, على f_2\,(x) باستعمال مخطط هورنر.

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

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

\frac{f_1(x)}{f_2(x)}=2x^3-2x^2-x+1-\frac{4}{(2x-1)}.

المصادر[عدل]

مؤلفات[عدل]

  • 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. 

وصلات خارجية[عدل]

نسخة مماثلة[عدل]

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