KonkurStudy
همه کارت‌ها

تجزیهٔ LU، حذف گاوسی، محورگزینی و چولسکی

ماتریس AA را با حذف گاوسی به صورت A=LUA=LU تجزیه کنید — این تجزیه بدون تعویض سطر موجود است اگر و تنها اگر کهادهای اصلی پیشرو Δ1,…,Δn−1\Delta_1,\dots,\Delta_{n-1} ناصفر باشند، و محور kk-ام برابر Δk/Δk−1\Delta_k/\Delta_{k-1} است؛ محورگزینی تنها برای کراندار کردن ضریب رشد به کار می‌رود، پس برای ماتریس متقارن معین مثبت AA (که در آن هر محور برابر Δk/Δk−1=ℓkk2>0\Delta_k/\Delta_{k-1}=\ell_{kk}^{2}>0 و ρ=1\rho=1 است) تجزیهٔ چولسکی A=LLTA=LL^{\mathsf T} بدون محورگزینی به طور نامشروط پایدار است و تقریباً نصف هزینهٔ حذف گاوسی با محورگزینی را دارد.

کارت الگوریتم کنکور ارشد ریاضی

اهمیت
۰/۵

هدف. نوشتن یک ماتریس مربعی به صورت A=LUA=LU، که در آن LL پایین‌مثلثی یکه است (قطر برابر یک، ضریب‌های حذف در زیر آن) و UU بالامثلثی است. این چیزی جز حذف گاوسی نیست که به شکل یک حاصل‌ضرب ثبت شده باشد: UU همان فرم پلکانی سطری‌ای است که به آن می‌رسید، و LL ضریب‌هایی را که برای رسیدن به آن به کار برده‌اید نگه می‌دارد. پس از به دست آوردن آن، دستگاه Ax=bAx=b به دو دستگاه مثلثی تجزیه می‌شود — Ly=bLy=b با جای‌گذاری پیشرو و سپس Ux=yUx=y با جای‌گذاری پسرو — که هر یک O(n2)O(n^{2}) هستند؛ بنابراین پس از یک تجزیهٔ O(n3/3)O(n^{3}/3)، حل برای بردارهای سمت راست متعدد ارزان تمام می‌شود.

دو نوع بهنجارسازی رایج است و به هر دو «تجزیهٔ LULU» گفته می‌شود: دولیتل (ℓii=1\ell_{ii}=1، که در همهٔ این متن به کار می‌رود) و کروت (uii=1u_{ii}=1). وجود نوعی بهنجارسازی برای یکتایی الزامی است، زیرا برای هر ماتریس قطری وارون‌پذیر DD داریم LU=(LD)(D−1U)LU=(LD)(D^{-1}U).

۱. الگوریتم (شکل دولیتل)

برای k=1,…,n−1k=1,\dots,n-1، با استفاده از محور ukku_{kk}، درایه‌های ستون kk را در زیر قطر حذف کنید. برای هر سطر i>ki>k:

ℓik=aik(k)ukk,Ri  ←  Ri−ℓik Rk.\ell_{ik}=\frac{a_{ik}^{(k)}}{u_{kk}},\qquad R_i\;\leftarrow\;R_i-\ell_{ik}\,R_k.

ضریب‌های ℓik\ell_{ik} مثلث پایینی اکید LL را پر می‌کنند؛ ماتریس تبدیل‌شده‌ای که باقی می‌ماند همان UU است. به طور مشخص:

L=[1ℓ211⋮⋱ℓn1⋯ℓn,n−11],U=[u11u12⋯u1nu22⋮⋱unn].L=\begin{bmatrix} 1 & & & \\ \ell_{21} & 1 & & \\ \vdots & & \ddots & \\ \ell_{n1} & \cdots & \ell_{n,n-1} & 1 \end{bmatrix},\qquad U=\begin{bmatrix} u_{11} & u_{12} & \cdots & u_{1n} \\ & u_{22} & & \vdots \\ & & \ddots & \\ & & & u_{nn} \end{bmatrix}.

شکل فشرده (درایه‌به‌درایه). به جای اجرای کامل حذف، می‌توانید مستقیماً درایه‌های دو طرف A=LUA=LU را برابر قرار دهید؛ این کار وقتی تنها یک درایه، یک سطر یا یک ستون از یکی از عامل‌ها خواسته شده باشد بسیار سریع‌تر است:

ukj=akj−∑m<kℓkmumj(j≥k),ℓik=1ukk(aik−∑m<kℓimumk)(i>k).u_{kj}=a_{kj}-\sum_{m<k}\ell_{km}u_{mj}\quad(j\ge k),\qquad \ell_{ik}=\frac{1}{u_{kk}}\Big(a_{ik}-\sum_{m<k}\ell_{im}u_{mk}\Big)\quad(i>k).

خواندن UU. پس از حذف، UU بالامثلثی است: هر درایهٔ زیر قطر برابر 00 است، قطر محورها را نگه می‌دارد و درایه‌های بالای قطر هر چیزی هستند که باقی مانده است. بنابراین ستون jj-ام ماتریس UU برابر (u1j,…,ujj,0,…,0)T(u_{1j},\dots,u_{jj},0,\dots,0)^{\mathsf T} است — یعنی زیر سطر jj به طور خودکار صفر است. وقتی سؤالی «ستون دوم UU» را برای یک ماتریس 3×33\times3 می‌خواهد، چند گزینه فقط به دلیل شکلشان حذف می‌شوند: پاسخ باید به صورت (∗, ∗, 0)T(*,\ *,\ 0)^{\mathsf T} باشد، پس تنها محور و درایهٔ بالای آن نیاز به محاسبه دارند.

تجزیه چه چیزی به دست می‌دهد.

