levmar

البرمجيات قطة:
levmar
تفاصيل البرنامج:
الإصدار: 2.6
تاريخ إيداع: 15 Apr 15
المطور: Manolis Lourakis
ترخيص: حرر
شعبية: 96

Rating: 5.0/5 (Total Votes: 1)

وlevmar هو تنفيذ غير الخطية Levenberg-ماركوارت المربعات الخوارزميات في C / C ++.

روتين lmder من Minpack، نفذت في أوائل 80s "في مختبر أرغون الوطني، وربما كان الأكثر استخداما تنفيذ خالية من الخوارزمية LM. هو مكتوب lmder في FORTRAN77 وعلى مر السنين وقد ثبت أن قطعة موثوق من البرمجيات. وبالنظر إلى أن الروتين FORTRAN يمكن استدعاؤها من C / C ++، يمكن للمرء أن يتساءل عن الدافع لكتابة نسخة من LM في C. حسنا، المشكلة هي أنه عندما يتم استدعاء FORTRAN من C، يجب أن يكون مبرمج على علم (ومطابقة ل ) عدة قواعد بشأن تغيير اسم اسم، حجة عابرة، متعدد الأبعاد تخطيط الذاكرة مجموعة والاتفاقيات الربط وغيرها، والتي هي غير طبيعي مقارنة مع قواعد C العادية. والسبب الثاني هو أن هذا النهج يأخذ من المسلم به أن مترجم FORTRAN للبيئة البرمجة الهدف هو متاح، والتي قد لا تكون بالضرورة. وهناك سبب آخر لا علاقة له الفشل في فهم الأعمال الداخلية لتنفيذ FORTRAN: أحيانا، عندما يكون من الضروري أن نفهم بالضبط ما يفعله رمز FORTRAN، وقطع معينة من أنه قد يبدو غير مفهوم للمبرمجين دون أي معرفة FORTRAN. FORTRAN التلقائي للمترجمين C (على سبيل المثال F2C) لا يحل المشكلة منذ رمز C أنتجت هو غير مقروء جدا لدى البشر "غير الملم". وعلاوة على ذلك، وثائق تصف الرياضيات التي يستند تنفيذ قد تكون غامضة أو لا يمكن الوصول إليها. وأخيرا وليس آخرا، يجب أن يكون تنفيذ LM مرشح في C حرة وسليمة من الناحية الفنية. على سبيل المثال، C البديل من الخوارزمية LM المعروضة في "وصفات العددية" كتاب (أي mrqmin)، ليس دائما خيارا قابلا للتطبيق: وإلى جانب كونها حقوق الطبع والنشر، وتشتهر أنها تفتقر إلى قوة

. للأسباب المذكورة أعلاه، لقد وضعت حزمة levmar التي تضم تطبيقات C من النكهات LM التي هي أيضا قابلة للاستخدام مع C ++. يشمل levmar مزدوجة ومفردة تطبيقات الدقة LM، سواء مع الفرق التحليلي ومحدود تقريب Jacobians. ومن قدم مجانا، تحت شروط رخصة جنو العمومية العامة. يوصف نظرية رياضية وراء levmar غير المقيدة بالتفصيل في الملاحظات محاضرة بعنوان طرق غير الخطية المربعات مشاكل، من خلال K. مادسن، HB نيلسن وO. Tingleff، الجامعة التقنية في الدنمارك. تطبيقات ماتلاب من الخوارزميات التي قدمت في مذكرات المحاضرات وتتوفر أيضا. ومع ذلك نلاحظ أن صياغة المشكلة تقليل اعتمدت هنا يختلف قليلا عن تلك التي وصفها في الملاحظات محاضرة استخدام

وظيفة في:

levmar تقدم عدة وظائف للمستخدم استدعاء طاعة اصطلاح التسمية التالية: الرسالة الأولى (د أو ق) يحدد الدقة المزدوجة أو واحد ولاحقة (_der أو _dif) يدل على مصفوفه جاكوبي التحليلي أو تقريبي. إذا كان موجودا، وكرا، قبل الميلاد، ومكونات blec يعني المعادلة الخطية، مربع ومربع في وقت واحد والقيود المعادلة الخطية، على التوالي. وبشكل أكثر تحديدا، ويشمل levmar وظائف أدناه:

غير المقيد الأمثل

dlevmar_der (): الدقة المزدوجة، مصفوفه جاكوبي التحليلي
dlevmar_dif (): الدقة المزدوجة، الفارق محدود تقريب مصفوفه جاكوبي slevmar_der
(): الدقة واحدة، تحليلية slevmar_dif
مصفوفه جاكوبي (): الدقة واحد، الفارق محدود يقترب مصفوفه جاكوبي

لتحسين مقيدة

dlevmar_lec_der () : الدقة المزدوجة، والقيود المعادلة الخطية، مصفوفه جاكوبي التحليلي
dlevmar_lec_dif (): الدقة المزدوجة، والقيود المعادلة الخطية، وتقريب الفروق المنتهية مصفوفه جاكوبي
slevmar_lec_der (): الدقة واحد، والقيود المعادلة الخطية،
مصفوفه جاكوبي التحليلي slevmar_lec_dif (): الدقة واحد، والقيود المعادلة الخطية، وتقريب الفروق المنتهية مصفوفه جاكوبي

