تكرار الطاقة

في الرياضيات ، تُعرف طريقة التكرار الأسي (المعروفة أيضًا باسم طريقة القوة ) بأنها خوارزمية للقيم الذاتية : بالنظر إلى مصفوفة قابلة للتقطيرأ{\displaystyle A}ستنتج الخوارزمية رقمًاλ{\displaystyle \lambda }، وهي أكبر قيمة ذاتية (بالقيمة المطلقة) لـأ{\displaystyle A}ومتجه غير صفريv{\displaystyle v}، وهو متجه ذاتي مناظر لـλ{\displaystyle \lambda }، إنه،أv=λv{\displaystyle Av=\lambda v}تُعرف هذه الخوارزمية أيضًا باسم تكرار فون ميزس . [ 1 ]

تُعدّ خوارزمية التكرار الأسي خوارزمية بسيطة للغاية، ولكنها قد تتقارب ببطء. وتُعتبر عملية ضرب المصفوفات العملية الأكثر استهلاكًا للوقت في هذه الخوارزمية.أ{\displaystyle A}بواسطة متجه، لذا فهو فعال للمصفوفات المتفرقة الكبيرة جدًا مع التنفيذ المناسب. سرعة التقارب تشبه(λ2/λ1)ك{\displaystyle (\lambda _{2}/\lambda _{1})^{k}}أينك{\displaystyle k}يمثل عدد التكرارات، وλ1{\displaystyle \lambda _{1}}و λ2{\displaystyle \lambda _{2}}يمثلان، على التوالي، القيمة الذاتية ذات القيمة المطلقة الأكبر والقيمة الذاتية ذات القيمة المطلقة الثانية الأكبر (انظر قسمًا لاحقًا ). بعبارة أخرى، يكون التقارب أُسّيًا، حيث تمثل الفجوة الطيفية أساسه .

الطريقة

رسم متحرك يوضح خوارزمية التكرار الأسي على مصفوفة 2×2. تُمثَّل المصفوفة بمتجهيها الذاتيين. يُحسب الخطأ كالتالي:||تقريب-أكبر متجه ذاتي||{\displaystyle ||{\text{approximation}}-{\text{largest eigenvector}}||}

تبدأ خوارزمية تكرار القوة بمتجهب0{\displaystyle b_{0}}والتي قد تكون تقريبًا للمتجه الذاتي المهيمن أو متجهًا عشوائيًا. ويتم وصف الطريقة بواسطة علاقة التكرار

بك+1=أبكأبك{\displaystyle b_{k+1}={\frac {Ab_{k}}{\lVert Ab_{k}\rVert }}}

لذا، في كل تكرار، يكون المتجهبك{\displaystyle b_{k}}يتم ضربها بالمصفوفةأ{\displaystyle A}وتمت معايرته.

إذا افترضناأ{\displaystyle A}لها قيمة ذاتية أكبر بكثير من حيث المقدار من قيمها الذاتية الأخرى، أي

|λ1|>|λ2|...|λن|0{\displaystyle \left\vert \lambda _{1}\right\vert >\left\vert \lambda _{2}\right\vert \geq \ldots \geq \left\vert \lambda _{n}\right\vert \geq 0}

والمتجه الابتدائيب0{\displaystyle b_{0}}إذا كان للمصفوفة مركبة غير صفرية في اتجاه متجه ذاتي مرتبط بالقيمة الذاتية المهيمنة، فإنها ستكون متتالية فرعية.(بك){\displaystyle \left(b_{k}\right)}يتقارب إلى متجه ذاتي مرتبط بالقيمة الذاتية المهيمنة.

بدون الافتراضين المذكورين أعلاه، فإن التسلسل(بك){\displaystyle \left(b_{k}\right)}لا تتقارب بالضرورة. في هذه المتتالية،

بك=هـأناϕكv1+رك{\displaystyle b_{k}=e^{i\phi _{k}}v_{1}+r_{k}}،

أينv1{\displaystyle v_{1}}هو متجه ذاتي مرتبط بالقيمة الذاتية المهيمنة، ورك0{\displaystyle \|r_{k}\|\rightarrow 0}وجود المصطلحهـأناϕك{\displaystyle e^{i\phi _{k}}}يشير ذلك إلى أن(بك){\displaystyle \left(b_{k}\right)}لا تتقارب إلا إذاهـأناϕك=1{\displaystyle e^{i\phi _{k}}=1}في ظل الافتراضين المذكورين أعلاه، يكون التسلسل(μك){\displaystyle \left(\mu _{k}\right)}محدد بواسطة

