تحلل تشوليسكي

في الجبر الخطي ، يُعرف تحليل تشوليسكي ( يُنطق / ʃəˈlɛski / ) بأنه تحليل لمصفوفة هيرميتية موجبة التحديد إلى حاصل ضرب مصفوفة مثلثية سفلية ومنقولتها المرافقة ، وهو مفيد لإيجاد حلول عددية فعالة، مثل محاكاة مونت كارلو . اكتشفه أندريه لويس تشوليسكي للمصفوفات الحقيقية ، ونُشر بعد وفاته عام 1924. [ 1 ] عند تطبيقه ، يكون تحليل تشوليسكي أكثر كفاءة بمرتين تقريبًا من تحليل LU في حل أنظمة المعادلات الخطية . [ 2 ]

إفادة

يُعد تحليل تشوليسكي لمصفوفة هيرميتية موجبة التحديد A تحليلًا على الشكل التالي:

أ=LL*،{\displaystyle \mathbf {A} =\mathbf {LL} ^{*},}

حيث L مصفوفة مثلثية سفلية ذات عناصر قطرية حقيقية وموجبة، و L * تشير إلى منقولة L المرافقة . كل مصفوفة هيرميتية موجبة التحديد (وبالتالي كل مصفوفة حقيقية متناظرة موجبة التحديد) لها تحليل تشوليسكي، وتكون المصفوفة المثلثية السفلية فريدة إذا فرضنا أن تكون عناصر القطر موجبة تمامًا. [ 3 ]

والعكس صحيح بشكل بديهي: إذا كان من الممكن كتابة A على شكل LL * لبعض L القابلة للعكس ، أو المثلث السفلي أو غير ذلك ، فإن A هيرميتية وموجبة التحديد.

عندما تكون A مصفوفة حقيقية (وبالتالي متماثلة موجبة التحديد)، يمكن كتابة التحليل على النحو التالي أ=LLتي،{\displaystyle \mathbf {A} =\mathbf {LL} ^{\mathsf {T}},} حيث L مصفوفة مثلثية سفلية حقيقية ذات عناصر قطرية موجبة. [ 4 ] [ 5 ] [ 6 ]

المصفوفات شبه المحددة الموجبة

إذا كانت المصفوفة الهرميتية A شبه موجبة فقط، بدلاً من كونها موجبة تمامًا، فإنها لا تزال قابلة للتحليل على الصورة A = LL * حيث يُسمح بأن تكون عناصر القطر الرئيسي للمصفوفة L أصفارًا. [ 7 ] ولا يشترط أن يكون هذا التحليل فريدًا، على سبيل المثال: [0001]=LL*،L=[00كوسθالخطيئةθ]،{\displaystyle {\begin{bmatrix}0&0\\0&1\end{bmatrix}}=\mathbf {L} \mathbf {L} ^{*},\quad \quad \mathbf {L} ={\begin{bmatrix}0&0\\\cos \theta &\sin \theta \end{bmatrix}},} لأي قيمة لـ θ . ومع ذلك، إذا كانت رتبة A هي r ، فإنه يوجد مثلث سفلي وحيد L يحتوي على r عنصر قطري موجب بالضبط و nr عمود تحتوي جميعها على أصفار. [ 8 ]

بدلاً من ذلك، يمكن جعل التفكيك فريدًا عند تحديد اختيار محوري. رسميًا، إذا كانت A مصفوفة شبه موجبة من الرتبة r من الرتبة n × n ، فإنه يوجد على الأقل مصفوفة تبديل واحدة P بحيث يكون لـ PAP T تفكيك فريد على الصورة PAP T = LL * مع L=[L10L20]{\textstyle \mathbf {L} ={\begin{bmatrix}\mathbf {L} _{1}&0\\\mathbf {L} _{2}&0\end{bmatrix}}}حيث L1 هي مصفوفة مثلثية سفلية من الرتبة r × r ذات قطر موجب. [ 9 ]

تحلل البروتين الدهني منخفض الكثافة

يُعد تحليل LDL، المعروف أيضًا باسم تحليل Bunch-Kaufman، أحد المتغيرات ذات الصلة الوثيقة بتحليل Cholesky الكلاسيكي [ 10 ].

أ=LدL*،{\displaystyle \mathbf {A} =\mathbf {LDL} ^{*},}

حيث L مصفوفة مثلثية سفلية أحادية (مصفوفة مثلثية سفلية) ، و D مصفوفة قطرية . أي أن عناصر القطر الرئيسي للمصفوفة L يجب أن تساوي 1، وذلك بإضافة مصفوفة قطرية D في عملية التحليل. وتتمثل الميزة الرئيسية في إمكانية حساب تحليل LDL واستخدامه باستخدام نفس الخوارزميات تقريبًا، مع تجنب استخراج الجذور التربيعية. [ 11 ]

لهذا السبب، يُطلق على تحليل LDL غالبًا اسم تحليل Cholesky الخالي من الجذر التربيعي . بالنسبة للمصفوفات الحقيقية، يكون التحليل على الصورة A = LDL T ، ويُشار إليه عادةً بتحليل LDLT (أو تحليل LDL T ، أو LDL′ ). وهو يُشبه تحليل القيم الذاتية للمصفوفات المتناظرة الحقيقية ، A = QΛQ T ، ولكنه يختلف عنه تمامًا في التطبيق العملي لأن Λ و D ليستا مصفوفتين متشابهتين .

يرتبط تحليل LDL بتحليل Cholesky الكلاسيكي من الشكل LL * على النحو التالي:

أ=LدL*=Lد1/2(د1/2)*L*=Lد1/2(Lد1/2)*.{\displaystyle \mathbf {A} =\mathbf {LDL} ^{*}=\mathbf {L} \mathbf {D} ^{1/2}\left(\mathbf {D} ^{1/2}\right)^{*}\mathbf {L} ^{*}=\mathbf {L} \mathbf {D} ^ {1/2}\left(\mathbf {L} \mathbf {D} ^{1/2}\right)^{*}.}

على النقيض من ذلك، بالنظر إلى تحليل تشوليسكي الكلاسيكيأ=جج*{\textstyle \mathbf {A} =\mathbf {C} \mathbf {C} ^{*}}بالنسبة لمصفوفة موجبة محددة، إذا كانت S مصفوفة قطرية تحتوي على القطر الرئيسي لـج{\textstyle \mathbf {C} }إذن، يمكن تحليل A إلىLدL*{\textstyle \mathbf {L} \mathbf {D} \mathbf {L} ^{*}}أين L=جS-1{\displaystyle \mathbf {L} =\mathbf {C} \mathbf {S} ^{-1}}(هذا يعيد تحجيم كل عمود لجعل العناصر القطرية تساوي 1)، د=SS*.{\displaystyle \mathbf {D} =\mathbf {S} \mathbf {S} ^{*}.}

إذا كانت المصفوفة A موجبة تمامًا، فإن جميع عناصر القطر الرئيسي للمصفوفة D تكون موجبة. أما بالنسبة للمصفوفة A شبه الموجبة ، فإن LدL*{\textstyle \mathbf {L} \mathbf {D} \mathbf {L} ^{*}}يوجد تحليل حيث يكون عدد العناصر غير الصفرية على القطر D مساويًا تمامًا لرتبة A. [ 12 ] بعض المصفوفات غير المحددة التي لا يوجد لها تحليل تشوليسكي لها تحليل LDL مع عناصر سالبة في D : يكفي أن تكون أول n − 1 من المحددات الرئيسية الرائدة لـ A غير منفردة. [ 13 ]

مثال

فيما يلي تحليل تشوليسكي لمصفوفة حقيقية متناظرة:

(412-161237-43-16-4398)=(200610-853)(26-8015003).{\displaystyle {\begin{aligned}{\begin{pmatrix}4&12&-16\\12&37&-43\\-16&-43&98\\\end{pmatrix}}={\begin{pmatrix}2&0&0\\6&1&0\\-8&5&3\\\end{pmatrix}}{\begin{pmatrix}2&6&-8\\0&1&5\\0&0&3\\\end{pmatrix}}.\end{aligned}}}

وهذا هو تحليل مكونات البروتين الدهني منخفض الكثافة (LDL T) :

(412-161237-43-16-4398)=(100310-451)(400010009)(13-4015001).{\displaystyle {\begin{aligned}{\begin{pmatrix}4&12&-16\\12&37&-43\\-16&-43&98\\\end{pmatrix}}&={\begin{pmatrix}1&0&0\\3&1&0\\-4&5&1\\\end{pmatrix}}{\begin{pmatrix}4&0&0\\0&1&0\\0&0&9\\\end{pmatrix}}{\begin{pmatrix}1&3&-4\\0&1&5\\0&0&1\\\end{pmatrix}}.\end{aligned}}}

التفسير الهندسي

