حل کنندہ اور پیش شرطی¶
FrontISTR کا خطی حل کنندہ براہِ راست یا تکراری طریقہ منتخب کر کے خطی مساوات حل کرتا ہے، اور تکراری طریقے کے ساتھ پیش شرط کنندہ استعمال کیا جاتا ہے۔ MPC کی کارروائی اور تماسی درجاتِ آزادی کا اخراج معاون انتخاب ہیں جو یہ طے کرتے ہیں کہ کثیر نقطی یا تماسی قیود پر مشتمل خطی نظام کس صورت میں حل کنندہ کو دیا جائے۔
افعال کا مجموعی خاکہ¶
حل کنندہ اور پیش شرطی درج ذیل انتخابات پر مشتمل ہیں۔ پہلے خطی حل کنندہ کے لیے تکراری یا براہِ راست طریقہ منتخب کیا جاتا ہے، اور صرف تکراری طریقہ منتخب ہونے پر پیش شرط کنندہ ساتھ استعمال کیا جاتا ہے۔
| زمرہ | اہم انتخابات | کردار |
|---|---|---|
| تکراری طریقہ | CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN | بڑے تنک میٹرکس کو کم یادداشت کے ساتھ حل کرتا ہے۔ |
| تکراری طریقے کا پیش شرط کنندہ | SSOR، قطری اسکیلنگ، BILU، AMG، SAINV، RIF | تکراری طریقے کا تقارب بہتر کرتا ہے؛ براہِ راست طریقے میں استعمال نہیں ہوتا۔ |
| براہِ راست طریقہ | MUMPS, MKL | تجزیۂ میٹرکس کے ذریعے خطی مساوات کو مضبوطی سے حل کرتا ہے۔ |
| MPC کارروائی | پنالٹی طریقہ، صریح درجۂ آزادی اخراج | کثیر نقطی قید کو خطی نظام میں شامل کرتا ہے۔ |
| تماسی درجۂ آزادی اخراج | خودکار، ہمیشہ فعال | SLAGRANGE تماس سے شامل ہونے والے تماسی درجاتِ آزادی کا برتاؤ بدلتا ہے۔ |
| معاون افعال | شرطی عدد کا تخمینہ، میٹرکس ڈمپ، لاگ آؤٹ پٹ | ڈیبگ، تقارب کی جانچ اور کارکردگی کی پیمائش میں مدد دیتے ہیں۔ |
متوازی اجرا میں ڈومین تقسیم کے ذریعے MPI متوازیت اور OpenMP تھریڈ متوازیت کو ملا کر استعمال کیا جا سکتا ہے۔ بڑے متوازی تجزیے میں تکراری طریقہ معیاری انتخاب ہے، جبکہ مناسب لائبریری لنک شدہ ہو اور زیادہ مضبوط حل درکار ہو تو براہِ راست طریقہ استعمال کیا جاتا ہے۔
حل کنندہ اور پیش شرط کنندہ کا انتخاب¶
پہلے یہ طے کریں کہ تکراری طریقہ استعمال کرنا ہے یا براہِ راست طریقہ؛ تکراری طریقہ منتخب ہونے پر پھر پیش شرط کنندہ منتخب کریں۔
| فیصلہ کن پہلو | تجویز کردہ سوچ |
|---|---|
| مسئلے کا حجم | چھوٹے اور درمیانے مسئلوں میں براہِ راست طریقہ مستحکم اور آسان ہے؛ بڑے مسئلوں میں تکراری طریقہ یادداشت کے لحاظ سے مؤثر ہے۔ |
| میٹرکس کی تقارنیت | متقارن مثبت معین مسئلے میں CG امیدوار ہے؛ غیر متقارن مسئلے میں BiCGSTAB, GMRES, GPBiCG وغیرہ پر غور کریں۔ |
| متوازی ماحول | MPI متوازیت میں تکراری طریقے کو ڈومین تقسیم کے ساتھ استعمال کریں۔ OpenMP متوازیت میں پیش شرط کے لیے کثیر رنگی SSOR امیدوار ہے۔ |
| پیش شرط (تکراری طریقہ منتخب ہونے پر) | پہلے پہلے سے طے شدہ SSOR آزمائیں، پھر AMG پر غور کریں۔ اچھے تقارب کی صورت میں SSOR حسابی طور پر ہلکا ہے؛ پیچیدہ بڑے مسائل کے لیے AMG پیش شرط موزوں ہے۔ AMG کی Trilinos-ML پر مبنی عمل کاری اور HEC-MW میں شامل SA-AMG عمل کاری دستیاب ہیں؛ بلڈ کی ترتیب کے مطابق انتخاب کریں۔ |
| تماس اور MPC | تماس یا کثیر نقطی قید والے تجزیے میں MPC کارروائی اور تماسی درجۂ آزادی اخراج کا انتخاب تقارب اور مضبوطی کو متاثر کرتا ہے۔ |
| بیرونی لائبریریاں | MUMPS، MKL اور AMG (Trilinos-ML) متعلقہ لائبریریاں لنک کیے گئے بلڈ میں دستیاب ہیں۔ AMG (SA-AMG) ایسے بلڈ میں دستیاب ہے جس میں LAPACK فعال ہو۔ |
معیاری تجزیے میں تقارب کی حد، زیادہ سے زیادہ تکرارات، اور پیش شرط کی قطری تصحیح جیسے پیرامیٹر عموماً پہلے سے طے شدہ قدروں پر کافی ہوتے ہیں۔ صرف جب تقارب سست ہو یا حل منتشر ہو تو تکراری طریقہ، پیش شرط کنندہ، MPC کارروائی، اور تماسی درجۂ آزادی اخراج کو ترتیب سے دوبارہ دیکھیں۔ پیرامیٹر کی قدروں اور نحو کے لیے کلیدی لفظ کے حوالے میں !SOLVER دیکھیں۔
تکراری طریقے¶
تکراری طریقہ بڑے تنک میٹرکس کے لیے میٹرکس-ویکٹر ضرب اور پیش شرط کو بار بار استعمال کر کے حل تازہ کرتا ہے۔ FrontISTR میں درج ذیل تکراری طریقے منتخب کیے جا سکتے ہیں۔
| تکراری طریقہ | موزوں استعمال | نوٹ |
|---|---|---|
CG | متقارن مثبت معین مسئلہ | ساختی اور حرارت ترسیل تجزیے کا معیاری امیدوار ہے۔ |
BiCGSTAB | غیر متقارن مسئلہ | تماس یا کپلنگ سے مضبوط غیر تقارن پیدا ہونے پر امیدوار ہے۔ |
GMRES | غیر متقارن مسئلہ | Krylov ذیلی فضاء کا حجم متعین کر کے استعمال کیا جاتا ہے۔ |
GPBiCG | غیر متقارن مسئلہ | BiCGSTAB خاندان کے بہتر طریقے کے طور پر استعمال ہوتا ہے۔ |
GMRESR | غیر متقارن مسئلہ، پیش رفتہ استعمال | GMRES کو اندرونی طور پر استعمال کرنے کا اختیار ہے۔ |
GMRESREN | غیر متقارن مسئلہ، پیش رفتہ استعمال | GMRESR خاندان کا بازگشتی نسخہ ہے۔ |
CG فرض کرتا ہے کہ میٹرکس متقارن مثبت معین ہے۔ رگڑی تماس، غیر متقارن قیدی کارروائی، یا کپلنگ کے اثرات سے غیر تقارن مضبوط ہو تو BiCGSTAB، GMRES یا GPBiCG پر غور کریں۔ GMRES میں Krylov ذیلی فضاء بڑا کرنے سے کبھی تقارب بہتر ہوتا ہے، مگر یادداشت کا استعمال بھی بڑھتا ہے۔
METHOD2 دینے پر، اگر CG منتشر ہو یا ناکام ہو، تو متبادل تکراری طریقے پر منتقل کیا جا سکتا ہے۔ یہ CG کو بنیادی حل کنندہ بنانے کی صورت میں فال بیک ہے، اور دیگر ترتیبات اور ڈیٹا سطور وہی رہتی ہیں جو بنیادی حل کنندہ کے لیے ہیں۔
CG، BiCGSTAB، GPBiCG اور PipeCG باقی ماندہ ویکٹر کو بازگشتی تعلق کے ذریعے تازہ کرتے ہیں، اس لیے تکرارات بڑھنے کے ساتھ گولائی کی خطائیں جمع ہوتی جاتی ہیں اور حساب شدہ باقی ماندہ حقیقی باقی ماندہ سے دور ہو سکتا ہے۔ اسے روکنے کے لیے، مقررہ تعداد کی تکرارات کے بعد باقی ماندہ ویکٹر کو دائیں طرف اور میٹرکس-ویکٹر حاصل ضرب سے دوبارہ حساب کیا جاتا ہے۔ RECOMPUTE_RESIDUAL سے یہ وقفہ متعین کیا جا سکتا ہے۔ وقفہ بڑھانے سے میٹرکس-ویکٹر حاصل ضرب کی تعداد کم ہوتی ہے، لیکن بازگشتی تعلق سے حاصل شدہ باقی ماندہ حقیقی باقی ماندہ سے دور ہو سکتا ہے، جس سے ایسے حل کو متقارب قرار دینے کا خطرہ بڑھتا ہے جو حقیقت میں متقارب نہ ہوا ہو۔ اس کے برعکس، وقفہ بہت کم کرنے سے نہ صرف میٹرکس-ویکٹر حاصل ضرب بڑھتے ہیں بلکہ بازگشتی تعلق کے ذریعے برقرار رکھے گئے باقی ماندہ اور معاون ویکٹروں کا تعلق بھی بگڑ سکتا ہے، اور خود تقارب خراب ہو سکتا ہے۔ ہر طریقے کی طے شدہ قدر ان عوامل میں توازن رکھ کر مقرر کی گئی ہے؛ اسے بدلنے پر تقارب کی تاریخ اور آخری نسبتی باقی ماندہ کی جانچ کریں۔
پیش شرط¶
پیش شرط، تکراری طریقے کا تقارب بہتر کرنے کے لیے ضریبی میٹرکس کو تبدیل کرنے کی کارروائی ہے اور صرف تکراری طریقے میں لاگو ہوتی ہے۔ براہِ راست طریقے میں پیش شرط استعمال نہیں ہوتی۔ ایک ہی تکراری طریقے میں پیش شرط کنندہ بدلنے سے تقارب تک تکرارات کی تعداد اور حسابی وقت نمایاں طور پر بدل سکتا ہے۔
| پیش شرط کنندہ | خصوصیت | موزوں استعمال |
|---|---|---|
| SSOR | معیاری پیش شرط؛ کثیر رنگی ترتیب کی معاونت کرتا ہے۔ | پہلا امیدوار؛ ساختی تجزیے میں وسیع استعمال۔ |
| قطری اسکیلنگ | قطری اجزا استعمال کرنے والا ہلکا پیش شرط۔ | جب حسابی خرچ کم رکھنا ہو۔ |
| BILU | بلاک کی اکائی میں نامکمل LU تجزیہ۔ | جب SSOR سے تقارب مشکل ہو۔ |
| AMG (Trilinos-ML) | بیرونی Trilinos-ML لائبریری پر مبنی الجبری کثیر گرڈ۔ | بڑے مسئلے یا درجہ وار خطائی اجزا غالب ہوں۔ |
| AMG (SA-AMG) | HEC-MW میں شامل Smoothed Aggregation نوعیت کا الجبری کثیر گرڈ۔ | اسی نوعیت کے مسائل کے لیے؛ اضافی بیرونی لائبریری کے بغیر AMG استعمال کرنے کا امیدوار۔ |
| SAINV | Sparse Approximate Inverse۔ | تماس یا تقسیم شدہ ماحول میں خصوصی پیش شرط کا امیدوار۔ |
| RIF | Robust Incomplete Factorization۔ | نامکمل تجزیہ خاندان کا متبادل۔ |
SSOR معیاری انتخاب ہے اور OpenMP متوازیت میں اس کا کثیر رنگی ترتیب والا نسخہ استعمال ہوتا ہے۔ قطری اسکیلنگ ہلکی ہے مگر تقارب پر اثر مسئلے کے لحاظ سے مختلف ہوتا ہے۔ BILU بلاک کی اکائی میں نامکمل LU تجزیے کے طور پر نافذ ہے اور عمومی DOF میٹرکس کی معاونت کرتا ہے۔ BILU خاندان میں اگر تکراری طریقہ منتشر ہو تو قطری تصحیح عدد SIGMA_DIAG کو خودکار طور پر بڑھا کر دوبارہ کوشش کرنے کا راستہ موجود ہے؛ قدر کی تفصیل کلیدی لفظ کے حوالے میں دیکھیں۔
AMG (الجبری کثیر گرڈ) کی دو عمل کاریاں ہیں: بیرونی Trilinos-ML لائبریری استعمال کرنے والی عمل کاری اور HEC-MW میں شامل SA-AMG۔ یہ آزاد عمل کاریاں ہیں اور ان کے مطلوبہ بلڈ کی ترتیب اور دستیاب اختیارات مختلف ہیں۔
Trilinos-ML پر مبنی AMG کے لیے بلڈ کے وقت ML فعال ہونا ضروری ہے۔ اسمودر، کثیر گرڈ سائیکل، موٹا کرنے کا طریقہ اور دوسری ترتیبات متعین کی جا سکتی ہیں؛ تفصیلی قدروں کے لیے کلیدی لفظ کا حوالہ دیکھیں۔
SA-AMG، Smoothed Aggregation نوعیت کا الجبری کثیر گرڈ پیش شرط کنندہ ہے اور اسے Trilinos-ML درکار نہیں۔ تاہم یہ اندرونی طور پر LAPACK استعمال کرتا ہے، اس لیے LAPACK فعال بلڈ ضروری ہے؛ LAPACK غیر فعال بلڈ میں اسے منتخب کرنے پر پروگرام تجزیہ شروع کیے بغیر ختم ہو جاتا ہے۔ موٹے گرڈ کے حل کے لیے MUMPS فعال بلڈ میں MUMPS استعمال کیا جا سکتا ہے، ورنہ اندرونی کثیف میٹرکس براہِ راست طریقہ استعمال ہوتا ہے۔
SA-AMG بنیادی طور پر متقارن مثبت معین نظاموں (CG) کے لیے ہے، مگر رگڑی تماس سے پیدا ہونے والے غیر متقارن مختصر شدہ نظاموں (BiCGSTAB، GMRES وغیرہ) کی بھی معاونت کرتا ہے۔ فی نوڈ 1 (حرارت ترسیل)، 2 (مستوی)، 3 (ٹھوس) اور 6 (شیل) درجاتِ آزادی کی معاونت ہے، مگر ایسے میٹرکس کی معاونت نہیں جن میں ہر نوڈ پر درجاتِ آزادی کی تعداد مختلف ہو۔ موٹے گرڈ کا حل کنندہ، کثیر گرڈ سائیکل، اسمودر کی ترتیب اور دوسرے اختیارات متعین کیے جا سکتے ہیں، جبکہ معیاری تجزیے میں پہلے سے طے شدہ قدریں استعمال کی جا سکتی ہیں۔ قدروں اور نحو کے لیے کلیدی لفظ کا حوالہ دیکھیں۔ GPU (OpenACC) فعال بلڈ میں پیش شرط کے اطلاق کا حصہ GPU پر چلتا ہے۔
تماس یا MPC والے متوازی تجزیے میں SAINV استعمال کرنے پر ڈومین تقسیم کی اوورلیپ گہرائی تقارب کو متاثر کر سکتی ہے۔
براہِ راست طریقے¶
براہِ راست طریقہ ضریبی میٹرکس کا تجزیہ کر کے خطی مساوات حل کرتا ہے۔ تکرارات پر منحصر نہ ہونے کے باعث یہ مضبوط ہوتا ہے اور تماس یا قیود والے تجزیے میں مستحکم انتخاب بن سکتا ہے۔ دوسری طرف مسئلہ بڑا ہونے پر یادداشت کا استعمال بڑھ جاتا ہے۔
| براہِ راست طریقہ | متوازی ماحول | استعمال |
|---|---|---|
MUMPS | MPI متوازیت | تقسیم شدہ یادداشت میں تنک میٹرکس کو براہِ راست حل کرتا ہے۔ |
MKL | Intel MKL / OpenMP | Intel MKL کا براہِ راست طریقہ؛ اندرونی طور پر Intel PARDISO استعمال ہوتا ہے۔ متعدد MPI پراسیس میں Cluster MKL راستہ استعمال ہوتا ہے۔ DIRECTmkl، MKL کا عرف ہے۔ |
براہِ راست طریقے متقارن اور غیر متقارن دونوں میٹرکس پر استعمال کیے جا سکتے ہیں۔ MUMPS اور MKL کے لیے بلڈ کے وقت متعلقہ لائبریری لنک ہونا ضروری ہے۔ لائبریری نہ ہو تو یہ دستیاب نہیں ہوتے؛ مطلوبہ انحصارات اور CMake اختیارات کے لیے بلڈ گائیڈ دیکھیں۔
FrontISTR میں بیرونی لائبریری کے بغیر اندرونی براہِ راست طریقے کا راستہ بھی ہے، لیکن عام تجزیے میں براہِ راست حل کے لیے MUMPS یا MKL کو ترجیحی امیدوار سمجھیں۔
براہِ راست طریقے میں پیش شرط لاگو نہیں ہوتی۔ !SOLVER میں پیش شرط متعین ہونے کے باوجود براہِ راست راستہ اسے استعمال نہیں کرتا۔
MPC کارروائی¶
MPC کارروائی یہ طے کرتی ہے کہ کثیر نقطی قید سے منسلک درجاتِ آزادی خطی مساوات میں کس طرح شامل ہوں۔ ان پٹ قیدی مساوات یکساں رہتی ہے، مگر کارروائی کے طریقے سے ضریبی میٹرکس کی خصوصیات اور تقارب بدل سکتا ہے۔
| MPC طریقہ | حیثیت | پہلے سے طے شدہ استعمال |
|---|---|---|
| پنالٹی طریقہ | قیدی مساوات میں بڑی سختی شامل کر کے اسے تقریبی طور پر پورا کرتا ہے۔ | براہِ راست طریقے میں پہلے سے طے شدہ۔ |
| صریح درجۂ آزادی اخراج | مقید درجاتِ آزادی نکال کر مختصر شدہ خطی نظام حل کرتا ہے۔ | تکراری طریقے میں پہلے سے طے شدہ۔ |
براہِ راست طریقے میں پنالٹی طریقہ پہلے سے طے شدہ ہے، جبکہ تکراری طریقے میں صریح درجۂ آزادی اخراج پہلے سے طے شدہ ہے۔ پہلے دستیاب MPC-CG طریقہ حذف کر دیا گیا ہے؛ MPCMETHOD=2 متعین کرنے پر انتباہ جاری کیا جاتا ہے اور متعلقہ پہلے سے طے شدہ طریقہ استعمال ہوتا ہے۔
صریح درجۂ آزادی اخراج میں، موڈل تجزیے اور صریح طریقے کے حرکی تجزیے میں استعمال ہونے والی مرتکز کمیت بھی سختی میٹرکس والی اسی تبدیلی سے مختصر کی جاتی ہے۔ چونکہ مختصر شدہ کمیت میٹرکس عموماً قطری نہیں ہوتی، اس لیے اس کی ہر قطار کا مجموعہ مرتکز کمیت کے طور پر استعمال ہوتا ہے۔ ربط یا اندرونی تخمینے کی ان قیود میں جن کی قیدی مساوات کے ضریبوں کا مجموعہ 1 ہو، تابع درجاتِ آزادی کی کمیت ضریبوں کے تناسب سے حاکم درجاتِ آزادی میں تقسیم کی جاتی ہے۔
MPC کارروائی !SOLVER کے MPCMETHOD سے واضح طور پر متعین کی جا سکتی ہے۔ قدروں کے معنی اور نحو کے لیے کلیدی لفظ کا حوالہ دیکھیں۔
تماسی درجۂ آزادی کا اخراج¶
تماسی درجۂ آزادی کا اخراج SLAGRANGE تماس سے شامل ہونے والے درجاتِ آزادی کو خطی حل کنندہ کو دینے سے پہلے مختصر کرتا ہے۔ ان درجاتِ آزادی کو نکالنے سے بعض صورتوں میں تکراری طریقے کے خطی نظام کی خصوصیات بہتر ہوتی ہیں۔
پہلے سے طے شدہ خودکار حالت میں تکراری طریقے کے ساتھ تماسی درجۂ آزادی نکالے جاتے ہیں، جبکہ براہِ راست طریقے کے ساتھ نہیں۔ براہِ راست طریقے میں تماسی درجاتِ آزادی سمیت بڑھے ہوئے نظام کو جوں کا توں حل کرنے کا راستہ موجود ہے۔
CONTACT_ELIM واضح طور پر دینے سے براہِ راست طریقے کے ساتھ بھی تماسی درجۂ آزادی اخراج کیا جا سکتا ہے۔ تماس کی قسم، تماسی جوڑی اور تماسی الگورتھم کے ان پٹ انتخابات کے لیے تماس اور مدفونیت کا صفحہ دیکھیں۔
معاون افعال¶
حل کنندہ کا تقارب اور کارکردگی جانچنے کے لیے شرطی عدد کا تخمینہ، میٹرکس ڈمپ اور لاگ آؤٹ پٹ استعمال کیے جا سکتے ہیں۔ عام تجزیے میں یہ ضروری نہیں ہوتے، بلکہ ڈیبگ اور کارکردگی کی پیمائش کے لیے فعال کیے جاتے ہیں۔
| فعل | استعمال | نوٹ |
|---|---|---|
| شرطی عدد کا تخمینہ | CG اور GMRES میں شرطی عدد کا اشاریہ آؤٹ پٹ کرتا ہے۔ | LAPACK فعال بلڈ میں دستیاب ہے۔ |
| میٹرکس ڈمپ | حل کنندہ کو دیا جانے والا میٹرکس اور دایاں طرف فائل میں محفوظ کرتا ہے۔ | Matrix Market، CSR، BSR فارمیٹ کی معاونت ہے۔ |
DUMPEXIT | میٹرکس ڈمپ کے بعد تجزیہ ختم کرتا ہے۔ | صرف میٹرکس نکال کر بیرونی جانچ کرنی ہو تو استعمال کریں۔ |
ITERLOG | تکراری طریقے کے تقارب کی تاریخ آؤٹ پٹ کرتا ہے۔ | باقی ماندہ قدر کی پیش رفت دیکھی جا سکتی ہے۔ |
TIMELOG | حل کنندہ کا حسابی وقت آؤٹ پٹ کرتا ہے۔ | VERBOSE میں تفصیلی تقسیم بھی نکلتی ہے۔ |
STEPLOG | اسٹیپ معلومات آؤٹ پٹ کرتا ہے۔ | تجزیاتی طریقۂ کار کی جانچ کے لیے۔ |
LOGLEVEL | AMG پیش شرط کی درجہ وار ساخت جیسی تشخیصی معلومات آؤٹ پٹ کرتا ہے۔ | ITERLOG اور TIMELOG سے الگ متعین کیا جاتا ہے۔ قدر بڑھانے سے آؤٹ پٹ بڑھتا ہے۔ |
میٹرکس ڈمپ تجزیے میں تیار شدہ ضریبی میٹرکس کو بیرونی اوزار سے جانچنے کے لیے ہے۔ DUMPEXIT فعال کرنے پر میٹرکس اور دایاں طرف محفوظ ہوتے ہی تجزیہ ختم ہو جاتا ہے۔ شرطی عدد کا تخمینہ CG اور GMRES کے لیے آزمائشی فعل ہے اور تقارب کی تشخیص میں استعمال ہوتا ہے۔
متعلقہ موضوعات¶
- خطی حل کنندہ، نظریہ — تکراری طریقوں اور پیش شرط کے ریاضیاتی اصول۔
- غیر خطی تکرار اور وقتی تکمیل — Newton تکرار، تماسی تکرار اور وقتی تکمیل کا ڈھانچہ جو خطی حل کنندہ کو بلاتا ہے۔
- ڈومین تقسیم — MPI متوازی تجزیہ اور اوورلیپ گہرائی کی تعیین۔
- تماس اور مدفونیت — تماس کی قسم اور تماسی الگورتھم کا انتخاب۔
- !SOLVER — حل کنندہ اور پیش شرط پیرامیٹر کی قدریں اور نحو۔
- ضروری اور اختیاری انحصاری لائبریریاں —
MUMPS،MKL(Intel PARDISO)، Trilinos-ML، LAPACK وغیرہ کے انحصارات۔