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

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

إفادة

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

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

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

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

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

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

إذا كانت المصفوفة الهرميتية A شبه موجبة فقط، بدلاً من كونها موجبة تمامًا، فإنها لا تزال قابلة للتحليل على الصورة A = LL * حيث يُسمح بأن تكون عناصر القطر الرئيسي للمصفوفة L أصفارًا. [ 7 ] ولا يشترط أن يكون هذا التحليل فريدًا، على سبيل المثال: [0001]=لل*،ل=[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 * مع ل=[ل10ل20]{\textstyle \mathbf {L} ={\begin{bmatrix}\mathbf {L} _{1}&0\\\mathbf {L} _{2}&0\end{bmatrix}}}حيث L1 هي مصفوفة مثلثية سفلية من الرتبة r × r ذات قطر موجب. [ 9 ]

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

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

أ=لدل*،{\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 * على النحو التالي:

أ=لدل*=لد1/2(د1/2)*ل*=لد1/2(لد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 إلىلدل*{\textstyle \mathbf {L} \mathbf {D} \mathbf {L} ^{*}}أين ل=جS-1{\displaystyle \mathbf {L} =\mathbf {C} \mathbf {S} ^{-1}}(هذا يعيد تحجيم كل عمود لجعل العناصر القطرية تساوي 1)، د=SS*.{\displaystyle \mathbf {D} =\mathbf {S} \mathbf {S} ^{*}.}

إذا كانت المصفوفة A موجبة تمامًا، فإن جميع عناصر القطر الرئيسي للمصفوفة D تكون موجبة. أما بالنسبة للمصفوفة A شبه الموجبة ، فإن لدل*{\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}مصفوفة مثلثية علوية. ثم، هناكأ=للتي{\textstyle A=LL^{T}}، أينل=(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} }يمكن حلها عن طريق حساب تحليل تشوليسكي أولاً أ=لل*{\textstyle \mathbf {A} =\mathbf {LL} ^{\mathrm {*} }}ثم حلهالy=ب{\textstyle \mathbf {Ly} =\mathbf {b} }لإيجاد قيمة y عن طريق التعويض الأمامي ، ثم حل المعادلة في النهاية.ل*x=y{\textstyle \mathbf {L^{*}x} =\mathbf {y} }لإيجاد قيمة x باستخدام التعويض العكسي .

طريقة بديلة لتجنب حساب الجذور التربيعية فيلل*{\textstyle \mathbf {LL} ^{\mathrm {*} }}التحليل هو حساب تفكيك LDLأ=لدل*{\textstyle \mathbf {A} =\mathbf {LDL} ^{\mathrm {*} }}ثم حلهالy=ب{\textstyle \mathbf {Ly} =\mathbf {b} }بالنسبة لـ y ، وأخيراً حلدل*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 بواسطةلأنا:=(أناأنا-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 ) على النحو التالي:أ(أنا)=لأناأ(أنا+1)لأنا*{\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 المطلوبة على النحو التالي:

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

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

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

إذا كانت المعادلة أ=للتي=(ل1100ل21ل220ل31ل32ل33)(ل11ل21ل310ل22ل3200ل33)=(ل112(متماثل)ل21ل11ل212+ل222ل31ل11ل31ل21+ل32ل22ل312+ل322+ل332)،{\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}}}

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

ل=(أ1100أ21/ل11أ22-ل2120أ31/ل11(أ32-ل31ل21)/ل22أ33-ل312-ل322){\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 هي:

لج،ج=(±)أج،ج-ك=1ج-1لج،ك2،{\displaystyle L_{j,j}=(\pm ){\sqrt {A_{j,j}-\sum _{k=1}^{j-1}L_{j,k}^{2}}},}لأنا،ج=1لج،ج(أأنا،ج-ك=1ج-1لأنا،كلج،ك)ل أنا>ج.{\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 حقيقية وموجبة التحديد.

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

لج،ج=أج،ج-ك=1ج-1لج،ك*لج،ك،{\displaystyle L_{j,j}={\sqrt {A_{j,j}-\sum _{k=1}^{j-1}L_{j,k}^{*}L_{j,k}}},}لأنا،ج=1لج،ج(أأنا،ج-ك=1ج-1لج،ك*لأنا،ك)ل أنا>ج.{\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.}

ويمكن إثبات ذلكلج،ج{\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أ=لدلتي=(100ل2110ل31ل321)(د1000د2000د3)(1ل21ل3101ل32001)=(د1(syممهـترأناج)ل21د1ل212د1+د2ل31د1ل31ل21د1+ل32د2ل312د1+ل322د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ج-1لجك2دك،{\displaystyle D_{j}=A_{jj}-\sum _{k=1}^{j-1}L_{jk}^{2}D_{k},}لأناج=1دج(أأناج-ك=1ج-1لأناكلجكدك)ل أنا>ج.{\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ج-1لجكلجك*دك،{\displaystyle D_{j}=A_{jj}-\sum _{k=1}^{j-1}L_{jk}L_{jk}^{*}D_{k},}لأناج=1دج(أأناج-ك=1ج-1لأناكلجك*دك)ل أنا>ج.{\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 ]

أ=لدلتي=(أنا00ل21أنا0ل31ل32أنا)(د1000د2000د3)(أنال21تيل31تي0أنال32تي00أنا)=(د1(syممهـترأناج)ل21د1ل21د1ل21تي+د2ل31د1ل31د1ل21تي+ل32د2ل31د1ل31تي+ل32د2ل32تي+د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ج-1لجكدكلجكتي،{\displaystyle \mathbf {D} _{j}=\mathbf {A} _{jj}-\sum _{k=1}^{j-1}\mathbf {L} _{jk}\mathbf {D} _{k}\mathbf {L} _{jk}^{\mathrm {T} },}لأناج=(أأناج-ك=1ج-1لأناكدكلجكتي)دج-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}.}

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

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

من المهام التي تظهر غالبًا في الممارسة العملية الحاجة إلى تحديث تحليل تشوليسكي. بتفصيل أكثر، يكون المرء قد قام بالفعل بحساب تحليل تشوليسكيأ=لل*{\textstyle \mathbf {A} =\mathbf {L} \mathbf {L} ^{*}}من مصفوفة ماأ{\textstyle \mathbf {A} }ثم يقوم المرء بتغيير المصفوفةأ{\textstyle \mathbf {A} }بطريقة ما في مصفوفة أخرى، على سبيل المثالأ~{\textstyle {\tilde {\mathbf {A} }}}ويريد المرء حساب تحليل تشوليسكي للمصفوفة المحدثة:أ~=ل~ل~*{\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}}}

ومعامل تشوليسكي الأعلى الخاص به ل=(ل11ل130ل33)،{\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=ل11،S12=ل11تيأ12،S13=ل13،S22=جحoل(أ22-S12تيS12)،S23=S22تي(أ23-S12تيS13)،S33=جحoل(ل33تيل33-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}}}

والرغبة في تحديد عامل تشوليسكي ل=(ل11ل130ل33){\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}}}