القطع الناقص هو صورة خطية لدائرة الوحدة. المتجهانv1،v2{\textstyle v_{1},v_{2}}يتم اختيار المحاور المترافقة للقطع الناقص بحيثv1{\textstyle v_{1}}موازٍ للمحور الأول وv2{\textstyle v_{2}}يقع ضمن المستوى الذي يمتد عليه المحوران الأولان.

يُكافئ تحليل تشوليسكي اختيارًا مُحددًا للمحاور المترافقة لقطع ناقص . [ 14 ] بالتفصيل، لنفترض أن القطع الناقص مُعرَّف على النحو التالي:yتيأy=1{\textstyle y^{T}Ay=1}إذن، بحسب التعريف، مجموعة من المتجهاتv1،...،vن{\textstyle v_{1},...,v_{n}}تكون محاور القطع الناقص مترافقة إذا وفقط إذاvأناتيأvج=دلتاأناج{\textstyle v_{i}^{T}Av_{j}=\delta _{ij}}ثم يكون الشكل الإهليلجي بالضبط{أناxأناvأنا:xتيx=1}=و(Sن){\displaystyle \left\{\sum _{i}x_{i}v_{i}:x^{T}x=1\right\}=f(\mathbb {S} ^{n})}أينو{\textstyle f}يرسم متجه الأساسهـأناvأنا{\textstyle e_{i}\mapsto v_{i}}، وSن{\textstyle \mathbb {S} ^{n}}هي الكرة الوحدة في n بُعد. أي أن القطع الناقص هو صورة خطية للكرة الوحدة.

عرّف المصفوفةV:=[v1|v2||vن]{\textstyle V:=[v_{1}|v_{2}|\cdots |v_{n}]}، ثمvأناتيأvج=دلتاأناج{\textstyle v_{i}^{T}Av_{j}=\delta _{ij}}يعادلVتيأV=أنا{\textstyle V^{T}AV=I}. الخيارات المختلفة للمحاور المترافقة تتوافق مع عمليات تفكيك مختلفة.

يتوافق تحليل تشوليسكي مع اختيارv1{\textstyle v_{1}}أن يكون موازياً للمحور الأول،v2{\textstyle v_{2}}أن يكون ضمن المستوى الذي يمتد عليه المحوران الأولان، وهكذا. وهذا يجعلV{\textstyle V}مصفوفة مثلثية علوية. ثم، هناكأ=LLتي{\textstyle A=LL^{T}}، أينL=(V-1)تي{\textstyle L=(V^{-1})^{T}}هو مثلث سفلي.

وبالمثل، يتوافق تحليل المكونات الرئيسية مع اختيارv1،...،vن{\textstyle v_{1},...,v_{n}}ليكون عموديًا. ثم، ليكنλ=1/vأنا2{\textstyle \lambda =1/\|v_{i}\|^{2}}وΣ=دأناأز(λ1،...،λن){\textstyle \Sigma =\mathrm {diag} (\lambda _{1},...,\lambda _{n})}وهناكV=يوΣ-1/2{\textstyle V=U\Sigma ^{-1/2}}أينيو{\textstyle U}هي مصفوفة متعامدة . وهذا ينتج عنهأ=يوΣيوتي{\textstyle A=U\Sigma U^{T}}.

التطبيقات

الحل العددي لنظام المعادلات الخطية

يُستخدم تحليل تشوليسكي بشكل أساسي للحل العددي للمعادلات الخطيةأx=ب{\textstyle \mathbf {Ax} =\mathbf {b} }إذا كانت المصفوفة A متناظرة وموجبة التحديد، فإن أx=ب{\textstyle \mathbf {Ax} =\mathbf {b} }يمكن حلها عن طريق حساب تحليل تشوليسكي أولاً أ=LL*{\textstyle \mathbf {A} =\mathbf {LL} ^{\mathrm {*} }}ثم حلهاLy=ب{\textstyle \mathbf {Ly} =\mathbf {b} }لإيجاد قيمة y عن طريق التعويض الأمامي ، ثم حل المعادلة في النهاية.L*x=y{\textstyle \mathbf {L^{*}x} =\mathbf {y} }لإيجاد قيمة x باستخدام التعويض العكسي .

طريقة بديلة لتجنب حساب الجذور التربيعية فيLL*{\textstyle \mathbf {LL} ^{\mathrm {*} }}التحليل هو حساب تفكيك LDLأ=LدL*{\textstyle \mathbf {A} =\mathbf {LDL} ^{\mathrm {*} }}ثم حلهاLy=ب{\textstyle \mathbf {Ly} =\mathbf {b} }بالنسبة لـ y ، وأخيراً حلدL*x=y{\textstyle \mathbf {DL} ^{\mathrm {*} }\mathbf {x} =\mathbf {y} }.

بالنسبة للأنظمة الخطية التي يمكن صياغتها في شكل متناظر، يُعد تحليل تشوليسكي (أو أحد متغيراته LDL) الطريقة المُفضلة، لما يتميز به من كفاءة واستقرار عددي فائقين . وبالمقارنة مع تحليل LU ، فهو أكثر كفاءة بمرتين تقريبًا. [ 2 ]

المربعات الصغرى الخطية

في مسألة المربعات الصغرى الخطية، يُبحث عن حل x لنظام المعادلات الزائد التحديد Ax = l ، بحيث يكون المعيار التربيعي لمتجه الباقي Ax-l في أدنى قيمة له. ويمكن تحقيق ذلك عن طريق حل المعادلات العادية باستخدام تحليل تشوليسكي.شمالx=أتيل{\displaystyle \mathbf {Nx} =\mathbf {A} ^{\mathsf {T}}\mathbf {l} }، أينشمال=أتيأ{\displaystyle \mathbf {N} =\mathbf {A} ^{\mathsf {T}}\mathbf {A} }هي مصفوفة متناظرة موجبة التحديد. قد تنشأ مصفوفة المعادلة المتناظرة أيضًا من دالة طاقة، والتي يجب أن تكون موجبة لأسباب فيزيائية؛ ويحدث هذا بشكل متكرر في الحل العددي للمعادلات التفاضلية الجزئية .

تُعدّ هذه الطريقة اقتصادية وفعّالة في العديد من التطبيقات، إلا أنها تفشل في حالة الأعداد الطبيعية شبه المنفردة . ويتضح ذلك جلياً في الحالة الشاذة للمربعات.أ{\displaystyle \mathbf {A} }حيث يكون محدد المصفوفة N هو مربع محدد النظام الأصلي Ax = l . عندئذٍ، يُفضّل تطبيق تحليل القيم المفردة (SVD) أو تحليل QR. يتميز تحليل QR لمعادلات جيفنز بأنه، على غرار المعادلات العادية، لا يتطلب الاحتفاظ بالمصفوفة A كاملةً ، إذ يُمكن تحديث عامل تشوليسكي باستخدام الصفوف المتتالية من A.

التحسين غير الخطي

تُعدّ طريقة المربعات الصغرى غير الخطية حالة خاصة من التحسين غير الخطي. لنفترضو(x)=ل{\textstyle \mathbf {f} (\mathbf {x} )=\mathbf {l} }أن يكون نظامًا من المعادلات المحددة بشكل زائد مع دالة غير خطيةو{\displaystyle \mathbf {f} }إرجاع نتائج متجهة. الهدف هو تقليل المعيار التربيعي للبواقي.v=و(x)-ل{\textstyle \mathbf {v} =\mathbf {f} (\mathbf {x} )-\mathbf {l} }يتم الحصول على حل تقريبي لطريقة نيوتن عن طريق توسيعو{\displaystyle \mathbf {f} }في سلسلة تايلور المختصرةو(x0+دلتاx)و(x0)+(و/x)دلتاx{\displaystyle {\bf {f(x_{\rm {0}}+\delta x)\approx f(x_{\rm {0}})+(\partial f/\partial x)\delta x}}}ينتج عنه مسألة المربعات الصغرى الخطية لـدلتاx{\displaystyle {\bf {\delta x}}}

(و/x)دلتاx=ل-و(x0)=v،ميندلتاx=v2.{\displaystyle {\bf {(\partial f/\partial x)\delta x=l-f(x_{\rm {0}})=v,\;\;\min _{\delta x}=\|v\|^{2}}}.}

بالطبع، بسبب إهمال حدود تايلور العليا، فإن هذا الحل تقريبي فقط، إن وُجد أصلاً. الآن يمكن تحديث نقطة التوسع إلىxن+1=xن+دلتاx{\displaystyle {\bf {x_{\rm {n+1}}=x_{\rm {n}}+\delta x}}} ثم تُكرر العملية برمتها، على أمل أن (أ) تتقارب التكرارات نحو حل، و(ب) أن يكون هذا الحل هو المطلوب. لسوء الحظ، لا يوجد ضمان لأي منهما، ويجب التحقق منه.