dlevmar_bc_der (): الدقة المزدوجة، والقيود مربع، مصفوفه جاكوبي التحليلي
dlevmar_bc_dif (): الدقة المزدوجة، والقيود مربع، محدود الفرق تقريب مصفوفه جاكوبي
slevmar_bc_der (): الدقة واحد، والقيود مربع، تحليلية slevmar_bc_dif
مصفوفه جاكوبي (): الدقة واحد، والقيود مربع، تقريب الفروق المنتهية مصفوفه جاكوبي

dlevmar_blec_der (): مزدوجة الدقة، مربع والقيود المعادلة الخطية، والتحليلية dlevmar_blec_dif
مصفوفه جاكوبي (): الدقة المزدوجة، مربع والقيود المعادلة الخطية، وتقريب الفروق المنتهية مصفوفه جاكوبي
slevmar_blec_der (): الدقة واحدة، مربع ومعادلة خطية القيود، مصفوفه جاكوبي التحليلي
slevmar_blec_dif (): الدقة واحدة، مربع ومعادلة خطية القيود، تقريب الفروق المنتهية مصفوفه جاكوبي

لاحظ أن استخدام الفروق المحدودة لتقريب النتائج مصفوفه جاكوبي في التقييمات المتكررة من وظيفة لتركيبها. تهدف إلى خفض العدد الإجمالي لهذه التقييمات، وظائف xxxxxxx_dif تنفيذ تقريبية القاطع لمصفوفه جاكوبي باستخدام رتبة التحديثات Broyden واحد. جميع وظائف حل المشكلة نفسها، أي أنها تسعى ع ناقلات المعلمة التي تصف أفضل (من حيث القاعدة L2) القياسات ناقلات س. أكثر دقة، نظرا وظيفة النواقل و: R ^ م -> R ^ ن ن مع> = م، يحسبون ا ف ب بحيث و (ع) ~ = س، أي القاعدة المربعة || ه || ^ 2 = | | XF (ع) || يتم تصغير ^ 2. أيضا، والقيود مربع من النموذج رطل [أنا]

ما هو الجديد في هذا الإصدار:

هذا الإصدار يضيف دعما لتوسيع نطاق قطري لxlevmar_bc_der ()، التي يمكن أن تحسن التقارب عندما نقطة البداية هي بعيدة عن شراع صحيح.
وهناك أنظمة حلالا الخطي دعم مواز التحلل Cholesky مع PLASMA، المكتبة الجبر الخطي للمعالجات متعددة النواة.
وقد تم إصلاح يحلون الخطية بحيث تعمل على مثلثات أقل من المصفوفات المتماثلة، مما يؤدي إلى أداء أفضل مخبأ.
وقد تم تنقيح ملفات التكوين CMake لبناء المشروع.
وقد بذلت العديد من التغييرات الطفيفة الأخرى.

ما هو جديد في الإصدار 2.5:

تنبيه للإصدارات المستخدمين السابقة: لأفضل الاتساق وتجنب الصراعات، تم تغيير اسم ملف الرأس levmar من lm.h إلى levmar. ح. يرجى تحديث الملفات المصدر وفقا لذلك.
واضاف لدعم تقليل تحت مربع في وقت واحد، معادلة خطية والمعوقات عدم المساواة (انظر ظائف xlevmar_bleic_der () وxlevmar_bleic_dif ()).
الراحة مغلفة تنفيذها لxlevmar_bleic_der () وxlevmar_bleic_dif () التعامل مع الحالات مقيدة بساطة، على سبيل المثال xlevmar_blic_der () وxlevmar_blic_dif () دعم تقليل ظل قيود مربع وعدم المساواة الخطية فقط.
وأضاف حلال للأنظمة الخطية بناء على التحلل UDUt (Cholesky أي خالية الجذر التربيعي).
إزالة بعض نسخ الذاكرة غير الضرورية من معظم يحلون الخطية.
وأضاف اختبارا جديدا مشكلة في تركيب البيانات (أوزبورن).
جعل بعض التغييرات الطفيفة الأخرى.

ما هو الجديد في الإصدار 2.4:

تنبيه للإصدارات السابقة المستخدمين: حجم المعلومات الحجة (أي LM_INFO_SZ) وبنسبة واحدة لاستيعاب حقل عودة جديدة (أي ، معلومات [9]) الذي يتوافق مع العدد الكلي للأنظمة الخطية حلها خلال تقليل. لا تزال مؤشرات حقول عاد سابقا في مجموعة من المعلومات دون تغيير.
تنفيذ مخطط ذاكرة التخزين المؤقت كفاءة أكثر لحساب هسه J تقريبي ^ T * J وJ ^ T * البريد لمشاكل التقليل صغيرة الحجم.
التأكد من أن أي عمل الذاكرة احتفظت بين الدعاء من يحلون الخطية ويطلق سراحهم عند انتهاء الروتينية levmar.
التأكد من أن يحلون الخطية تستخدم الحد الأدنى من المبلغ المطلوب من الذاكرة الإضافية، وتجنب الإفراط في بعض الأحيان المخصصات.
تنفيذ خطة الفتح حلقة لتسريع حساب البريد = س-HX.
الثابتة زوجين من القضايا مع محاذاة الذاكرة على أنظمة 64 بت.
وأضاف وظائف لحساب معامل التحديد.
التعامل مع بعض القضايا البسيطة.

برامج مماثلة

تعليقات ل levmar

لم يتم العثور على التعليقات
إضافة تعليق
بدوره على الصور!