ينتج عن ذلك القواعد التالية: ل11=S11،ل13=S13،ل33=جح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}}يحتوي على تحلل تشوليسكيأك=لكلك*{\textstyle \mathbf {A} _{k}=\mathbf {L} _{k}\mathbf {L} _{k}^{*}}بحسب خاصية معيار المؤثر،

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

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

أx،y=ليمأكx،y=ليملكلك*x،y=لل*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 \,.}

لذلك،أ=لل*{\textstyle \mathbf {A} =\mathbf {L} \mathbf {L} ^{*}}بما أن فضاء المتجهات الأساسي محدود الأبعاد، فإن جميع التوبولوجيات على فضاء المؤثرات متكافئة.(لك)ك{\textstyle \left(\mathbf {L} _{k}\right)_{k}}يميل إلىل{\textstyle \mathbf {L} }في المعيار يعني(لك)ك{\textstyle \left(\mathbf {L} _{k}\right)_{k}}يميل إلىل{\textstyle \mathbf {L} }من المدخل إلى المدخل. وهذا بدوره يعني أنه، بما أن كللك{\textstyle \mathbf {L} _{k}}هي مثلثية سفلية ذات عناصر قطرية غير سالبة،ل{\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} }. جلسةل=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). "تحليل استقرار الكتلةلدلتي{\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 (باللغتين الفرنسية والإنجليزية) [لللغة الإنجليزية، انقر فوق "تنزيل"]

معلومة

شفرة الحاسوب

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

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

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