يمكن أيضًا تطبيق طريقة المربعات الصغرى غير الخطية على مسألة المربعات الصغرى الخطية عن طريق تحديدx0=0{\displaystyle {\bf {x_{\rm {0}}=0}}}وو(x0)=أx{\displaystyle {\bf {f(x_{\rm {0}})=Ax}}}قد يكون هذا مفيدًا إذا أسفر تحليل تشوليسكي عن معكوس غير دقيقR-1{\displaystyle {\bf {R^{\rm {-1}}}}}بالنسبة لمصفوفة المثلث حيث RتيR=شمال{\displaystyle {\bf {R^{\rm {T}}R=N}}}بسبب أخطاء التقريب. يُطلق على هذا الإجراء اسم التصحيح التفاضلي للحل. طالما أن التكرارات تتقارب، فإنها، بفضل نظرية باناش للنقطة الثابتة، تُعطي الحل بدقة لا يحدها سوى دقة البواقي المحسوبة.v=أx-ل{\displaystyle {\bf {v=Ax-l}}}الدقة مستقلة عن أخطاء التقريب فيR-1{\displaystyle {\bf {R^{\rm {-1}}}}}. فقيرR-1{\displaystyle {\bf {R^{\rm {-1}}}}}قد يحد من منطقة البدايةx0{\displaystyle {\bf {x_{\rm {0}}}}} يؤدي ذلك إلى التقارب أو يمنعه تمامًا. عادةً ما يكون التقارب أبطأ، على سبيل المثال، التقارب الخطي، بحيثدلتاxن+1=αدلتاxن{\displaystyle {\bf {\|\delta x_{\rm {n+1}}\|\approx \|=\alpha \delta x_{\rm {n}}\|}}}حيث ثابت α<1{\displaystyle \alpha <1}قد يتم تسريع هذا التقارب البطيء بواسطة أيتكندلتا2{\displaystyle \delta ^{2}}طريقة. إذا كان حسابR-1{\displaystyle {\bf {R^{\rm {-1}}}}}على الرغم من تكلفتها العالية، إلا أنه من الممكن استخدامها من التكرارات السابقة طالما تم الحفاظ على التقارب. قد تنجح طريقة تشوليسكي هذه حتى مع مصفوفات هيلبرت، المعروفة بصعوبة عكسها. [ 15 ]

يمكن تقليل قيمة الدوال غير الخطية متعددة المتغيرات بالنسبة لمعاملاتها باستخدام متغيرات من طريقة نيوتن تسمى طرق شبه نيوتن . في التكرار k، تتحرك خطوات البحث في اتجاهصك{\textstyle p_{k}}يتم تعريفها عن طريق حلبكصك=-زك{\textstyle B_{k}p_{k}=-g_{k}}لصك{\textstyle p_{k}}، أينصك{\textstyle p_{k}}هذا هو اتجاه الخطوة،زك{\textstyle g_{k}}هو التدرج ، وبك{\textstyle B_{k}}هي تقريب لمصفوفة هيسيان المُشكَّلة بتكرار تحديثات الرتبة 1 في كل تكرار. من أشهر صيغ التحديث صيغتا ديفيدون-فليتشر-باول (DFP) وبرودن-فليتشر-غولدفراب-شانو (BFGS). يُمكن تجنب فقدان شرط التحديد الموجب نتيجة خطأ التقريب إذا تم تحديث تحليل تشوليسكي لتقريب مصفوفة هيسيان نفسها بدلاً من تحديث تقريب لمعكوس مصفوفة هيسيان. [ 16 ]

محاكاة مونت كارلو

يُستخدم تحليل تشوليسكي بشكل شائع في طريقة مونت كارلو لمحاكاة الأنظمة ذات المتغيرات المتعددة المترابطة. يتم تحليل مصفوفة التغاير للحصول على المصفوفة المثلثية السفلية L. بتطبيق هذا التحليل على متجه من المشاهدات غير المترابطة في عينة ينتج متجه عينة Lu بخصائص التغاير للنظام قيد النمذجة. [ 17 ]

يوضح المثال المبسط التالي الاقتصاد الذي يمكن الحصول عليه من تحليل تشوليسكي: لنفترض أن الهدف هو توليد متغيرين طبيعيين مترابطينx1{\textstyle x_{1}}وx2{\textstyle x_{2}}بمعامل ارتباط معينρ{\textstyle \rho }ولتحقيق ذلك، من الضروري أولاً توليد متغيرين عشوائيين غاوسيين غير مرتبطين.z1{\textstyle z_{1}}وz2{\textstyle z_{2}}(على سبيل المثال، عبر تحويل بوكس-مولر ). بالنظر إلى معامل الارتباط المطلوبρ{\textstyle \rho }يمكن الحصول على المتغيرات الطبيعية المترابطة من خلال التحويلاتx1=z1{\textstyle x_{1}=z_{1}}وx2=ρz1+1-ρ2z2{\textstyle x_{2}=\rho z_{1}+{\sqrt {1-\rho ^{2}}}z_{2}}.

مرشح كالمان

تستخدم مرشحات كالمان غير الخطية عادةً تحليل تشوليسكي لاختيار مجموعة من النقاط تُسمى نقاط سيجما. يتتبع مرشح كالمان الحالة المتوسطة للنظام كمتجه x بطول والتباين كمصفوفة P من الرتبة N × N. المصفوفة P موجبة شبه محددة دائمًا، ويمكن تحليلها إلى L²T . يمكن جمع أعمدة L²T وطرحها من المتوسط ​​x لتكوين مجموعة من 2²N متجه تُسمى نقاط سيجما . تُجسد نقاط سيجما هذه بشكل كامل متوسط ​​وتباين حالة النظام.

قلب المصفوفة

يمكن حساب المعكوس الصريح لمصفوفة هيرميتية عن طريق تحليل تشوليسكي، بطريقة مشابهة لحل الأنظمة الخطية، باستخدامن3{\textstyle n^{3}}العمليات (12ن3{\textstyle {\tfrac {1}{2}}n^{3}}الضرب). [ 11 ] يمكن حتى إجراء عملية القلب بأكملها بكفاءة في مكانها.

يمكن أيضًا عكس المصفوفة غير الهرميتية B باستخدام المتطابقة التالية، حيث ستكون BB * دائمًا هرميتية:

ب-1=ب*(بب*)-1.{\displaystyle \mathbf {B} ^{-1}=\mathbf {B} ^{*}(\mathbf {BB} ^{*})^{-1}.}

إسناد البيانات

يمكن أيضًا استخدام تحليل تشوليسكي لتعويض البيانات المفقودة. وتستفيد العديد من خوارزميات تعويض البيانات، بما في ذلك خوارزمية تعظيم التوقع، من تحليل تشوليسكي. [ 18 ]

حساب

توجد طرقٌ عديدة لحساب تحليل تشوليسكي. يبلغ التعقيد الحسابي للخوارزميات الشائعة الاستخدام O ( ) عمومًا. [ 19 ] : 545. تتضمن الخوارزميات الموصوفة أدناه حوالي (1/3) عملية حسابية (/ 6 عملية ضرب ونفس العدد من عمليات الجمع) للأعداد الحقيقية، و ( 4/3) عملية حسابية للأعداد المركبة، [ 20 ] حيث n هو حجم المصفوفة A. وبالتالي، فإن تكلفتها نصف تكلفة تحليل LU ، الذي يستخدم 2n³ / 3 عملية حسابية (انظر تريفثين وباو 1997) .

يعتمد اختيار الخوارزمية الأسرع من بين الخوارزميات المذكورة أدناه على تفاصيل التنفيذ. عمومًا، ستكون الخوارزمية الأولى أبطأ قليلًا لأنها تتعامل مع البيانات بطريقة أقل انتظامًا. وقد ثبت أن تحليل تشوليسكي مستقر عدديًا دون الحاجة إلى التمحور. [ 21 ]

خوارزمية تشوليسكي

خوارزمية تشوليسكي ، المستخدمة لحساب مصفوفة التفكيك L ، هي نسخة معدلة من الحذف الغاوسي .

تبدأ الخوارزمية التكرارية بـ i  := 1 و

A (1)  := A .

في الخطوة i ، تكون المصفوفة A ( i ) بالشكل التالي: أ(أنا)=(أناأنا-1000أأنا،أنابأنا*0بأناب(أنا))،{\displaystyle \mathbf {A} ^{(i)}={\begin{pmatrix}\mathbf {I} _{i-1}&0&0\\0&a_{i,i}&\mathbf {b} _{i}^{*}\\0&\mathbf {b} _{i}&\mathbf {B} ^{(i)}\end{pmatrix}},} حيث I i −1 تشير إلى مصفوفة الوحدة ذات البعد i − 1 .

