Lis (مكتبة الجبر الخطي)

Lis ( مكتبة الحلول التكرارية للأنظمة الخطية؛ تُنطق "ليس ") هي مكتبة برمجية متوازية قابلة للتوسع لحل المعادلات الخطية المتقطعة ومسائل القيم الذاتية التي تنشأ أساسًا من الحل العددي للمعادلات التفاضلية الجزئية باستخدام الطرق التكرارية . [ 1 ] [ 2 ] [ 3 ] على الرغم من أنها مصممة للحواسيب المتوازية، إلا أنه يمكن استخدام المكتبة دون الحاجة إلى معرفة المعالجة المتوازية .

سمات

توفر ليس المرافق التالية:

مثال

برنامج مكتوب بلغة C لحل المعادلة الخطيةأx=ب{\displaystyle Ax=b}يُكتب على النحو التالي:

#include <stdio.h> #include "lis_config.h" #include "lis.h"LIS_INT main ( LIS_INT argc , char * argv []) { LIS_MATRIX A ; LIS_VECTOR b , x ; LIS_SOLVER solver ; LIS_INT iter ; double time ;lis_initialize ( & argc , & argv );lis_matrix_create ( LIS_COMM_WORLD , & A ); lis_vector_create ( LIS_COMM_WORLD , & b ); lis_vector_create ( LIS_COMM_WORLD , & x );lis_input_matrix ( A , argv [ 1 ]); lis_input_vector ( b , argv [ 2 ]); lis_vector_duplicate ( A , & x );lis_solver_create ( & solver ); lis_solver_set_optionC ( solver ); lis_solve ( A , b , x , solver );lis_solver_get_iter ( solver , & iter ); lis_solver_get_time ( solver , & time ); printf ( "عدد التكرارات = %d \n " , iter ); printf ( "الوقت المنقضي = %e \n " , time );lis_output_vector ( x , LIS_FMT_MM , argv [ 3 ]);lis_solver_destroy ( solver ); lis_matrix_destroy ( A ); lis_vector_destroy ( b ); lis_vector_destroy ( x );lis_finalize ();return 0 ; }

متطلبات النظام

يتطلب تثبيت Lis وجود مُصرّف لغة C. إذا كنت ترغب في استخدام واجهة Fortran، فستحتاج إلى مُصرّف Fortran، كما يتطلب مُهيئ الشبكة المتعددة الجبرية مُصرّف Fortran 90. [ 4 ] بالنسبة لبيئات الحوسبة المتوازية، يلزم وجود مكتبة OpenMP أو MPI. يدعم Lis كلاً من تنسيقي Matrix Market و Harwell-Boeing لاستيراد وتصدير بيانات المستخدم.

الحزم التي تستخدم Lis

انظر أيضاً

مراجع

  1. أكيرا نيشيدا (2010). "تجربة في تطوير بنية تحتية برمجية مفتوحة المصدر وقابلة للتوسع في اليابان". علوم الحوسبة وتطبيقاتها - المؤتمر الدولي لعلوم الحوسبة وتطبيقاتها 2010. سلسلة محاضرات في علوم الحاسوب 6017. المجلد  6017. سبرينغر. الصفحات 87-98 . doi : 10.1007/978-3-642-12165-4_36 . ISBN  978-3-642-12164-7.
  2. ^ هيساشي كوتاكيموري. هيدهيكو هاسيجاوا؛ تاميتو كاجياما؛ أكيرا نوكادا؛ ريجي سودا وأكيرا نيشيدا (2008). “تقييم أداء منتجات المصفوفات المتفرقة المتوازية على SGI Altix 3700”. OpenMP البرمجة المتوازية للذاكرة المشتركة . ملاحظات المحاضرة في علوم الكمبيوتر 4315. سبرينغر. ص 153 – 163. دوى : 10.1007 / 978-3-540-68555-5_13 . رقم ISBN  978-3-540-68554-8.
  3. هيساشي كوتاكيموري؛ هيديهيكو هاسيغاوا وأكيرا نيشيدا (2005). "تقييم أداء مكتبة أساليب تكرارية متوازية باستخدام OpenMP". وقائع المؤتمر الدولي الثامن للحوسبة عالية الأداء في منطقة آسيا والمحيط الهادئ (HPC Asia 2005) . IEEE. الصفحات 432-436 . doi : 10.1109/HPCASIA.2005.74 . ISBN  0-7695-2486-9. S2CID 6402585 . 
  4. أكيهيرو فوجي؛ أكيرا نيشيدا ويوشيو أوياناغي (2005). "تقييم أوامر إنشاء التجميع المتوازي : طريقة الشبكة الجبرية متعددة المستويات للتجميع المُنعّم". علوم وهندسة الحوسبة عالية الأداء . سبرينغر. ص 99-122 . doi : 10.1007/0-387-24049-7_6 . ISBN   1-4419-3684-X. S2CID 118053459 .