Ax=b  ⟺  {Ly=b:yi=bi−∑j<iℓijyj,Ux=y:xi=1uii(yi−∑j>iuijxj).Ax=b\iff\begin{cases} Ly=b: & y_i=b_i-\sum_{j<i}\ell_{ij}y_j,\\[2pt] Ux=y: & x_i=\dfrac{1}{u_{ii}}\Big(y_i-\sum_{j>i}u_{ij}x_j\Big).\end{cases}

همچنین det⁡A=∏i=1nuii\det A=\prod_{i=1}^{n}u_{ii}، یا det⁡A=(−1)s∏iuii\det A=(-1)^{s}\prod_i u_{ii} هرگاه ss بار تعویض سطر انجام شده باشد؛ و محاسبهٔ A−1A^{-1} علاوه بر یک تجزیه، nn جفت حل مثلثی هزینه دارد.

حسابداری هزینه. تجزیه به 13n3+O(n2)\tfrac13n^{3}+O(n^{2}) ضرب/تقسیم نیاز دارد (23n3\tfrac23n^{3} عمل ممیز شناور اگر جمع‌ها جداگانه شمرده شوند)؛ هر حل مثلثی تنها 12n2\tfrac12n^{2} ضرب لازم دارد. پس mm دستگاه با ماتریس ضرایب مشترک AA در مجموع 13n3+m n2\tfrac13n^{3}+m\,n^{2} هزینه دارند، نه m⋅13n3m\cdot\tfrac13n^{3} — و این دقیقاً دلیل ذخیرهٔ LL و UU به جای تکرار حذف است (و بسیار ارزان‌تر از تشکیل A−1A^{-1}). اگر AA نواری با پهنای نوار pp باشد، LL و UU همان ساختار نواری را به ارث می‌برند و هزینه به O(np2)O(np^{2}) کاهش می‌یابد؛ حالت سه‌قطری p=1p=1 همان الگوریتم توماس با هزینهٔ O(n)O(n) است.

۲. حذف گاوسی به عنوان بازگشت مکمل شور

هر چیزی که دربارهٔ شکست الگوریتم، محورگزینی و پایداری گفته می‌شود از یک اتحاد واحد نتیجه می‌گیرد. سطر و ستون اول AA را جدا کنید:

A=(a11wTvB)=(10Tv/a11I)(a11wT0S),S=B−v wTa11.A=\begin{pmatrix} a_{11} & w^{\mathsf T}\\ v & B\end{pmatrix}=\begin{pmatrix} 1 & 0^{\mathsf T}\\ v/a_{11} & I\end{pmatrix}\begin{pmatrix} a_{11} & w^{\mathsf T}\\ 0 & S\end{pmatrix},\qquad S=B-\frac{v\,w^{\mathsf T}}{a_{11}}.

در اینجا SS همان مکمل شور A/a11A/a_{11} است: یک گام حذف دقیقاً یک به‌روزرسانی رتبه‌یک روی بلوک باقی‌مانده است، و عامل اول دقیقاً ستون اول LL است. اِعمال بازگشتی این اتحاد روی SS همان حذف گاوسی است. سه نتیجه:

  • محورها. محور kk-ام یعنی akk(k)a_{kk}^{(k)} درایهٔ (1,1)(1,1) مکمل شورِ (k−1)(k-1) مرتبه تکرارشده است. با گرفتن دترمینان به det⁡A=a11det⁡S\det A=a_{11}\det S می‌رسیم و از آن به طور استقرایی akk(k)=Δk/Δk−1a_{kk}^{(k)}=\Delta_k/\Delta_{k-1} — همان فرمول بخش ۳.
  • تجزیهٔ LULU بلوکی. با یک بلوک پیشروی مربعی وارون‌پذیر A11A_{11}، همان اتحاد چنین خوانده می‌شود

(A11A12A21A22)=(I0A21A11−1I)(A11A120A22−A21A11−1A12),\begin{pmatrix}A_{11}&A_{12}\\A_{21}&A_{22}\end{pmatrix}=\begin{pmatrix}I&0\\A_{21}A_{11}^{-1}&I\end{pmatrix}\begin{pmatrix}A_{11}&A_{12}\\0&A_{22}-A_{21}A_{11}^{-1}A_{12}\end{pmatrix},

پس det⁡A=det⁡A11⋅det⁡ ⁣(A/A11)\det A=\det A_{11}\cdot\det\!\big(A/A_{11}\big). همین شکل بلوکی است که کتابخانه‌های واقعی اجرا می‌کنند (چون کار را به ضرب ماتریس در ماتریس تبدیل می‌کند).

  • کدام رده‌های ماتریسی هرگز به محورگزینی نیاز ندارند. یک رده دقیقاً وقتی از حذف بدون محورگزینی سالم بیرون می‌آید که نسبت به مکمل شور بسته باشد و درایهٔ پیشرو ناصفر (یا مثبت) داشته باشد. ماتریس‌های متقارن معین مثبت، اکیداً قطرغالب، MM-ماتریس‌ها و ماتریس‌های تماماً نامنفی همگی بسته‌اند؛ یک ماتریس عمومی چنین نیست. همین واقعیت ساختاری دلیل جدول بخش ۴ است.

۳. وجود و یکتایی

فرض کنید Δk=det⁡(A[1:k, 1:k])\Delta_k=\det\big(A[1{:}k,\,1{:}k]\big) کهادهای اصلی پیشرو باشند، با Δ0=1\Delta_0=1.

قضیه. ۱. اگر Δk≠0\Delta_k\neq0 برای k=1,…,n−1k=1,\dots,n-1، آنگاه حذف گاوسی بدون حتی یک تعویض سطر تا انتها اجرا می‌شود، و تجزیهٔ A=LUA=LU با LL پایین‌مثلثی یکه وجود دارد و یکتا است. ۲. محورها از روی کهادها به دست می‌آیند: u11=Δ1=a11u_{11}=\Delta_1=a_{11} و ukk=Δk/Δk−1u_{kk}=\Delta_k/\Delta_{k-1}. ۳. برعکس، اگر AA نامنفرد باشد و A=LUA=LU با LL پایین‌مثلثی یکه، آنگاه Δk≠0\Delta_k\neq0 برای هر kk.

پس برای AAی وارون‌پذیر، این معیار یک هم‌ارزی دقیق است: تجزیهٔ A=LUA=LU وجود دارد   ⟺  Δ1,…,Δn−1≠0\iff\Delta_1,\dots,\Delta_{n-1}\neq0. اگر برای یک k<nk<n داشته باشیم Δk=0\Delta_k=0، محور kk-ام صفر می‌شود در حالی که درایه‌ای ناصفر زیر آن قرار دارد: حذف متوقف می‌شود و تعویض سطر اجتناب‌ناپذیر است. آنگاه تجزیهٔ LULU ساده وجود ندارد، اما تجزیهٔ جایگشت‌یافته همیشه وجود دارد.

یکتایی در یک خط. اگر L1U1=L2U2L_1U_1=L_2U_2 با هر دو LiL_i پایین‌مثلثی یکه و AA وارون‌پذیر باشد، آنگاه L2−1L1=U2U1−1L_2^{-1}L_1=U_2U_1^{-1} هم‌زمان پایین‌مثلثی یکه و بالامثلثی است، پس برابر II است.

حالت مرزی. بند ۳ واقعاً به نامنفرد بودن نیاز دارد — یک ماتریس منفرد ممکن است حتی با کهادهای صفر تجزیه شود (مثلاً ماتریس صفر، O=I⋅OO=I\cdot O). به همین دلیل پرسش‌های مربوط به وجود همواره برای AAی وارون‌پذیر مطرح می‌شوند.

۴. محورگزینی: وقتی حذف متوقف می‌شود

اگر محوری صفر باشد (یا در حساب ممیز شناور، خطرناک‌قدر کوچک باشد) سطرها را جابه‌جا می‌کنید. ثبت این جابه‌جایی‌ها در یک ماتریس جایگشت PP تجزیه‌ای می‌دهد که برای هر ماتریس مربعی AA همیشه وجود دارد:

PA=LU.PA=LU.

  • محورگزینی جزئی (سطری) — در گام kk، آن r≥kr\ge k را انتخاب کنید که ∣ark(k)∣|a_{rk}^{(k)}| را بیشینه کند و سطرهای k↔rk\leftrightarrow r را جابه‌جا کنید. نتیجه: ∣ℓik∣≤1|\ell_{ik}|\le1 برای همهٔ i,ki,k، پس ضریب‌ها هرگز نمی‌توانند خطا را تقویت کنند. هزینه: O(n2)O(n^{2}) مقایسه، که ناچیز است. این انتخاب پیش‌فرض است.
  • محورگزینی جزئی مقیاس‌شده — مقادیر ∣ark(k)∣/sr|a_{rk}^{(k)}|/s_r را با sr=max⁡j∣arj∣s_r=\max_j|a_{rj}| مقایسه کنید؛ این کار در برابر سطرهای بدمقیاس مصون می‌سازد.
  • محورگزینی کامل — جست‌وجو در سراسر زیرماتریس باقی‌مانده، که به PAQ=LUPAQ=LU می‌انجامد (تعویض سطر و ستون). ایمن‌ترین کران بر رشد را می‌دهد، اما جست‌وجوی O(n3)O(n^{3}) آن به‌ندرت به زحمتش می‌ارزد.

چرا اصلاً محورگزینی وجود دارد: ضریب رشد

پایداری هر روش از نوع حذف را ضریب رشد تعیین می‌کند

ρ=max⁡i,j,k∣aij(k)∣max⁡i,j∣aij∣,\rho=\frac{\max_{i,j,k}\big|a_{ij}^{(k)}\big|}{\max_{i,j}|a_{ij}|},

یعنی اینکه درایه‌های میانی تولیدشده در حین حذف نسبت به داده‌ها چقدر بزرگ می‌شوند. تحلیل خطای پسروِ ویلکینسون برای عامل‌های محاسبه‌شده می‌دهد

L^U^=A+ΔA,∥ΔA∥∞≤c n ρ ∥A∥∞ u,\hat L\hat U=A+\Delta A,\qquad \|\Delta A\|_{\infty}\le c\,n\,\rho\,\|A\|_{\infty}\,u,

که در آن uu گِرد کردن واحد است. محورگزینی دقیقاً یک هدف دارد: کوچک نگه داشتن ρ\rho. نتیجهٔ آن قاعده‌ای است که نیمی از پرسش‌های مفهومی این مبحث را هدایت می‌کند: روشی که کمیت‌های میانی‌اش پیشاپیش به وسیلهٔ داده‌ها کراندار باشند، هیچ نیازی به محورگزینی ندارد.

وضعیت ضریب رشد ρ\rho نیاز به محورگزینی؟
AA عمومی، بدون محورگزینی بی‌کران (می‌تواند به ∼1/ε\sim1/\varepsilon برسد) بله — وگرنه ناپایدار
محورگزینی جزئی ≤2 n−1\le2^{\,n-1} (توسط ماتریس ویلکینسون حاصل می‌شود)؛ در عمل ≈n2/3\approx n^{2/3} انتخاب استاندارد
محورگزینی کامل ≤n1/2(2⋅31/2⋯n1/(n−1))1/2\le n^{1/2}\big(2\cdot3^{1/2}\cdots n^{1/(n-1)}\big)^{1/2} تقریباً هرگز لازم نیست
AA اکیداً قطرغالب ρ≤2\rho\le2 خیر
AA متقارن معین مثبت ρ=1\rho=1 خیر

۵. چولسکی: حالت متقارن معین مثبت

قضیه (چولسکی). ماتریس متقارن A∈Rn×nA\in\mathbb{R}^{n\times n} معین مثبت است اگر و تنها اگر تجزیهٔ زیر را بپذیرد

A=LLT,L lower triangular,  ℓkk>0,A=LL^{\mathsf T},\qquad L\ \text{lower triangular},\ \ \ell_{kk}>0,

و در آن صورت این LL یکتا است. محاسبهٔ آن چنین است:

ℓkk=akk−∑j<kℓkj2,ℓik=1ℓkk(aik−∑j<kℓijℓkj),i>k.\ell_{kk}=\sqrt{a_{kk}-\sum_{j<k}\ell_{kj}^{2}},\qquad \ell_{ik}=\frac{1}{\ell_{kk}}\Big(a_{ik}-\sum_{j<k}\ell_{ij}\ell_{kj}\Big),\quad i>k.

قضیه (معیار سیلوستر — و اینکه محورها چه هستند). برای ماتریس متقارن AA گزاره‌های زیر هم‌ارزند:

A positive definite  ⟺  Δk>0 (k=1,…,n)  ⟺  λi(A)>0 ∀i  ⟺  A=LLT with ℓkk>0.A\ \text{positive definite}\iff \Delta_k>0\ (k=1,\dots,n)\iff \lambda_i(A)>0\ \forall i\iff A=LL^{\mathsf T}\ \text{with}\ \ell_{kk}>0.

در نتیجه، حذف گاوسی بدون محورگزینی روی یک ماتریس متقارن معین مثبت، در هر تکرار محور زیر را تولید می‌کند

akk(k)=ΔkΔk−1=ℓkk2>0,a_{kk}^{(k)}=\frac{\Delta_k}{\Delta_{k-1}}=\ell_{kk}^{2}>0,

یعنی نسبت دو دترمینان مثبت. پس محور در هر گام اکیداً مثبت است — نه هرگز صفر و نه هرگز منفی — بنابراین بازگشت نمی‌تواند شکست بخورد، هر جذر از عددی مثبت گرفته می‌شود، و هیچ تعویضی هرگز تحمیل نمی‌شود. (برای ماتریس عمومی، محورها می‌توانند مثبت، منفی یا صفر باشند؛ مثبت بودن در اینجا نتیجهٔ واقعی فرض معین مثبت بودن است، نه یک تصادف.)

اصطلاح‌شناسی. در صورت‌های فارسی، «محور» همان pivot است (درایهٔ akk(k)a_{kk}^{(k)} که در گام kk به کار می‌رود) و «محورگزینی» همان pivoting است (عمل انتخاب یا جابه‌جا کردن آن). یک جمله اغلب هر دو را می‌پرسد — مقدار محور و نیاز به محورگزینی — پس به هر دو پاسخ دهید.

چهار واقعیت دربارهٔ چولسکی بی‌وقفه تکرار می‌شوند و دانستن چرایی هر یک ارزشمند است.

(الف) هیچ محوری نمی‌تواند صفر شود. هر زیرماتریس اصلی پیشروِ AkA_k از یک ماتریس متقارن معین مثبت، خود متقارن معین مثبت است (فرم درجه دوم را به بردارهایی که تنها روی kk مؤلفهٔ نخست تکیه دارند محدود کنید)، پس det⁡Ak>0\det A_k>0. از آنجا که det⁡Ak=∏j≤kℓjj2\det A_k=\prod_{j\le k}\ell_{jj}^{2}، داریم

ℓkk2=det⁡Akdet⁡Ak−1>0:\ell_{kk}^{2}=\frac{\det A_k}{\det A_{k-1}}>0:

زیر رادیکال هرگز 00 نمی‌شود و تقسیم بر صفر رخ نمی‌دهد. (به‌ویژه همهٔ Δk>0\Delta_k>0 هستند، پس یک ماتریس متقارن معین مثبت به طور خودکار معیار وجود LULU در بخش ۳ را برآورده می‌کند.)

اثبات دوم (مکمل شور)، همانی که تعمیم می‌یابد. با A=(a11wTwB)A=\begin{pmatrix}a_{11}&w^{\mathsf T}\\ w&B\end{pmatrix}ی متقارن، محور اول برابر a11=e1TAe1>0a_{11}=e_1^{\mathsf T}Ae_1>0 است. برای x≠0x\neq0 در Rn−1\mathbb{R}^{n-1} قرار دهید y=(−wTxa11, x)Ty=\big(-\tfrac{w^{\mathsf T}x}{a_{11}},\,x\big)^{\mathsf T}؛ با بسط دادن فرم درجه دوم،

0<yTAy=xT(B−w wTa11)x=xTSx.0<y^{\mathsf T}Ay=x^{\mathsf T}\Big(B-\frac{w\,w^{\mathsf T}}{a_{11}}\Big)x=x^{\mathsf T}Sx.

پس مکمل شور SS نیز متقارن معین مثبت است؛ بنا بر بازگشت بخش ۲، هر محور بعدی درایهٔ قطری پیشرو یک ماتریس متقارن معین مثبت است و در نتیجه مثبت است. این دقیقاً همان گزارهٔ «ردهٔ متقارن معین مثبت نسبت به مکمل شور بسته است» می‌باشد.

(ب) نبودِ رشد درایه‌ها، و در نتیجه پایداری پسروِ نامشروط بدون محورگزینی. با مقایسهٔ درایه‌های (i,i)(i,i) در A=LLTA=LL^{\mathsf T} به aii=∑j≤iℓij2a_{ii}=\sum_{j\le i}\ell_{ij}^{2} می‌رسیم و از آن کران پیشینی

∣ℓij∣≤aii≤max⁡kakk(1≤j≤i),indeed∥L∥F2=tr⁡(A).|\ell_{ij}|\le\sqrt{a_{ii}}\le\sqrt{\max_k a_{kk}}\qquad(1\le j\le i),\qquad\text{indeed}\quad\|L\|_F^{2}=\operatorname{tr}(A).

دو نامساوی دیگر استدلال را کامل می‌کنند. نخست، برای AAی متقارن معین مثبت، کران کوشی–شوارتس ∣aij∣≤aiiajj≤max⁡kakk|a_{ij}|\le\sqrt{a_{ii}a_{jj}}\le\max_k a_{kk} می‌گوید بزرگ‌ترین درایه از نظر قدرمطلق روی قطر قرار دارد. دوم، قطر مکمل شور فقط کوچک‌تر می‌شود: sii=bii−wi2/a11≤biis_{ii}=b_{ii}-w_i^{2}/a_{11}\le b_{ii}. بنابراین هیچ ماتریس میانی هرگز از max⁡kakk=max⁡i,j∣aij∣\max_k a_{kk}=\max_{i,j}|a_{ij}| فراتر نمی‌رود، یعنی

ρ=1(in particular ρ≤1).\rho=1\quad(\text{in particular }\rho\le1).

آنگاه نتیجهٔ ویلکینسون می‌دهد L^L^T=A+ΔA\hat L\hat L^{\mathsf T}=A+\Delta A با ∥ΔA∥2≤c(n) u ∥A∥2\|\Delta A\|_2\le c(n)\,u\,\|A\|_2 و c(n)=O(n)c(n)=O(n): پس چولسکی به طور نامشروط از نظر پسرو پایدار است. محورگزینی سطری نه‌تنها غیرضروری است، بلکه تقارنی را نابود می‌کند که کل روش بر آن بنا شده است؛ تنها محورگزینی متقارن PTAPP^{\mathsf T}AP گاهی به کار می‌رود، آن هم فقط برای ماتریس‌های با رتبهٔ ناقص یا نیمه‌معین.

(ج) نصف کار LULU. تقارن یعنی تنها یک عامل مثلثی محاسبه و تنها نیمی از ماتریس ذخیره می‌شود، و جست‌وجوی محور هم وجود ندارد:

Cholesky∼16n3 mult/div,LU∼13n3 mult/div,\text{Cholesky}\sim\tfrac16 n^{3}\ \text{mult/div},\qquad LU\sim\tfrac13 n^{3}\ \text{mult/div},

یا هم‌ارز با آن 13n3\tfrac13n^{3} در برابر 23n3\tfrac23n^{3} عمل ممیز شناور وقتی جمع‌ها جداگانه شمرده شوند — در هر دو حالت همان نسبت 1:21:2، به‌علاوهٔ nn جذر برای چولسکی. هر دو قرارداد در گزینه‌های کنکور ظاهر می‌شوند؛ تنها چیزی که ابهام ندارد نسبت است.

(د) ارزان‌ترین آزمون معین مثبت بودن است. بازگشت را روی ماتریس متقارن AA اجرا کنید: اگر در گامی akk−∑j<kℓkj2≤0a_{kk}-\sum_{j<k}\ell_{kj}^{2}\le0 شد، آنگاه det⁡Ak≤0\det A_k\le0 و AA معین مثبت نیست؛ و اگر با همهٔ زیررادیکال‌های مثبت تا انتها اجرا شد، آنگاه LL نامنفرد است و برای x≠0x\ne0 داریم xTAx=∥LTx∥22>0x^{\mathsf T}Ax=\|L^{\mathsf T}x\|_2^{2}>0. تلاش برای اجرای چولسکی از محاسبهٔ مقادیر ویژه یا هر nn کهاد بهتر است.

(ه) چولسکی در برابر حذف گاوسی با محورگزینی — مقایسهٔ منصفانه. مقایسهٔ درست، چولسکی روی AAی متقارن معین مثبت در برابر حذف گاوسی با محورگزینی جزئی روی AAی عمومی است، و باید هم‌زمان روی هر دو محور انجام شود:

معیار چولسکی روی AAی متقارن معین مثبت حذف گاوسی با محورگزینی جزئی
شکست الگوریتم ناممکن: محور =Δk/Δk−1>0=\Delta_k/\Delta_{k-1}>0 بدون تعویض ممکن است؛ به PA=LUPA=LU نیاز دارد
جست‌وجوی محور ندارد O(n2)O(n^{2}) مقایسه + جابه‌جایی سطرها
ضریب رشد ρ=1\rho=1 ρ≤2 n−1\rho\le2^{\,n-1} (بدترین حالت، دست‌یافتنی)
خطای پسرو نامشروط، ∥ΔA∥2≤cnu∥A∥2\lVert\Delta A\rVert_2\le c_n u\lVert A\rVert_2 وابسته به ρ\rho؛ در عمل بی‌خطر
ضرب/تقسیم 16n3\tfrac16n^{3} 13n3\tfrac13n^{3}
عمل ممیز شناور 13n3\tfrac13n^{3} 23n3\tfrac23n^{3}
حافظه 12n(n+1)\tfrac12n(n+1) (یک مثلث) n2n^{2}
افزوده‌ها nn جذر، O(n)O(n) بردار جایگشت + جابه‌جایی داده
تقارن حفظ می‌شود با تعویض سطر از بین می‌رود

حکم نهایی: روی ماتریس متقارن معین مثبت، چولسکی هم پایدار است و هم تقریباً دو برابر سریع‌تر. دو تلهٔ استاندارد یکی از این دو محور را می‌پذیرند و دیگری را انکار می‌کنند — «پایدار اما کندتر» (نسبت عملیات را وارونه می‌گیرد) و «سریع‌تر اما احتمالاً ناپایدار» (این توصیف حذف گاوسی بدون محورگزینی روی ماتریس عمومی است، نه چولسکی روی ماتریس متقارن معین مثبت). معمولاً روش ارزان‌تر پرخطرتر است؛ معین مثبت بودن دقیقاً همان فرض به‌قدر کافی قوی است که روش ارزان‌تر را هم‌زمان ایمن‌تر می‌کند.

گونهٔ بدون جذر. تجزیهٔ A=LDLTA=LDL^{\mathsf T} با LL پایین‌مثلثی یکه و D=diag⁡(d1,…,dn)D=\operatorname{diag}(d_1,\dots,d_n) از nn جذر پرهیز می‌کند؛ این تجزیه برای هر ماتریس متقارن AA با Δk≠0\Delta_k\neq0 وجود دارد، و AA متقارن معین مثبت است   ⟺  \iff همهٔ dk>0d_k>0. این همان محاسبهٔ LULU است: U=DLTU=DL^{\mathsf T}، dk=ukk=Δk/Δk−1d_k=u_{kk}=\Delta_k/\Delta_{k-1}، و در حالت معین مثبت، عامل چولسکی برابر L~=LD1/2\tilde L=LD^{1/2} است. برای ماتریس‌های متقارن نامعین از LDLTLDL^{\mathsf T} با محورگزینی متقارن (بانچ–کافمن) و بلوک‌های قطری 1×11\times1/2×22\times2 استفاده می‌شود.

۶. مثال‌های کوچک حل‌شده

(الف) یک LULU ساده. برای

A=[2114−60−272],ℓ21=42=2,  ℓ31=−22=−1 ⟹ [2110−8−2083],ℓ32=8−8=−1,A=\begin{bmatrix}2&1&1\\4&-6&0\\-2&7&2\end{bmatrix},\qquad \ell_{21}=\tfrac{4}{2}=2,\ \ \ell_{31}=\tfrac{-2}{2}=-1\ \Longrightarrow\ \begin{bmatrix}2&1&1\\0&-8&-2\\0&8&3\end{bmatrix},\qquad \ell_{32}=\tfrac{8}{-8}=-1,

L=[100210−1−11],U=[2110−8−2001].L=\begin{bmatrix}1&0&0\\2&1&0\\-1&-1&1\end{bmatrix},\qquad U=\begin{bmatrix}2&1&1\\0&-8&-2\\0&0&1\end{bmatrix}.

بررسی متقابل با فرمول کهادها: Δ1=2\Delta_1=2، Δ2=−16\Delta_2=-16، پس u22=Δ2/Δ1=−8u_{22}=\Delta_2/\Delta_1=-8 — و det⁡A=∏iuii=−16\det A=\prod_i u_{ii}=-16 که رایگان به دست آمد.

(ب) وارون‌پذیر، اما بدون LULU. ماتریس A=[0110]A=\begin{bmatrix}0&1\\1&0\end{bmatrix} دارای det⁡A=−1≠0\det A=-1\neq0 است اما Δ1=0\Delta_1=0: حذف حتی نمی‌تواند شروع شود، پس هیچ LULU وجود ندارد. یک تعویض مشکل را حل می‌کند، PA=I=I⋅IPA=I=I\cdot I. همین ماتریس دو‌در‌دو تمام محتوای هر سؤالِ «وارون‌پذیر اما بدون تجزیهٔ LULU» است؛ کنکور فقط آن را با یک Δ2=0\Delta_2=0 پنهان به اندازهٔ 3×33\times3 بزرگ می‌کند.

(ج) چولسکی. برای A=[42−225−1−2−15]A=\begin{bmatrix}4&2&-2\\2&5&-1\\-2&-1&5\end{bmatrix} (متقارن، با Δ1=4, Δ2=16, Δ3=64\Delta_1=4,\ \Delta_2=16,\ \Delta_3=64 که همه >0>0 هستند، پس متقارن معین مثبت):

ℓ11=2,ℓ21=1,ℓ31=−1,ℓ22=5−1=2,ℓ32=−1−(−1)(1)2=0,ℓ33=5−1−0=2,\ell_{11}=2,\quad \ell_{21}=1,\quad \ell_{31}=-1,\quad \ell_{22}=\sqrt{5-1}=2,\quad \ell_{32}=\frac{-1-(-1)(1)}{2}=0,\quad \ell_{33}=\sqrt{5-1-0}=2,

L=[200120−102],det⁡A=(∏iℓii)2=64.L=\begin{bmatrix}2&0&0\\1&2&0\\-1&0&2\end{bmatrix},\qquad \det A=\Big(\prod_i\ell_{ii}\Big)^{2}=64.

توجه کنید که برای هر درایه ∣ℓij∣≤max⁡kakk=5|\ell_{ij}|\le\sqrt{\max_k a_{kk}}=\sqrt5، دقیقاً همان‌طور که کران رشد پیش‌بینی می‌کند.

(د) همان ماتریس، در قالب بازگشت مکمل شور. با a11=4>0a_{11}=4>0 و w=(2,−2)Tw=(2,-2)^{\mathsf T}،

S=[5−1−15]−14[2−2][2−2]=[5−1−15]−[1−1−11]=[4004],S=\begin{bmatrix}5&-1\\-1&5\end{bmatrix}-\frac{1}{4}\begin{bmatrix}2\\-2\end{bmatrix}\begin{bmatrix}2&-2\end{bmatrix}=\begin{bmatrix}5&-1\\-1&5\end{bmatrix}-\begin{bmatrix}1&-1\\-1&1\end{bmatrix}=\begin{bmatrix}4&0\\0&4\end{bmatrix},

که باز هم متقارن معین مثبت است و درایه‌های قطری‌اش از قبل بزرگ‌تر نشده‌اند (5→45\to4). دنبالهٔ محورها 4,4,44,4,4 است: همه اکیداً مثبت (چنان‌که Δ1/Δ0=4\Delta_1/\Delta_0=4، Δ2/Δ1=4\Delta_2/\Delta_1=4، Δ3/Δ2=4\Delta_3/\Delta_2=4 پیش‌بینی می‌کنند)، همه ≤max⁡kakk=5\le\max_k a_{kk}=5، پس ρ=1\rho=1 و ℓkk=4=2\ell_{kk}=\sqrt{4}=2 که با بند (ج) هم‌خوان است. اگر یکی از محورها ≤0\le0 درمی‌آمد، AA اساساً معین مثبت نبود — و هیچ تعویضی نمی‌توانست نجاتش دهد.

۷. وجود تجزیه در برابر وارون‌پذیری — این دو را اشتباه نگیرید

ویژگی تعیین‌شده به وسیلهٔ یادداشت
AA وارون‌پذیر است det⁡A≠0\det A\neq 0 از دترمینان کامل استفاده می‌کند
A=LUA=LU وجود دارد (بدون تعویض) Δk≠0\Delta_k\neq 0 برای k=1,…,n−1k=1,\dots,n-1 کهادهای بالا-چپ، تنها تا مرتبهٔ n−1n-1
PA=LUPA=LU وجود دارد همیشه (برای AAی مربعی) جایگشت، تعویض‌ها را جذب می‌کند
A=LLTA=LL^{\mathsf T} با ℓkk>0\ell_{kk}>0 وجود دارد AA متقارن و Δk>0\Delta_k>0 برای همهٔ kk هم‌ارز با معین مثبت بودن

ماتریس همیشگی کنکور وارون‌پذیر است (det⁡A≠0\det A\neq0، اغلب عددی منفی و کوچک) ولی Δ2=0\Delta_2=0 دارد، پس تجزیهٔ LULU سادهٔ آن وجود ندارد: این دو مفهوم واقعاً از هم مستقل‌اند.

۸. کدام تجزیه را انتخاب کنیم

تجزیه فرض روی AA هزینه (ضرب/تقسیم) محورگزینی
A=LUA=LU (دولیتل / کروت) Δk≠0\Delta_k\neq0، k≤n−1k\le n-1 13n3\tfrac13n^{3} ندارد — ممکن است وجود نداشته باشد
PA=LUPA=LU هر AAی مربعی 13n3+O(n2)\tfrac13n^{3}+O(n^{2}) مقایسه جزئی (سطری)
PAQ=LUPAQ=LU هر AAی مربعی 13n3+O(n3)\tfrac13n^{3}+O(n^{3}) مقایسه کامل
A=LDLTA=LDL^{\mathsf T} AA متقارن، Δk≠0\Delta_k\neq0 16n3\tfrac16n^{3} ندارد (بانچ–کافمن اگر نامعین باشد)
A=LLTA=LL^{\mathsf T} (چولسکی) AA متقارن معین مثبت 16n3\tfrac16n^{3} + nn جذر هرگز
A=QRA=QR (هاوس‌هولدر) هر AA ≈23n3\approx\tfrac23n^{3} (دو برابر LULU) ندارد
الگوریتم توماس سه‌قطری + متقارن معین مثبت یا قطرغالب O(n)O(n) ندارد

۹. کنکور این مبحث را چگونه می‌آزماید

مجموعهٔ الگوها کوچک و در طول سال‌ها ثابت است:

۱. محاسبهٔ یک عامل. «LL را بیابید»، «ستون دوم UU»، «درایهٔ ℓ32\ell_{32}». از شکل فشرده و قیدهای شکلی استفاده کنید؛ معمولاً یک درایه گزینه‌ها را از هم جدا می‌کند. ۲. وجود. «برای کدام ماتریس تجزیهٔ LULU (بدون تعویض سطر) وجود ندارد؟» — مقادیر Δ1,…,Δn−1\Delta_1,\dots,\Delta_{n-1} را حساب کنید؛ همهٔ گزینه‌های انحرافی وارون‌پذیرند، پس det⁡A\det A هرگز تعیین‌کننده نیست. ۳. پایداری مفهومی. «چرا چولسکی بدون محورگزینی پایدار است؟» یا «کدام گزاره دربارهٔ چولسکی نادرست است؟» — چهار گزینه یکتایی، نامنفرد بودن، شمارش عملیات و رشد درایه‌ها را با هم می‌آمیزند و سه‌تای آن‌ها گزاره‌های درستی هستند. تنها کراندار بودن کمیت‌های میانی است که علت پایداری است. ۴. هزینه. چولسکی نصف LULU است؛ یک حل مثلثی O(n2)O(n^{2}) است، پس وقتی A=LUA=LU ذخیره شده باشد بردارهای سمت راست اضافی تقریباً رایگان‌اند؛ تشکیل صریح A−1A^{-1} گزینهٔ اسراف‌کارانه است. ۵. کمیت‌های مشتق‌شده. det⁡A\det A از روی محورها (با علامت جایگشت)، فرمول محور ukk=Δk/Δk−1u_{kk}=\Delta_k/\Delta_{k-1}، یا شمارش عملیات برای حل mm دستگاه با ماتریس ضرایب مشترک AA. ۶. «محور در هر تکرار چیست؟» — که برای ماتریس متقارن معین مثبتِ تجزیه‌شده به صورت A=LLTA=LL^{\mathsf T} با حذف گاوسی پرسیده می‌شود. چهار گزینه حالت‌های علامت را افراز می‌کنند: مثبت است اما شاید همچنان به محورگزینی نیاز باشد / ممکن است صفر، منفی یا مثبت باشد / ممکن است صفر باشد، پس محورگزینی لازم است / مثبت است و محورگزینی لازم نیست. گزینهٔ آخر درست است و توجیه آن دولایه است: مثبت بودن از Δk/Δk−1>0\Delta_k/\Delta_{k-1}>0 (نبود شکست) به‌علاوهٔ ρ=1\rho=1 (نبود دلیل دقتی برای تعویض). «ممکن است صفر/منفی باشد» توصیف یک ماتریس عمومی است؛ فرض معین مثبت بودن دقیقاً همان چیزی است که این حالت را ممنوع می‌کند. ۷. مقایسهٔ رودررو با حذف گاوسی + محورگزینی. «برای مثلثی‌سازی یک ماتریس متقارن معین مثبت، چولسکی در مقایسه با حذف گاوسی با محورگزینی … است» با گزینه‌هایی از ضرب دکارتی {پایدار، ناپایدار} × {سریع‌تر، کندتر}. پاسخ: پایدار و سریع‌تر. هر دو نیمه را جداگانه بررسی کنید — پایداری از نبود رشد درایه‌ها، و سرعت از 16n3\tfrac16n^{3} در برابر 13n3\tfrac13n^{3} ضرب به‌علاوهٔ حذف جست‌وجوی محور و نصف شدن حافظه.

تلهٔ رایج: وجود تجزیهٔ LULU را کهادهای اصلی پیشرو از مرتبهٔ 1,…,n−11,\dots,n-1 تعیین می‌کنند، نه det⁡A\det A. یک ماتریس کاملاً وارون‌پذیر می‌تواند فاقد LULU باشد (یک محور میانی صفر می‌شود)، و برای بررسی وجود هرگز لازم نیست Δn=det⁡A\Delta_n=\det A را حساب کنید. دترمینان‌های بالا-چپِ k×kk\times k را بیازمایید، در مرتبهٔ n−1n-1 متوقف شوید، و اگر یکی صفر بود سراغ تعویض سطر بروید (PA=LUPA=LU).

نکتهٔ کنکوری: وقتی سؤالی می‌پرسد چرا یک روش بدون محورگزینی پایدار است، پاسخ همیشه گزاره‌ای دربارهٔ ضریب رشد است — اینکه اعداد میانی نمی‌توانند بزرگ شوند — نه هرگز یکتایی، نه وارون‌پذیری، نه شمارش عملیات. این سه معمولاً واقعیت‌های درستی دربارهٔ روش‌اند و دقیقاً به همین دلیل گزینه‌های انحرافی خوبی می‌سازند. دو ردهٔ کلاسیکی که به محورگزینی نیاز ندارند عبارت‌اند از متقارن معین مثبت (ρ=1\rho=1، از ∣ℓij∣≤aii|\ell_{ij}|\le\sqrt{a_{ii}}) و اکیداً قطرغالب (ρ≤2\rho\le2).

نکتهٔ کنکوری: عبارت «متقارن معین مثبت» هم‌زمان به دو پرسش متفاوت پاسخ می‌دهد. محور چیست؟ — اکیداً مثبت، akk(k)=Δk/Δk−1=ℓkk2a_{kk}^{(k)}=\Delta_k/\Delta_{k-1}=\ell_{kk}^{2}، نه هرگز صفر و نه هرگز منفی. آیا محورگزینی لازم است؟ — خیر، چون ρ=1\rho=1؛ و تعویض سطرها حتی تقارنی را که A=LLTA=LL^{\mathsf T} بر آن تکیه دارد نابود می‌کند. این دو را کنار هم بگذارید و می‌بینید چولسکی روی هر دو محور از حذف گاوسی با محورگزینی بهتر است: هم به طور نامشروط پایدار است و هم نصف محاسبات را دارد.

فرمول‌های کلیدی

Factorization / triangular solve
A=LU ⟹ Ly=b,Ux=yA=LU\ \Longrightarrow\ Ly=b,\quad Ux=y
Elimination step (multiplier)
ℓik=aik(k)ukk,Ri←Ri−ℓikRk\ell_{ik}=\frac{a_{ik}^{(k)}}{u_{kk}},\qquad R_i\leftarrow R_i-\ell_{ik}R_k
Schur-complement form of one sweep
(a11wTvB)=(10Tv/a11I)(a11wT0S),S=B−v wTa11\begin{pmatrix} a_{11} & w^{\mathsf T}\\ v & B\end{pmatrix}=\begin{pmatrix} 1 & 0^{\mathsf T}\\ v/a_{11} & I\end{pmatrix}\begin{pmatrix} a_{11} & w^{\mathsf T}\\ 0 & S\end{pmatrix},\quad S=B-\frac{v\,w^{\mathsf T}}{a_{11}}
Existence via leading minors
A=LU exists   ⟺   Δk=det⁡ ⁣(A[1:k,1:k])≠0, k=1,…,n−1A=LU\ \text{exists}\ \iff\ \Delta_k=\det\!\big(A[1{:}k,1{:}k]\big)\neq 0,\ k=1,\dots,n-1
Pivots from minors
u11=Δ1,ukk=ΔkΔk−1u_{11}=\Delta_1,\qquad u_{kk}=\frac{\Delta_k}{\Delta_{k-1}}
With row interchanges
PA=LUPA=LU
SPD pivots (Sylvester)
A SPD ⟹ akk(k)=ΔkΔk−1=ℓkk2>0for every kA\ \text{SPD}\ \Longrightarrow\ a_{kk}^{(k)}=\frac{\Delta_k}{\Delta_{k-1}}=\ell_{kk}^{2}>0\quad\text{for every }k
Cholesky recursion (SPD)
ℓkk=akk−∑j<kℓkj2,ℓik=1ℓkk(aik−∑j<kℓijℓkj)\ell_{kk}=\sqrt{a_{kk}-\sum_{j<k}\ell_{kj}^{2}},\qquad \ell_{ik}=\frac{1}{\ell_{kk}}\Big(a_{ik}-\sum_{j<k}\ell_{ij}\ell_{kj}\Big)
Growth factor & Cholesky's bound
ρ=max⁡i,j,k∣aij(k)∣max⁡i,j∣aij∣,A=LLT ⇒ ∣ℓij∣≤aii, ρ=1\rho=\frac{\max_{i,j,k}|a_{ij}^{(k)}|}{\max_{i,j}|a_{ij}|},\qquad A=LL^{\mathsf T}\ \Rightarrow\ |\ell_{ij}|\le\sqrt{a_{ii}},\ \rho=1
Cost: Cholesky vs Gaussian elimination
16n3 mult/div (13n3 flops)vs.13n3 mult/div (23n3 flops)\tfrac16 n^{3}\ \text{mult/div}\ \big(\tfrac13 n^{3}\ \text{flops}\big)\quad\text{vs.}\quad \tfrac13 n^{3}\ \text{mult/div}\ \big(\tfrac23 n^{3}\ \text{flops}\big)
#lu-decomposition#gaussian-elimination#leading-principal-minors#pivoting#cholesky-factorization#numerical-stability

سوالات تمرینی