إذا تم تعريف المصفوفة L i بواسطةLأنا:=(أناأنا-1000أأنا،أنا001أأنا،أنابأناأنان-أنا)،{\displaystyle \mathbf {L} _{i}:={\begin{pmatrix}\mathbf {I} _{i-1}&0&0\\0&{\sqrt {a_{i,i}}}&0\\0&{\frac {1}{\sqrt {a_{i,i}}}}\mathbf {b} _{i}&\mathbf {I} _{n-i}\end{pmatrix}},} (لاحظ أن aᵢ ,ᵢ > 0 لأن A ( i ) موجبة التحديد)، إذن يمكن كتابة A ( i ) على النحو التالي:أ(أنا)=Lأناأ(أنا+1)Lأنا*{\displaystyle \mathbf {A} ^{(i)}=\mathbf {L} _{i}\mathbf {A} ^{(i+1)}\mathbf {L} _{i}^{*}} أين أ(أنا+1)=(أناأنا-10001000ب(أنا)-1أأنا،أنابأنابأنا*).{\displaystyle \mathbf {A} ^{(i+1)}={\begin{pmatrix}\mathbf {I} _{i-1}&0&0\\0&1&0\\0&0&\mathbf {B} ^{(i)}-{\frac {1}{a_{i,i}}}\mathbf {b} _{i}\mathbf {b} _{i}^{*}\end{pmatrix}}.} لاحظ أن b i b i * هو منتج خارجي ، لذلك تسمى هذه الخوارزمية نسخة المنتج الخارجي في (Golub & Van Loan).

تُكرر هذه العملية لـ i من 1 إلى n . بعد n خطوة، نحصل على A ( n +1) = I ، ومن ثم، تُحسب المصفوفة المثلثية السفلية L المطلوبة على النحو التالي:

L:=L1L2...Lن.{\displaystyle \mathbf {L} :=\mathbf {L} _{1}\mathbf {L} _{2}\dots \mathbf {L} _{n}.}

خوارزميات تشوليسكي-باناتشيفيتش وتشوليسكي-كراوت

نمط الوصول (أبيض) ونمط الكتابة (أصفر) لخوارزمية تشوليسكي-باناتشيفيتش الموضعية على مصفوفة 5×5

إذا كانت المعادلة أ=LLتي=(L1100L21L220L31L32L33)(L11L21L310L22L3200L33)=(L112(متماثل)L21L11L212+L222L31L11L31L21+L32L22L312+L322+L332)،{\displaystyle {\begin{aligned}\mathbf {A} =\mathbf {LL} ^{T}&={\begin{pmatrix}L_{11}&0&0\\L_{21}&L_{22}&0\\L_{31}&L_{32}&L_{33}\\\end{pmatrix}}{\begin{pmatrix}L_{11}&L_{21}&L_{31}\\0&L_{22}&L_{32}\\0&0&L_{33}\end{pmatrix}}\\[8pt]&={\begin{pmatrix}L_{11}^{2}&&({\text{symmetric}})\\L_{21}L_{11}&L_{21}^{2}+L_{22}^{2}&\\L_{31}L_{11}&L_{31}L_{21}+L_{32}L_{22}&L_{31}^{2}+L_{32}^{2}+L_{33}^{2}\end{pmatrix}},\end{aligned}}}

عند كتابة المعادلة، نحصل على ما يلي:

L=(أ1100أ21/L11أ22-L2120أ31/L11(أ32-L31L21)/L22أ33-L312-L322){\displaystyle {\begin{aligned}\mathbf {L} ={\begin{pmatrix}{\sqrt {A_{11}}}&0&0\\A_{21}/L_{11}&{\sqrt {A_{22}-L_{21}^{2}}}&0\\A_{31}/L_{11}&\left(A_{32}-L_{31}L_{21}\right)/L_{22}&{\sqrt {A_{33}-L_{31}^{2}-L_{32}^{2}}}\end{pmatrix}}\end{aligned}}}

وبالتالي، فإن الصيغ التالية لعناصر المصفوفة L هي:

Lج،ج=(±)أج،ج-ك=1ج-1Lج،ك2،{\displaystyle L_{j,j}=(\pm ){\sqrt {A_{j,j}-\sum _{k=1}^{j-1}L_{j,k}^{2}}},}Lأنا،ج=1Lج،ج(أأنا،ج-ك=1ج-1Lأنا،كLج،ك)ل أنا>ج.{\displaystyle L_{i,j}={\frac {1}{L_{j,j}}}\left(A_{i,j}-\sum _{k=1}^{j-1}L_{i,k}L_{j,k}\right)\quad {\text{for }}i>j.}

بالنسبة للمصفوفات المركبة والحقيقية، يُسمح بتغييرات طفيفة في إشارات عناصر القطر الرئيسي والعناصر غير القطرية المرتبطة بها. ويكون المقدار تحت الجذر التربيعي موجبًا دائمًا إذا كانت المصفوفة A حقيقية وموجبة التحديد.

بالنسبة للمصفوفة الهرميتية المعقدة، تنطبق الصيغة التالية:

Lج،ج=أج،ج-ك=1ج-1Lج،ك*Lج،ك،{\displaystyle L_{j,j}={\sqrt {A_{j,j}-\sum _{k=1}^{j-1}L_{j,k}^{*}L_{j,k}}},}Lأنا،ج=1Lج،ج(أأنا،ج-ك=1ج-1Lج،ك*Lأنا،ك)ل أنا>ج.{\displaystyle L_{i,j}={\frac {1}{L_{j,j}}}\left(A_{i,j}-\sum _{k=1}^{j-1}L_{j,k}^{*}L_{i,k}\right)\quad {\text{for }}i>j.}

ويمكن إثبات ذلكLج،ج{\displaystyle L_{j,j}}تكون دائمًا حقيقية وموجبة إذا كانت A موجبة تمامًا. [ 22 ] : 49

لذا، أصبح من الممكن الآن حساب المدخل ( i , j ) إذا كانت المدخلات الموجودة على يساره وأعلاه معروفة. وعادةً ما يتم ترتيب الحساب بأحد الترتيبين التاليين:

  • تبدأ خوارزمية Cholesky–Banachiewicz من الزاوية العلوية اليسرى للمصفوفة L وتستمر في حساب المصفوفة صفًا تلو الآخر.