μك=بك*أبكبك*بك{\displaystyle \mu _{k}={\frac {b_{k}^{*}Ab_{k}}{b_{k}^{*}b_{k}}}}

يتقارب إلى القيمة الذاتية المهيمنة (مع حاصل قسمة رايلي ).

يمكن حساب ذلك باستخدام الخوارزمية التالية (الموضحة بلغة بايثون باستخدام مكتبة NumPy ):

استيراد numpy كـ npfrom numpy import typing as nptدالة random_vector ( بُعد : عدد صحيح ) -> npt . NDArray [ np . float64 ]:rng = np.random.default_rng ( )return rng.random ( dimension )دالة power_method (ج : معاهدة حظر الانتشار النووي . NDArray [ np . تعويم64 عدد التكرارات : عدد صحيح ،) -> معاهدة عدم الانتشار . NDArray [ np . تعويم64 ]:إذا كان شكل A [ 0 ] لا يساوي شكل A [ 1 ] :raise ValueError ( "يجب أن تكون المصفوفة مربعة." )# اختر متجهًا أوليًا عشوائيًا لتقليل الاحتمالية# أنه متعامد مع المتجه الذاتي المهيمن.b_k = random_vector ( A . shape [ 1 ])# قم بتطبيع المتجه الأولي.b_k / = np.linalg.norm ( b_k )for _ in range ( num_iterations ):# اضرب في المصفوفة.b_k1 = A @ b_k# احسب طول المتجه الجديد.b_k1_norm = np.linalg.norm ( b_k1 )# توقف إذا كان المتجه الجديد ضمن دقة الآلة التي تساوي 0.إذا كانت قيمة np.isclose ( b_k1_norm , 0.0 ) :raise ValueError ( "أنتج أسلوب الأس متجهًا صفريًا." )# قم بتطبيع المتجه للتكرار التالي.b_k = b_k1 / b_k1_norm# أعد المتجه الذاتي المهيمن التقريبي.إرجاع b_k

المتجهبك{\displaystyle b_{k}}يتقارب إلى متجه ذاتي مرتبط به. من الناحية المثالية، ينبغي استخدام حاصل قسمة رايلي للحصول على القيمة الذاتية المرتبطة به.

تُستخدم هذه الخوارزمية لحساب ترتيب صفحات جوجل (Google PageRank) .

يمكن أيضًا استخدام هذه الطريقة لحساب نصف القطر الطيفي (القيمة الذاتية ذات المقدار الأكبر، بالنسبة للمصفوفة المربعة) عن طريق حساب حاصل قسمة رايلي

ρ(أ)=الأعلى{|λ1|،|λ2|،...،|λن|}=بكأبكبكبك.{\displaystyle \rho (A)=\max \left\{\vert \lambda _{1}\vert ,\vert \lambda _{2}\vert ,\ldots ,\vert \lambda _{n}\vert \right\}={\frac {b_{k}^{\top }Ab_{k}}{b_{k}^{\top }b_{k}}}.}

تحليل

يتركأ{\displaystyle A}يتم تحليلها إلى شكلها القانوني الأردني :أ=VجV-1{\displaystyle A=VJV^{-1}}، حيث العمود الأول منV{\displaystyle V}هو متجه ذاتي لـأ{\displaystyle A}المقابل للقيمة الذاتية المهيمنةλ1{\displaystyle \lambda _{1}}بما أن القيمة الذاتية المهيمنة لـأ{\displaystyle A}فريد من نوعه، أول كتلة جوردانج{\displaystyle J}هو1×1{\displaystyle 1\times 1}مصفوفة[λ1]،{\displaystyle [\lambda _{1}],}أينλ1{\displaystyle \lambda _{1}}هي أكبر قيمة ذاتية لـأ{\displaystyle A}من حيث المقدار. متجه البدايةب0{\displaystyle b_{0}}يمكن كتابتها كتركيبة خطية لأعمدةV{\displaystyle V}:

ب0=ج1v1+ج2v2+...+جنvن.{\displaystyle b_{0}=c_{1}v_{1}+c_{2}v_{2}+\ldots +c_{n}v_{n}.}

بافتراض،ب0{\displaystyle b_{0}}له مركبة غير صفرية في اتجاه المتجه الذاتي المهيمن، لذلكج10{\displaystyle c_{1}\neq 0}.

العلاقة التكرارية المفيدة حسابيًا لـبك+1{\displaystyle b_{k+1}}يمكن إعادة كتابتها على النحو التالي:

بك+1=أبكأبك=أك+1ب0أك+1ب0،{\displaystyle b_{k+1}={\frac {Ab_{k}}{\|Ab_{k}\|}}={\frac {A^{k+1}b_{0}}{\|A^{k+1}b_{0}\|}},}

حيث التعبير:أك+1ب0أك+1ب0{\displaystyle {\frac {A^{k+1}b_{0}}{\|A^{k+1}b_{0}\|}}}وهو أكثر ملاءمة للتحليل التالي:

بك=أكب0أكب0=(VجV-1)كب0(VجV-1)كب0=VجكV-1ب0VجكV-1ب0=VجكV-1(ج1v1+ج2v2++جنvن)VجكV-1(ج1v1+ج2v2++جنvن)=Vجك(ج1هـ1+ج2هـ2++جنهـن)Vجك(ج1هـ1+ج2هـ2++جنهـن)=(λ1|λ1|)كج1|ج1|v1+1ج1V(1λ1ج)ك(ج2هـ2++جنهـن)v1+1ج1V(1λ1ج)ك(ج2هـ2++جنهـن){\displaystyle {\begin{aligned}b_{k}&={\frac {A^{k}b_{0}}{\|A^{k}b_{0}\|}}\\&={\frac {\left(VJV^{-1}\right)^{k}b_{0}}{\|\left(VJV^{-1}\right)^{k}b_{0}\|}}\\&={\frac {VJ^{k}V^{-1}b_{0}}{\|VJ^{k}V^{-1}b_{0}\|}}\\&={\frac {VJ^{k}V^{-1}\left(c_{1}v_{1}+c_{2}v_{2}+\cdots +c_{n}v_{n}\right)}{\|VJ^{k}V^{-1}\left(c_{1}v_{1}+c_{2}v_{2}+\cdots +c_{n}v_{n}\right)\|}}\\&={\frac {VJ^{k}\left(c_{1}e_{1}+c_{2}e_{2}+\cdots +c_{n}e_{n}\right)}{\|VJ^{k}\left(c_{1}e_{1}+c_{2}e_{2}+\cdots +c_{n}e_{n}\right)\|}}\\&=\left({\frac {\lambda _{1}}{|\lambda _{1}|}}\right)^{k}{\frac {c_{1}}{|c_{1}|}}{\frac {v_{1}+{\frac {1}{c_{1}}}V\left({\frac {1}{\lambda _{1}}}J\right)^{k}\left(c_{2}e_{2}+\cdots +c_{n}e_{n}\right)}{\left\|v_{1}+{\frac {1}{c_{1}}}V\left({\frac {1}{\lambda _{1}}}J\right)^{k}\left(c_{2}e_{2}+\cdots +c_{n}e_{n}\right)\right\|}}\end{aligned}}}

يمكن تبسيط التعبير أعلاه إلىك{\displaystyle k\to \infty }

(1λ1ج)ك=[[1](1λ1ج2)ك(1λ1جم)ك][100]مثلك.{\displaystyle \left({\frac {1}{\lambda _{1}}}J\right)^{k}={\begin{bmatrix}[1]&&&&\\&\left({\frac {1}{\lambda _{1}}}J_{2}\right)^{k}&&&\\&&\ddots &\\&&&\left({\frac {1}{\lambda _{1}}}J_{m}\right)^{k}\\\end{bmatrix}}\rightarrow {\begin{bmatrix}1&&&&\\&0&&&\\&&\ddots &\\&&&0\\\end{bmatrix}}\quad {\text{as}}\quad k\to \infty .}

تنتج النهاية من حقيقة أن القيمة الذاتية لـ1λ1جأنا{\displaystyle {\frac {1}{\lambda _{1}}}J_{i}}مقدارها أقل من 1، لذا

(1λ1جأنا)ك0مثلك.{\displaystyle \left({\frac {1}{\lambda _{1}}}J_{i}\right)^{k}\to 0\quad {\text{as}}\quad k\to \infty .}

وبناءً على ذلك:

1ج1V(1λ1ج)ك(ج2هـ2++جنهـن)0مثلك{\displaystyle {\frac {1}{c_{1}}}V\left({\frac {1}{\lambda _{1}}}J\right)^{k}\left(c_{2}e_{2}+\cdots +c_{n}e_{n}\right)\to 0\quad {\text{as}}\quad k\to \infty }

باستخدام هذه الحقيقة،بك{\displaystyle b_{k}}يمكن كتابتها بشكل يؤكد علاقتها بـv1{\displaystyle v_{1}}متىك{\displaystyle k}كبير:

بك=(λ1|λ1|)كج1|ج1|v1+1ج1V(1λ1ج)ك(ج2هـ2++جنهـن)v1+1ج1V(1λ1ج)ك(ج2هـ2++جنهـن)=هـأناϕكج1|ج1|v1v1+رك{\displaystyle {\begin{aligned}b_{k}&=\left({\frac {\lambda _{1}}{|\lambda _{1}|}}\right)^{k}{\frac {c_{1}}{|c_{1}|}}{\frac {v_{1}+{\frac {1}{c_{1}}}V\left({\frac {1}{\lambda _{1}}}J\right)^{k}\left(c_{2}e_{2}+\cdots +c_{n}e_{n}\right)}{\left\|v_{1}+{\frac {1}{c_{1}}}V\left({\frac {1}{\lambda _{1}}}J\right)^{k}\left(c_{2}e_{2}+\cdots +c_{n}e_{n}\right)\right\|}}\\[6pt]&=e^{i\phi _{k}}{\frac {c_{1}}{|c_{1}|}}{\frac {v_{1}}{\|v_{1}\|}}+r_{k}\end{aligned}}}

أينهـأناϕك=(λ1/|λ1|)ك{\displaystyle e^{i\phi _{k}}=\left(\lambda _{1}/|\lambda _{1}|\right)^{k}}ورك0{\displaystyle \|r_{k}\|\to 0}مثلك{\displaystyle k\to \infty }

التسلسل(بك){\displaystyle \left(b_{k}\right)}بما أنها محدودة، فإنها تحتوي على متتالية جزئية متقاربة. لاحظ أن المتجه الذاتي المقابل للقيمة الذاتية المهيمنة يكون فريدًا فقط حتى قيمة قياسية، لذلك على الرغم من أن المتتالية(بك){\displaystyle \left(b_{k}\right)}قد لا تتقارب، بك{\displaystyle b_{k}}هو تقريبًا متجه ذاتي لـأ{\displaystyle A}للكبيرك{\displaystyle k}.

أو بدلاً من ذلك، إذاأ{\displaystyle A}إذا كانت قابلة للتقطير ، فإن البرهان التالي يعطي نفس النتيجة:

يتركλ1،λ2،...،λم{\displaystyle \lambda _{1},\lambda _{2},\ldots ,\lambda _{m}}كنم{\displaystyle m}القيم الذاتية (المحسوبة مع التعددية) لـأ{\displaystyle A}بترتيب تنازلي للقيمة المطلقة (مع السماح بالمساواة)، أي|λ1||λ2|...|λم|{\displaystyle |\lambda _{1}|\geq |\lambda _{2}|\ldots \geq |\lambda _{m}|}ودعv1،v2،...،vم{\displaystyle v_{1},v_{2},\ldots ,v_{m}}لنفترض أن المتجهات الذاتية المناظرة هيλ1{\displaystyle \lambda _{1}}هي القيمة الذاتية المهيمنة، بحيث|λ1|>|λج|{\displaystyle |\lambda _{1}|>|\lambda _{j}|}للجميعج>1{\displaystyle j>1}.

المتجه الأوليب0{\displaystyle b_{0}}يمكن كتابتها على النحو التالي:

ب0=ج1v1+ج2v2++جمvم.{\displaystyle b_{0}=c_{1}v_{1}+c_{2}v_{2}+\cdots +c_{m}v_{m}.}

لوب0{\displaystyle b_{0}}يتم اختيارها عشوائياً (باحتمالية منتظمة)، ثمج10{\displaystyle c_{1}\neq 0}باحتمالية 1. الآن،

أكب0=ج1أكv1+ج2أكv2++جمأكvم=ج1λ1كv1+ج2λ2كv2++جمλمكvم=ج1λ1ك(v1+ج2ج1(λ2λ1)كv2++جمج1(λمλ1)كvم)ج1λ1كv1|λجλ1|<1 ل ج>1{\displaystyle {\begin{aligned}A^{k}b_{0}&=c_{1}A^{k}v_{1}+c_{2}A^{k}v_{2}+\cdots +c_{m}A^{k}v_{m}\\&=c_{1}\lambda _{1}^{k}v_{1}+c_{2}\lambda _{2}^{k}v_{2}+\cdots +c_{m}\lambda _{m}^{k}v_{m}\\&=c_{1}\lambda _{1}^{k}\left(v_{1}+{\frac {c_{2}}{c_{1}}}\left({\frac {\lambda _{2}}{\lambda _{1}}}\right)^{k}v_{2}+\cdots +{\frac {c_{m}}{c_{1}}}\left({\frac {\lambda _{m}}{\lambda _{1}}}\right)^{k}v_{m}\right)\\&\to c_{1}\lambda _{1}^{k}v_{1}&&\left|{\frac {\lambda _{j}}{\lambda _{1}}}\right|<1{\text{ for }}j>1\end{aligned}}}

على الجانب الآخر:

بك=أكب0أكب0.{\displaystyle b_{k}={\frac {A^{k}b_{0}}{\|A^{k}b_{0}\|}}.}

لذلك،بك{\displaystyle b_{k}}يتقارب إلى (مضاعف لـ) المتجه الذاتيv1{\displaystyle v_{1}}التقارب هندسي ، بنسبة

|λ2λ1|.{\displaystyle \left|{\frac {\lambda _{2}}{\lambda _{1}}}\right|.}

وبالتالي، فإن الطريقة تتقارب ببطء إذا كانت هناك قيمة ذاتية قريبة في مقدارها من القيمة الذاتية المهيمنة.

التطبيقات

على الرغم من أن طريقة التكرار الأسي تُقارب قيمة ذاتية واحدة فقط للمصفوفة، إلا أنها تظل مفيدة في بعض المسائل الحسابية . على سبيل المثال، تستخدمها جوجل لحساب ترتيب الصفحات (PageRank) للمستندات في محرك بحثها ، [ 2 ] ويستخدمها تويتر لعرض توصيات للمستخدمين بشأن من يتابعونه. [ 3 ] تُعد طريقة التكرار الأسي مناسبة بشكل خاص للمصفوفات المتفرقة ، مثل مصفوفة الويب، أو كطريقة لا تتطلب تخزين مصفوفة المعاملات.أ{\displaystyle A}بشكل صريح، ولكن يمكن بدلاً من ذلك الوصول إلى دالة تقيّم نواتج ضرب المصفوفة في المتجهأx{\displaystyle Ax}بالنسبة للمصفوفات غير المتناظرة ذات الحالة الجيدة، قد تتفوق طريقة التكرار الأسي على طريقة أرنولدي الأكثر تعقيدًا . أما بالنسبة للمصفوفات المتناظرة، فنادرًا ما تُستخدم طريقة التكرار الأسي، نظرًا لإمكانية زيادة سرعة تقاربها بسهولة دون التضحية بالتكلفة المنخفضة لكل تكرار؛ انظر، على سبيل المثال، تكرار لانكزوس و LOBPCG .

يمكن فهم بعض خوارزميات القيم الذاتية الأكثر تقدماً على أنها اختلافات في تكرار القوة. على سبيل المثال، تطبق طريقة التكرار العكسي تكرار القوة على المصفوفةأ-1{\displaystyle A^{-1}}. أما الخوارزميات الأخرى فتنظر إلى الفضاء الفرعي الكامل الناتج عن المتجهات.بك{\displaystyle b_{k}}يُعرف هذا الفضاء الجزئي باسم فضاء كريلوف الجزئي . ويمكن حسابه باستخدام تكرار أرنولدي أو تكرار لانكزوس . أما تكرار غرام [ 4 ] فهو طريقة فائقة الخطية وحتمية لحساب أكبر زوج من القيم الذاتية.

انظر أيضاً

مراجع

  1. ^ ريتشارد فون ميزس وH. Pollaczek-Geiringer، Praktische Verfahren der Gleichungsauflösung ، ZAMM – Zeitschrift für Angewandte Mathematik und Mechanik 9، 152-164 (1929).
  2. إيبسن، إيلس ، وريبيكا م. ويلز (5-8 مايو 2005). "المؤتمر الدولي السابع لجمعية IMACS حول الأساليب التكرارية في الحوسبة العلمية" (ملف PDF) . معهد فيلدز، تورنتو، كندا.{{cite news}}: صيانة CS1: أسماء متعددة: قائمة المؤلفين ( رابط )
  3. بانكاج غوبتا، أشيش غويل، جيمي لين، أنيش شارما، دونغ وانغ، ورضا بوساغ زاده، WTF: نظام "من تتابع" على تويتر ، وقائع المؤتمر الدولي الثاني والعشرين حول شبكة الويب العالمية
  4. ديلاتر، ب.؛ بارتيليمي، ك.؛ أراوجو، أ.؛ ألاوزين، أ. (2023)، " الحد الفعال لثابت ليبشيتز للطبقات الالتفافية بواسطة تكرار غرام" ، وقائع المؤتمر الدولي الأربعين للتعلم الآلي : 7513-7532