logaddexp(x,y) تحسب log(exp(x)+exp(y)). [1] نختبر معنى المدخل بأعداد مؤلفة.
اقرأ المدخل والناتج
logaddexp تجمع exp(x) وexp(y) داخل اللوغاريتم؛ نكتب الصيغة L(x,y)=ln(exp(x)+exp(y)). [1][2]
الرمز ln هنا للوغاريتم الطبيعي، للأساس e، وexp معكوسه. [2]
نختار كميتين موجبتين 4 و9 بلا وحدة مادية. ليسا احتمالين ولا قياسين؛ نريد جمع هذين العددين عندما تكون البطاقة قد حفظت لوغاريتم كل منهما.
نكتب لذلك x=ln(4) وy=ln(9)، لا x=4 وy=9. قبل حساب الناتج نسجل ما تمثله خانة المدخل: القيمة الأصلية أم لوغاريتمها. اسم الدالة لا يصلح خطأ في معنى البطاقة.
قارن ثلاثة حسابات
للمدخلين المختارين exp(ln(4))=4 وexp(ln(9))=9. يصبح ما داخل اللوغاريتم 4+9=13، ولذلك L(ln(4),ln(9))=ln(13)≈2.564949. بقي الناتج على مقياس اللوغاريتم؛ ليس العدد 13 نفسه.
نختبر مسارًا آخر: جمع المدخلين مباشرة يعطي ln(4)+ln(9). عند رفع e إلى هذا المجموع نحصل على 4×9=36، ومن ثم يكون المجموع ln(36)≈3.583519. هذا يوضح حسابيًا لماذا لا نستبدل L في بطاقة جمع الأصلين بعلامة جمع عادية.
ثم نضع الأصلين نفسيهما في موضعي x وy: L(4,9)=ln(exp(4)+exp(9))≈9.006715. الرقم 9 أصبح أسًا داخل الصيغة، ولم يبق القيمة الأصلية التي كان المطلوب جمعها مع 4.
في الصور والجدول نقرب إلى ست منازل عشرية. احتفظنا في الحساب العشري بدقة أعلى؛ لم نستخدم الأرقام المختصرة على الشاشة مدخلات بديلة عن ln(4) وln(9).
للمراجعة، نسأل عن عكس كل نتيجة: الأولى تعيد 13، والثانية 36، والثالثة exp(4)+exp(9). تغيير المقياس بالأس لا يجعل هذه المجاميع متساوية، لأن المسارات بدأت بتفسيرات مختلفة للمدخل.
أخرج العامل المشترك
نشتق صيغة ثانية لنموذجنا. نضع m=max(x,y)، ثم نكتب exp(x)+exp(y)=exp(m)×(exp(x−m)+exp(y−m)). أخذ اللوغاريتم يعطي L(x,y)=m+ln(exp(x−m)+exp(y−m)).
أحد الأسين داخل القوس يساوي صفرًا، والآخر غير موجب. لذلك أحد الحدين 1، والآخر موجب لا يتجاوز 1 للعدد الحقيقي المحدود؛ مجموعهما أكبر من 1 ولا يتجاوز 2. إذن m<L(x,y)≤m+ln(2).
عندما x=y=t يصبح القوس 2، والناتج t+ln(2). في اختبارنا t=−7، النتيجة −7+ln(2)؛ سلبية المدخلين لا تعني أخذ لوغاريتم عدد سالب، لأن exp يسبق الجمع.
إذا أضفنا ثابتًا c إلى المدخلين، يظهر العامل exp(c) في المجموع؛ لهذا L(x+c,y+c)=c+L(x,y). في زوج ln(4),ln(9) وإزاحة 3 يصبح الناتج 3+ln(13)≈5.564949.
لاحظ أن الإزاحة لا تترك هذا الناتج ثابتًا. نحن نحسب لوغاريتم مجموع غير مطبّع، ولا نقسم الأسس على مجموعها للحصول على نسب. استخدمنا التفكيك للتحقق الجبري، ولم نختبر كيف تنفذ NumPy الصيغة أو مدى دقتها عند أعداد ضخمة.

راجع النموذج وحدوده
أخذنا x وy من الشبكة k/2 للأعداد الصحيحة k من −24 إلى 24. في كل محور 49 قيمة من −12 إلى 12، وعدد الأزواج 49²=2,401. الحساب العشري بدقة 70 رقمًا.
لكل زوج ستة فحوص: الصيغة المباشرة مقابل تفكيك العامل، ومقارنة بحساب math.exp وmath.log، والتماثل عند تبديل المدخلين، والإزاحة المشتركة 3، وحدود الناتج، واستعادة مجموع الأسس بأخذ exp للناتج.
قبلنا فرقًا أقل من 10^(−60) في المقارنات العشرية، وفرقًا أقل من 10^(−13) في مقارنة الفاصلة العائمة. وفحص العكس يستخدم فرقًا نسبيًا أقل من 10^(−60). هذه شروط قبول للمجموعة المحددة، وليست مبرهنة عامة عن خطأ التقريب.
مع ستة فحوص مباشرة لأمثلة 4 و9 والتساوي صار العدد 2,401×6+6=14,412؛ جميعها مرت. ملف الحساب يبين الصيغ والأعداد والحدود المستعملة.
لم نشغل logaddexp أو نفحص dtype أو المصفوفات أو اللانهاية أو الأعداد المركبة أو الأداء. الأمثلة توضح معنى المدخل والناتج وقواعد النموذج الحقيقي المحدود، ولا تقدم ضمان استقرار لكل تنفيذ.
| مسار مؤلف | التعبير الناتج | التقريب |
|---|---|---|
| L(ln4,ln9) | ln13 | 2.564949 |
| ln4+ln9 | ln36 | 3.583519 |
| L(4,9) | ln(exp4+exp9) | 9.006715 |
للتوسع: خصائص اللوغاريتمات.
المراجع
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