for ( i = 0 ; i < dimensionSize ; i ++ ) { for ( j = 0 ; j <= i ; j ++ ) { float sum = 0 ; for ( k = 0 ; k < j ; k ++ ) sum += L [ i ][ k ] * L [ j ][ k ];إذا كان ( i == j ) فإن L [ i ][ j ] = جذر ( A [ i ][ i ] - المجموع وإلا فإن L [ i ][ j ] = ( 1.0 / L [ j ][ j ] * ( A [ i ][ j ] - المجموع ))؛ } }

يمكن التعبير عن الخوارزمية المذكورة أعلاه بإيجاز من خلال الجمع بين الضرب النقطي وضرب المصفوفات في لغات البرمجة المتجهة مثل فورتران كما يلي:

كرر من i = 1 ، حجم ( A ، 1 ) L ( i , i ) = جذر ( A ( i , i ) - حاصل الضرب النقطي ( L ( i , 1 : i - 1 ), L ( i , 1 : i - 1 ))) L ( i + 1 :, i ) = ( A ( i + 1 :, i ) - مصفوفة الضرب ( مرافق ( L ( i , 1 : i - 1 )), L ( i + 1 :, 1 : i - 1 ))) / L ( i , i ) نهاية التكرار

حيث conjgيشير إلى المرافق المعقد للعناصر.

  • تبدأ خوارزمية Cholesky–Crout من الزاوية العلوية اليسرى للمصفوفة L وتستمر في حساب المصفوفة عمودًا تلو الآخر.
    for ( j = 0 ; j < dimensionSize ; j ++ ) { float sum = 0 ; for ( k = 0 ; k < j ; k ++ ) { sum += L [ j ][ k ] * L [ j ][ k ]; } L [ j ][ j ] = sqrt ( A [ j ][ j ] - sum );for ( i = j + 1 ; i < dimensionSize ; i ++ ) { sum = 0 ; for ( k = 0 ; k < j ; k ++ ) { sum += L [ i ][ k ] * L [ j ][ k ]; } L [ i ][ j ] = ( 1.0 / L [ j ][ j ] * ( A [ i ][ j ] - sum )); } }

يمكن التعبير عن الخوارزمية المذكورة أعلاه بإيجاز من خلال الجمع بين الضرب النقطي وضرب المصفوفات في لغات البرمجة المتجهة مثل فورتران كما يلي:

كرر من i = 1 ، حجم ( A ، 1 ) L ( i , i ) = جذر ( A ( i , i ) - حاصل الضرب النقطي ( L ( 1 : i - 1 , i ), L ( 1 : i - 1 , i ))) L ( i , i + 1 ) = ( A ( i , i + 1 ) - مصفوفة ( مرافق ( L ( 1 : i - 1 , i )), L ( 1 : i - 1 , i + 1 ))) / L ( i , i ) نهاية التكرار

حيث conjgيشير إلى المرافق المعقد للعناصر.

يسمح أي من نمطي الوصول بإجراء الحساب بالكامل في مكانه إذا رغب في ذلك.

استقرار الحساب

لنفترض أننا نرغب في حل نظام معادلات خطية جيد التكييف . إذا استخدمنا تحليل LU، فإن الخوارزمية ستكون غير مستقرة ما لم تُستخدم استراتيجية محورية ما. في هذه الحالة الأخيرة، يعتمد الخطأ على ما يُسمى عامل نمو المصفوفة، والذي يكون عادةً (ولكن ليس دائمًا) صغيرًا.

لنفترض الآن أن تحليل تشوليسكي قابل للتطبيق. كما ذُكر سابقًا، ستكون الخوارزمية أسرع بمرتين. علاوة على ذلك، لن تكون هناك حاجة إلى التمحور ، وسيكون الخطأ صغيرًا دائمًا. تحديدًا، إذا كان Ax = b ، و y يمثل الحل المحسوب، فإن y يحل النظام المضطرب ( A + E ) y = b ، حيث هـ2جنεأ2.{\displaystyle \|\mathbf {E} \|_{2}\leq c_{n}\varepsilon \|\mathbf {A} \|_{2}.} هنا ||·|| 2 هو المعيار 2 للمصفوفة ، و c n هو ثابت صغير يعتمد على n ، و ε يشير إلى التقريب الوحدوي .

من الأمور التي يجب الانتباه إليها في تحليل تشوليسكي استخدام الجذور التربيعية. فإذا كانت المصفوفة المراد تحليلها موجبة التحديد كما هو مطلوب، فإن الأرقام تحت الجذور التربيعية تكون موجبة دائمًا في العمليات الحسابية الدقيقة . ولكن لسوء الحظ، قد تصبح هذه الأرقام سالبة بسبب أخطاء التقريب ، وفي هذه الحالة لا يمكن للخوارزمية الاستمرار. مع ذلك، لا يحدث هذا إلا إذا كانت المصفوفة سيئة التكييف للغاية. إحدى طرق معالجة هذه المشكلة هي إضافة مصفوفة تصحيح قطرية إلى المصفوفة المراد تحليلها في محاولة لتعزيز خاصية موجبة التحديد. [ 23 ] ورغم أن هذا قد يقلل من دقة التحليل، إلا أنه قد يكون مفيدًا جدًا لأسباب أخرى؛ فعلى سبيل المثال، عند تطبيق طريقة نيوتن في التحسين ، يمكن أن تُحسّن إضافة مصفوفة قطرية الاستقرار عندما يكون الحل بعيدًا عن الحل الأمثل.

تحلل البروتين الدهني منخفض الكثافة

هناك شكل بديل، يُلغي الحاجة إلى أخذ الجذور التربيعية عندما تكون المصفوفة A متناظرة، وهو التحليل غير المحدد المتناظر [ 22 ] : 84أ=LدLتي=(100L2110L31L321)(د1000د2000د3)(1L21L3101L32001)=(د1(syممهـترأناج)L21د1L212د1+د2L31د1L31L21د1+L32د2L312د1+L322د2+د3.).{\displaystyle {\begin{aligned}\mathbf {A} =\mathbf {LDL} ^{\mathrm {T} }&={\begin{pmatrix}1&0&0\\L_{21}&1&0\\L_{31}&L_{32}&1\\\end{pmatrix}}{\begin{pmatrix}D_{1}&0&0\\0&D_{2}&0\\0&0&D_{3}\\\end{pmatrix}}{\begin{pmatrix}1&L_{21}&L_{31}\\0&1&L_{32}\\0&0&1\\\end{pmatrix}}\\[8pt]&={\begin{pmatrix}D_{1}&&(\mathrm {symmetric} )\\L_{21}D_{1}&L_{21}^{2}D_{1}+D_{2}&\\L_{31}D_{1}&L_{31}L_{21}D_{1}+L_{32}D_{2}&L_{31}^{2}D_{1}+L_{32}^{2}D_{2}+D_{3}.\end{pmatrix}}.\end{aligned}}}

تنطبق العلاقات التكرارية التالية على مدخلات D و L : دج=أجج-ك=1ج-1Lجك2دك،{\displaystyle D_{j}=A_{jj}-\sum _{k=1}^{j-1}L_{jk}^{2}D_{k},}Lأناج=1دج(أأناج-ك=1ج-1LأناكLجكدك)ل أنا>ج.{\displaystyle L_{ij}={\frac {1}{D_{j}}}\left(A_{ij}-\sum _{k=1}^{j-1}L_{ik}L_{jk}D_{k}\right)\quad {\text{for }}i>j.}

تنجح هذه الطريقة طالما بقيت العناصر القطرية المُولَّدة في المصفوفة D غير صفرية. عندئذٍ يكون التحليل فريدًا. المصفوفتان D و L حقيقيتان إذا كانت المصفوفة A حقيقية.

بالنسبة للمصفوفة الهرميتية المعقدة A ، تنطبق الصيغة التالية:

دج=أجج-ك=1ج-1LجكLجك*دك،{\displaystyle D_{j}=A_{jj}-\sum _{k=1}^{j-1}L_{jk}L_{jk}^{*}D_{k},}Lأناج=1دج(أأناج-ك=1ج-1LأناكLجك*دك)ل أنا>ج.{\displaystyle L_{ij}={\frac {1}{D_{j}}}\left(A_{ij}-\sum _{k=1}^{j-1}L_{ik}L_{jk}^{*}D_{k}\right)\quad {\text{for }}i>j.}

مرة أخرى، يسمح نمط الوصول بإجراء الحساب بالكامل في مكانه إذا رغب في ذلك.

متغير الكتلة

عند استخدام تحليل LDL * على المصفوفات غير المحددة، يُعرف أنه غير مستقر دون استخدام تقنية التمحور الدقيق؛ [ 24 ] تحديدًا، يمكن أن تنمو عناصر التحليل بشكل عشوائي. يتمثل أحد التحسينات الممكنة في إجراء التحليل على مصفوفات فرعية كتلية، عادةً ما تكون 2 × 2: [ 25 ]

أ=LدLتي=(أنا00L21أنا0L31L32أنا)(د1000د2000د3)(أناL21تيL31تي0أناL32تي00أنا)=(د1(syممهـترأناج)L21د1L21د1L21تي+د2L31د1L31د1L21تي+L32د2L31د1L31تي+L32د2L32تي+د3)،{\displaystyle {\begin{aligned}\mathbf {A} =\mathbf {LDL} ^{\mathrm {T} }&={\begin{pmatrix}\mathbf {I} &0&0\\\mathbf {L} _{21}&\mathbf {I} &0\\\mathbf {L} _{31}&\mathbf {L} _{32}&\mathbf {I} \\\end{pmatrix}}{\begin{pmatrix}\mathbf {D} _{1}&0&0\\0&\mathbf {D} _{2}&0\\0&0&\mathbf {D} _{3}\\\end{pmatrix}}{\begin{pmatrix}\mathbf {I} &\mathbf {L} _{21}^{\mathrm {T} }&\mathbf {L} _{31}^{\mathrm {T} }\\0&\mathbf {I} &\mathbf {L} _{32}^{\mathrm {T} }\\0&0&\mathbf {I} \\\end{pmatrix}}\\[8pt]&={\begin{pmatrix}\mathbf {D} _{1}&&(\mathrm {symmetric} )\\\mathbf {L} _{21}\mathbf {D} _{1}&\mathbf {L} _{21}\mathbf {D} _{1}\mathbf {L} _{21}^{\mathrm {T} }+\mathbf {D} _{2}&\\\mathbf {L} _{31}\mathbf {D} _{1}&\mathbf {L} _{31}\mathbf {D} _{1}\mathbf {L} _{21}^{\mathrm {T} }+\mathbf {L} _{32}\mathbf {D} _{2}&\mathbf {L} _{31}\mathbf {D} _{1}\mathbf {L} _{31}^{\mathrm {T} }+\mathbf {L} _{32}\mathbf {D} _{2}\mathbf {L} _{32}^{\mathrm {T} }+\mathbf {D} _{3}\end{pmatrix}},\end{aligned}}}

حيث أن كل عنصر في المصفوفات أعلاه هو مصفوفة فرعية مربعة. ومن هذا، تترتب العلاقات التكرارية المماثلة التالية:

دج=أجج-ك=1ج-1LجكدكLجكتي،{\displaystyle \mathbf {D} _{j}=\mathbf {A} _{jj}-\sum _{k=1}^{j-1}\mathbf {L} _{jk}\mathbf {D} _{k}\mathbf {L} _{jk}^{\mathrm {T} },}Lأناج=(أأناج-ك=1ج-1LأناكدكLجكتي)دج-1.{\displaystyle \mathbf {L} _{ij}=\left(\mathbf {A} _{ij}-\sum _{k=1}^{j-1}\mathbf {L} _{ik}\mathbf {D} _{k}\mathbf {L} _{jk}^{\mathrm {T} }\right)\mathbf {D} _{j}^{-1}.}

يتضمن ذلك عمليات ضرب المصفوفات والانعكاس الصريح، مما يحد من حجم الكتلة العملي.

تحديث عملية التفكيك

من المهام التي تظهر غالبًا في الممارسة العملية الحاجة إلى تحديث تحليل تشوليسكي. بتفصيل أكثر، يكون المرء قد قام بالفعل بحساب تحليل تشوليسكيأ=LL*{\textstyle \mathbf {A} =\mathbf {L} \mathbf {L} ^{*}}من مصفوفة ماأ{\textstyle \mathbf {A} }ثم يقوم المرء بتغيير المصفوفةأ{\textstyle \mathbf {A} }بطريقة ما في مصفوفة أخرى، على سبيل المثالأ~{\textstyle {\tilde {\mathbf {A} }}}ويريد المرء حساب تحليل تشوليسكي للمصفوفة المحدثة:أ~=L~L~*{\textstyle {\tilde {\mathbf {A} }}={\tilde {\mathbf {L} }}{\tilde {\mathbf {L} }}^{*}}والسؤال الآن هو ما إذا كان بالإمكان استخدام تحليل تشوليسكي لـأ{\textstyle \mathbf {A} }تم حساب ذلك مسبقًا لحساب تحليل تشوليسكي لـأ~{\textstyle {\tilde {\mathbf {A} }}}.

تحديث المركز الأول

الحالة المحددة، حيث المصفوفة المحدثةأ~{\textstyle {\tilde {\mathbf {A} }}}يرتبط بالمصفوفةأ{\textstyle \mathbf {A} }بواسطةأ~=أ+جxx*{\textstyle {\tilde {\mathbf {A} }}=\mathbf {A} +c\,\mathbf {x} \mathbf {x} ^{*}}يُعرف هذا باسم تحديث الرتبة الأولى . هنا الثابتج{\displaystyle c}يُسمح بأن تكون سالبة، ولكن يجب أن تكون دائمًا بحيث تكون المصفوفة الجديدةأ~{\textstyle {\tilde {\mathbf {A} }}}لا يزال إيجابياً بشكل قاطع.

إليكم دالة [ 19 ] مكتوبة بلغة Matlab تقوم بتحديث الرتبة الأولى:

دالة L = updateChol ( L,x,c ) % بمعلومية تحليل تشوليسكي L*L' للمصفوفة، احسب العامل المحدث L بحيث يكون لدينا تحليل تشوليسكي L*L'+c*x*x'؛ n = length ( x ); for k = 1 : n - 1 l = L (:, k ); % القيمة القديمة للعمود k lk = l ( k ); xk = x ( k ); dk = sqrt ( lk ^ 2 + c * xk ^ 2 ); % القيمة القطرية الجديدة L (:, k )=( lk / dk ) * l + ( c * xk / dk ) * x ; % قيمة العمود الجديدة x = x - l * ( xk / lk ); c = c * ( lk / dk ) ^ 2 ; end L ( n , n )= sqrt ( L ( n , n ) ^ 2 + c * x ( n ) ^ 2 ); end

التحديث من الرتبة n هو تحديث يتم فيه تطبيقه على مصفوفةم{\textstyle \mathbf {M} }يقوم المرء بتحديث التفكيك بحيثأ~=أ+مم*{\textstyle {\tilde {\mathbf {A} }}=\mathbf {A} +\mathbf {M} \mathbf {M} ^{*}}ويمكن تحقيق ذلك من خلال إجراء تحديثات متتالية للرتبة الأولى لكل عمود من أعمدةم{\textstyle \mathbf {M} }.

إضافة وحذف الصفوف والأعمدة

إذا كانت مصفوفة متناظرة وموجبة التحديدأ{\textstyle \mathbf {A} }يتم تمثيلها في شكل كتلة كما يلي:

أ=(أ11أ13أ13تيأ33){\displaystyle \mathbf {A} ={\begin{pmatrix}\mathbf {A} _{11}&\mathbf {A} _{13}\\\mathbf {A} _{13}^{\mathrm {T} }&\mathbf {A} _{33}\\\end{pmatrix}}}

ومعامل تشوليسكي الأعلى الخاص به L=(L11L130L33)،{\displaystyle \mathbf {L} ={\begin{pmatrix}\mathbf {L} _{11}&\mathbf {L} _{13}\\0&\mathbf {L} _{33}\\\end{pmatrix}},}

ثم لمصفوفة جديدةأ~{\textstyle {\tilde {\mathbf {A} }}}وهو نفس الشيءأ{\textstyle \mathbf {A} }ولكن مع إضافة صفوف وأعمدة جديدة، أ~=(أ11أ12أ13أ12تيأ22أ23أ13تيأ23تيأ33){\displaystyle {\begin{aligned}{\tilde {\mathbf {A} }}&={\begin{pmatrix}\mathbf {A} _{11}&\mathbf {A} _{12}&\mathbf {A} _{13}\\\mathbf {A} _{12}^{\mathrm {T} }&\mathbf {A} _{22}&\mathbf {A} _{23}\\\mathbf {A} _{13}^{\mathrm {T} }&\mathbf {A} _{23}^{\mathrm {T} }&\mathbf {A} _{33}\\\end{pmatrix}}\end{aligned}}}

يوجد الآن اهتمام بإيجاد تحليل تشوليسكي لـأ~{\textstyle {\tilde {\mathbf {A} }}}والتي يمكن تسميتهاS~{\textstyle {\tilde {\mathbf {S} }}}، دون حساب التفكيك الكامل بشكل مباشر. S~=(S11S12S130S22S2300S33).{\displaystyle {\begin{aligned}{\tilde {\mathbf {S} }}&={\begin{pmatrix}\mathbf {S} _{11}&\mathbf {S} _{12}&\mathbf {S} _{13}\\0&\mathbf {S} _{22}&\mathbf {S} _{23}\\0&0&\mathbf {S} _{33}\\\end{pmatrix}}.\end{aligned}}}

كتابةأب{\textstyle \mathbf {A} \setminus \mathbf {b} }لحلأx=ب{\textstyle \mathbf {A} \mathbf {x} =\mathbf {b} }والتي يمكن إيجادها بسهولة للمصفوفات المثلثية، وكول(م){\textstyle {\text{chol}}(\mathbf {M} )}لتحليل تشوليسكي لـم{\textstyle \mathbf {M} }يمكن إيجاد العلاقات التالية: S11=L11،S12=L11تيأ12،S13=L13،S22=جحoل(أ22-S12تيS12)،S23=S22تي(أ23-S12تيS13)،S33=جحoل(L33تيL33-S23تيS23).{\displaystyle {\begin{aligned}\mathbf {S} _{11}&=\mathbf {L} _{11},\\\mathbf {S} _{12}&=\mathbf {L} _{11}^{\mathrm {T} }\setminus \mathbf {A} _{12},\\\mathbf {S} _{13}&=\mathbf {L} _{13},\\\mathbf {S} _{22}&=\mathrm {chol} \left(\mathbf {A} _{22}-\mathbf {S} _{12}^{\mathrm {T} }\mathbf {S} _{12}\right),\\\mathbf {S} _{23}&=\mathbf {S} _{22}^{\mathrm {T} }\setminus \left(\mathbf {A} _{23}-\mathbf {S} _{12}^{\mathrm {T} }\mathbf {S} _{13}\right),\\\mathbf {S} _{33}&=\mathrm {chol} \left(\mathbf {L} _{33}^{\mathrm {T} }\mathbf {L} _{33}-\mathbf {S} _{23}^{\mathrm {T} }\mathbf {S} _{23}\right).\end{aligned}}}

يمكن استخدام هذه الصيغ لتحديد عامل تشوليسكي بعد إدراج صفوف أو أعمدة في أي موضع، إذا تم ضبط أبعاد الصف والعمود بشكل مناسب (بما في ذلك ضبطها على الصفر). المسألة العكسية،

أ~=(أ11أ12أ13أ12تيأ22أ23أ13تيأ23تيأ33){\displaystyle {\begin{aligned}{\tilde {\mathbf {A} }}&={\begin{pmatrix}\mathbf {A} _{11}&\mathbf {A} _{12}&\mathbf {A} _{13}\\\mathbf {A} _{12}^{\mathrm {T} }&\mathbf {A} _{22}&\mathbf {A} _{23}\\\mathbf {A} _{13}^{\mathrm {T} }&\mathbf {A} _{23}^{\mathrm {T} }&\mathbf {A} _{33}\\\end{pmatrix}}\end{aligned}}} مع تحلل تشوليسكي المعروف S~=(S11S12S130S22S2300S33){\displaystyle {\begin{aligned}{\tilde {\mathbf {S} }}&={\begin{pmatrix}\mathbf {S} _{11}&\mathbf {S} _{12}&\mathbf {S} _{13}\\0&\mathbf {S} _{22}&\mathbf {S} _{23}\\0&0&\mathbf {S} _{33}\\\end{pmatrix}}\end{aligned}}}

والرغبة في تحديد عامل تشوليسكي L=(L11L130L33){\displaystyle {\begin{aligned}\mathbf {L} &={\begin{pmatrix}\mathbf {L} _{11}&\mathbf {L} _{13}\\0&\mathbf {L} _{33}\\\end{pmatrix}}\end{aligned}}}

من المصفوفةأ{\textstyle \mathbf {A} }بعد إزالة الصفوف والأعمدة، أ=(أ11أ13أ13تيأ33)،{\displaystyle {\begin{aligned}\mathbf {A} &={\begin{pmatrix}\mathbf {A} _{11}&\mathbf {A} _{13}\\\mathbf {A} _{13}^{\mathrm {T} }&\mathbf {A} _{33}\\\end{pmatrix}},\end{aligned}}}

ينتج عن ذلك القواعد التالية: L11=S11،L13=S13،L33=جحoل(S33تيS33+S23تيS23).{\displaystyle {\begin{aligned}\mathbf {L} _{11}&=\mathbf {S} _{11},\\\mathbf {L} _{13}&=\mathbf {S} _{13},\\\mathbf {L} _{33}&=\mathrm {chol} \left(\mathbf {S} _{33}^{\mathrm {T} }\mathbf {S} _{33}+\mathbf {S} _{23}^{\mathrm {T} }\mathbf {S} _{23}\right).\end{aligned}}}

لاحظ أن المعادلات أعلاه التي تتضمن إيجاد تحليل تشوليسكي لمصفوفة جديدة جميعها من الشكل التالي:أ~=أ+جxx*{\textstyle {\tilde {\mathbf {A} }}=\mathbf {A} +c\,\mathbf {x} \mathbf {x} ^{*}}لبعض الثوابتج=±1{\displaystyle c=\pm 1}مما يسمح بحسابها بكفاءة باستخدام الإجراء المفصل في القسم السابق. [ 19 ]

برهان على المصفوفات شبه الموجبة المحددة

البرهان عن طريق تقييد الحجة

تُظهر الخوارزميات المذكورة أعلاه أن كل مصفوفة موجبة محددةأ{\textstyle \mathbf {A} }يحتوي على تحليل تشوليسكي. يمكن تعميم هذه النتيجة على الحالة شبه الموجبة المحددة باستخدام حجة حدية. هذه الحجة ليست بنائية بالكامل، أي أنها لا تقدم خوارزميات عددية صريحة لحساب عوامل تشوليسكي.

لوأ{\textstyle \mathbf {A} }هون×ن{\textstyle n\times n}إذا كانت المصفوفة شبه موجبة ، فإن المتتالية(أك)ك:=(أ+1كأنان)ك{\textstyle \left(\mathbf {A} _{k}\right)_{k}:=\left(\mathbf {A} +{\frac {1}{k}}\mathbf {I} _{n}\right)_{k}}تتكون من مصفوفات موجبة محددة . (هذه نتيجة مباشرة، على سبيل المثال، لنظرية التحويل الطيفي لحساب الدوال متعددة الحدود). أيضًا، أكألك{\displaystyle \mathbf {A} _{k}\rightarrow \mathbf {A} \quad {\text{for}}\quad k\rightarrow \infty } في معيار المؤثر . من الحالة الموجبة المحددة، كلأك{\textstyle \mathbf {A} _{k}}يحتوي على تحلل تشوليسكيأك=LكLك*{\textstyle \mathbf {A} _{k}=\mathbf {L} _{k}\mathbf {L} _{k}^{*}}بحسب خاصية معيار المؤثر،

Lك2LكLك*=أك.{\displaystyle \|\mathbf {L} _{k}\|^{2}\leq \|\mathbf {L} _{k}\mathbf {L} _{k}^{*}\|=\|\mathbf {A} _{k}\|\,.}

ال{\textstyle \leq }لذلك لأنمن(ج){\textstyle M_{n}(\mathbb {C} )}الجبر المزود بمعيار المؤثر هو جبر C*.(Lك)ك{\textstyle \left(\mathbf {L} _{k}\right)_{k}}هي مجموعة محدودة في فضاء باناخ للمؤثرات، وبالتالي فهي متراصة نسبيًا (لأن فضاء المتجهات الأساسي محدود الأبعاد). ونتيجة لذلك، لها متتالية جزئية متقاربة، يُرمز لها أيضًا بـ(Lك)ك{\textstyle \left(\mathbf {L} _{k}\right)_{k}}، مع حدL{\textstyle \mathbf {L} }يمكن التحقق بسهولة من ذلكL{\textstyle \mathbf {L} }يمتلك الخصائص المطلوبة، أيأ=LL*{\textstyle \mathbf {A} =\mathbf {L} \mathbf {L} ^{*}}، وL{\textstyle \mathbf {L} }هي مصفوفة مثلثية سفلية ذات عناصر قطرية غير سالبة: لكلx{\textstyle x}وy{\textstyle y}،

أx،y=ليمأكx،y=ليمLكLك*x،y=LL*x،y.{\displaystyle \langle \mathbf {A} x,y\rangle =\left\langle \lim \mathbf {A} _{k}x,y\right\rangle =\langle \lim \mathbf {L} _{k}\mathbf {L} _{k}^{*}x,y\rangle =\langle \mathbf {L} \mathbf {L} ^{*}x,y\rangle \,.}

لذلك،أ=LL*{\textstyle \mathbf {A} =\mathbf {L} \mathbf {L} ^{*}}بما أن فضاء المتجهات الأساسي محدود الأبعاد، فإن جميع التوبولوجيات على فضاء المؤثرات متكافئة.(Lك)ك{\textstyle \left(\mathbf {L} _{k}\right)_{k}}يميل إلىL{\textstyle \mathbf {L} }في المعيار يعني(Lك)ك{\textstyle \left(\mathbf {L} _{k}\right)_{k}}يميل إلىL{\textstyle \mathbf {L} }من المدخل إلى المدخل. وهذا بدوره يعني أنه، بما أن كلLك{\textstyle \mathbf {L} _{k}}هي مثلثية سفلية ذات عناصر قطرية غير سالبة،L{\textstyle \mathbf {L} }هو كذلك.

إثبات باستخدام تحليل QR

يتركأ{\textstyle \mathbf {A} }لتكن مصفوفة هيرميتية شبه موجبة . عندئذٍ يمكن كتابتها كحاصل ضرب مصفوفة الجذر التربيعي الخاصة بها .أ=بب*{\textstyle \mathbf {A} =\mathbf {B} \mathbf {B} ^{*}}يمكن الآن تطبيق تحليل QR علىب*{\textstyle \mathbf {B} ^{*}}، مما أدى إلىب*=سؤالR{\textstyle \mathbf {B} ^{*}=\mathbf {Q} \mathbf {R} } ، أينسؤال{\textstyle \mathbf {Q} }هو نظام وحدوي وR{\textstyle \mathbf {R} }هي مثلثية علوية. بإدخال التفكيك في المعادلة الأصلية ينتجأ=بب*=(سؤالR)*سؤالR=R*سؤال*سؤالR=R*R{\textstyle A=\mathbf {B} \mathbf {B} ^{*}=(\mathbf {QR} )^{*}\mathbf {QR} =\mathbf {R} ^{*}\mathbf {Q} ^{*}\mathbf {QR} =\mathbf {R} ^{*}\mathbf {R} }. جلسةL=R*{\textstyle \mathbf {L} =\mathbf {R} ^{*}}وهذا يُكمل البرهان.

تعميم

يمكن تعميم تحليل تشوليسكي ليشمل المصفوفات (غير المنتهية بالضرورة) ذات المدخلات المؤثرة.{حن}{\textstyle \{{\mathcal {H}}_{n}\}}لتكن متتالية من فضاءات هيلبرت . لنعتبر مصفوفة المؤثرات

أ=[أ11أ12أ13أ12*أ22أ23أ13*أ23*أ33]{\displaystyle \mathbf {A} ={\begin{bmatrix}\mathbf {A} _{11}&\mathbf {A} _{12}&\mathbf {A} _{13}&\;\\\mathbf {A} _{12}^{*}&\mathbf {A} _{22}&\mathbf {A} _{23}&\;\\\mathbf {A} _{13}^{*}&\mathbf {A} _{23}^{*}&\mathbf {A} _{33}&\;\\\;&\;&\;&\ddots \end{bmatrix}}}

العمل على المجموع المباشر

ح=نحن،{\displaystyle {\mathcal {H}}=\bigoplus _{n}{\mathcal {H}}_{n},}

حيث كل

أأناج:حجحأنا{\displaystyle \mathbf {A} _{ij}:{\mathcal {H}}_{j}\rightarrow {\mathcal {H}}_{i}}

هو مؤثر محدود . إذا كان A موجبًا (شبه محدد) بمعنى أنه لكل k محدود ولأي

حن=1كحك،{\displaystyle h\in \bigoplus _{n=1}^{k}{\mathcal {H}}_{k},}

هنالكح،أح0{\textstyle \langle h,\mathbf {A} h\rangle \geq 0}إذن، توجد مصفوفة مؤثر مثلثية سفلية L بحيث A = LL * . ويمكن أيضًا اعتبار عناصر القطر الرئيسي للمصفوفة L موجبة.

تطبيقات في مكتبات البرمجة

  • لغة البرمجة C : توفر مكتبة GNU العلمية العديد من تطبيقات تحليل Cholesky.
  • نظام الجبر الحاسوبي ماكسيما : تقوم الدالة choleskyبحساب تحليل تشوليسكي.
  • يوفر نظام الحسابات العددية GNU Octave العديد من الوظائف لحساب وتحديث وتطبيق تحليل Cholesky.
  • توفر مكتبة LAPACK تطبيقًا عالي الأداء لتحليل Cholesky، ويمكن الوصول إليه من لغات Fortran و C ومعظم اللغات الأخرى. يتوفر تحليل Cholesky من خلال *POTRFمجموعة من الإجراءات الفرعية، وكذلك تحليل LDL من خلال *HETRFمجموعة من الإجراءات الفرعية.
  • في لغة بايثون ، تقوم الدالة choleskyالموجودة في numpy.linalgالوحدة بتنفيذ تحليل تشوليسكي. scipy.linalgتحتوي الوحدة على ldlدالة لتحليل LDL.
  • في برنامج Matlab ، cholتُعطي الدالة تحليل Cholesky. لاحظ أنها cholتستخدم العامل المثلثي العلوي لمصفوفة الإدخال افتراضيًا، أي أنها تحسبأ=R*R{\textstyle A=R^{*}R}أينR{\textstyle R}هي مثلثية علوية. يمكن تمرير علامة لاستخدام العامل المثلثي السفلي بدلاً من ذلك.
  • في لغة R ، cholتُعيد الدالة عامل تشوليسكي المثلثي العلوي [ 26 ] . ويمكنك الحصول على عامل تشوليسكي المثلثي السفلي بأخذ منقولة الناتج.
  • في لغة جوليا ، تعطي الدالة choleskyمن LinearAlgebraالمكتبة القياسية تحليل تشوليسكي.
  • في برنامج Mathematica ، يمكن تطبيق الدالة " CholeskyDecomposition" على المصفوفة.
  • في لغة C++ ، تدعم العديد من مكتبات الجبر الخطي هذا التفكيك:
    • توفر مكتبة Armadillo (C++) الأمر اللازم cholلإجراء تحليل Cholesky.
    • توفر مكتبة Eigen تحليلات Cholesky لكل من المصفوفات المتفرقة والكثيفة.
    • تتوفر الفئة في حزمة ROOT .TDecompChol

انظر أيضاً

ملحوظات

  1. ^ بينوا (1924). "ملاحظة حول طريقة حل المعادلات العادية الناتجة عن تطبيق طريقة الطرق المتبعة في نظام المعادلات الخطية بأسماء أقل من celui des inconnues (Procédé du Commandant Cholesky)". النشرة الجيوديسية (بالفرنسية). 2 : 66– 67. دوى : 10.1007 / BF03031308 .
  2. 1 2 بريس، ويليام هـ.؛ شاول أ. تيوكولسكي؛ ويليام ت. فيترلينغ؛ برايان ب. فلانيري (1992). وصفات عددية بلغة سي: فن الحوسبة العلمية (الطبعة الثانية ). مطبعة جامعة كامبريدج، إنجلترا. الصفحات 96-97 . ISBN   0-521-43108-5تم الاطلاع عليه بتاريخ 29-07-2025 .
  3. ^ جولوب وفان لون (1996 ، ص. 143) ، هورن آند جونسون (1985 ، ص. 407) ، تريفثين وباو (1997 ، ص. 174) .   
  4. هورن وجونسون (1985 ، ص 407) . 
  5. "المصفوفات - تحويل المصفوفة المتناظرة المعقدة إلى مصفوفة قطرية" . MathOverflow . تم الاطلاع عليه بتاريخ 25 يناير 2020 .
  6. شاباور، هانز؛ باتشر، كريستوف؛ سندرلاند، أندرو ج.؛ جانسترر، ويلفريد ن. (2010-05-01). "نحو حل متوازٍ لمسائل القيم الذاتية المتناظرة المعقدة المعممة" . وقائع علوم الحاسوب . المؤتمر الدولي لعلوم الحاسوب 2010. 1 (1): 437-445 . doi : 10.1016/j.procs.2010.04.047 . ISSN 1877-0509 . 
  7. ^ جولوب وفان لون (1996 ، ص 147) . 
  8. جنتل، جيمس إي. (1998). الجبر الخطي العددي لتطبيقات في الإحصاء . سبرينغر. ص 94. ISBN  978-1-4612-0623-1.
  9. هايام، نيكولاس ج. (1990). "تحليل تفكيك تشوليسكي لمصفوفة شبه محددة" . في: كوكس، إم جي؛ هامرلينغ، إس جيه (محرران). الحساب العددي الموثوق . أكسفورد، المملكة المتحدة: مطبعة جامعة أكسفورد. ص 161-185 . ISBN  978-0-19-853564-5.
  10. بانش، جيمس ر.؛ كوفمان، ليندا (1977). "بعض الطرق المستقرة لحساب القصور الذاتي وحل الأنظمة الخطية المتناظرة". رياضيات الحساب . 31 (137): 163-179 . doi : 10.1090/S0025-5718-1977-0428694-0 .
  11. 1 2 كريشنامورثي، أرافيند؛ مينون، ديباك. "عكس المصفوفة باستخدام تحليل تشوليسكي". معالجة الإشارات: الخوارزميات، والبنى، والترتيبات، والتطبيقات (SPA) 2013. IEEE. ص 70-72 . arXiv : 1111.4144 . 
  12. سو، أنتوني مان-تشو (2007). منهج البرمجة شبه المحددة لمشكلة تمثيل الرسم البياني: النظرية والتطبيقات والتوسعات (ملف PDF) (أطروحة دكتوراه). النظرية 2.2.6.
  13. غولوب وفان لون (1996 ، النظرية 4.1.3)
  14. بوب، ستيفن ب. " خوارزميات للقطع الناقص ". تقرير جامعة كورنيل رقم FDA (2008): 08-01.
  15. شوارزنبرغ-تشيرني، أ. (1995). "حول تحليل المصفوفات وحل المربعات الصغرى الفعال". ملحق علم الفلك والفيزياء الفلكية . 110 : 405-410 . Bibcode : 1995A & AS..110..405S .
  16. أرورا، جاسبير سينغ (2004-06-02). مقدمة في التصميم الأمثل . إلسيفير. ISBN 978-0-08-047025-2.
  17. وثائق Matlab randn . mathworks.com.
  18. ويليام موروكوف، "خوارزمية EM لجسر براون لتقدير التغاير مع البيانات المفقودة"، مجلة التمويل الحسابي.
  19. 1 2 3 بوتيف، زدرافكو إي.؛ كروس، ديرك ب.؛ تايمر، توماس (2025). علم البيانات والتعلم الآلي: الأساليب الرياضية والإحصائية ( الطبعة الثانية). بوكا راتون ؛ لندن: مطبعة سي آر سي. الصفحات 545-546 . ISBN    978-1-032-48868-4.
  20. ?potrf مكتبة Intel® Math Kernel
  21. تورينج، أ.م. (1948). "أخطاء التقريب في عمليات المصفوفات". المجلة الفصلية للميكانيكا والرياضيات التطبيقية 1 : 287-308 . doi : 10.1093 /qjmam/1.1.287 .
  22. 1 2 واتكينز، د. (1991). أساسيات حسابات المصفوفات . نيويورك: وايلي. ISBN 0-471-61414-9.
  23. فانغ، هاور-رين؛ أوليري، ديان ب. (2008). "خوارزميات تشوليسكي المعدلة: دليل مع مناهج جديدة" (ملف PDF) . البرمجة الرياضية . 115 (2): 319-349 . doi : 10.1007/s10107-007-0177-6 . hdl : 1903/3674 . MR 2411401 . 
  24. نوسيدال، خورخي (2000). التحسين العددي . سبرينغر.
  25. فانغ، هاو-رين (2011). "تحليل استقرار الكتلةLدLتي{\displaystyle LDL^{T}}"تحليل المصفوفات غير المحددة المتناظرة إلى عواملها الأولية". مجلة IMA للتحليل العددي . 31 (2): 528-555 . doi : 10.1093/imanum/drp053 . MR 2813183 . 
  26. "CRAN: Manuals" . cran.r-project.org . تم الاطلاع عليه بتاريخ 27-05-2026 .

مراجع

تاريخ العلوم

  • Sur la résolution numérique des systèmes d'équations linéaires ، مخطوطة تشوليسكي عام 1910، متاحة على الإنترنت وتم تحليلها على BibNum (باللغتين الفرنسية والإنجليزية) [لللغة الإنجليزية، انقر فوق "تنزيل"]

معلومة

شفرة الحاسوب

استخدام المصفوفة في المحاكاة

حاسبات عبر الإنترنت

  • حاسبة المصفوفات عبر الإنترنت تُجري تحليل تشوليسكي للمصفوفات عبر الإنترنت.