هر ماتریس حقیقی A بهصورت A=QR تجزیه میشود که در آن Q متعامد (اورتوگونال) و R بالامثلثی است؛ ساخت استاندارد و پایدار آن هر ستون را با ماتریسهای هاوسهولدر H=I−2vv⊤/(v⊤v) روی یک محور مختصات بازتاب میدهد، این ماتریسها بهطور ضمنی و به شکل بهروزرسانی رتبهیک با کار O(n) ذخیره و اعمال میشوند، و در هر اتحادی که از A=QR ساخته شود، Q فقط از راه Q−1=Q⊤ جابهجا میشود.
کارت مفهوم کنکور ارشد ریاضی
اهمیت
۰/۵
هدف. تجزیهٔ یک ماتریس بهصورت A=QR، که در آن Q دارای ستونهای متعامد یکه است (Q⊤Q=I) و Rبالامثلثی است. این نسخهٔ متعامدِ تجزیهٔ LU است (کارت LU را ببینید): بهجای صفر کردن ستونها با ضریبهای حذفی نامتعامد، آنها را با تبدیلهای متعامد صفر میکنیم. چون نگاشتهای متعامد نُرم اقلیدسی را حفظ میکنند، تجزیهٔ QR وضعیتمندی (conditioning) ماتریس A را به ارث میبرد (κ2(R)=κ2(A)) و گزینهٔ پایدار از نظر عددی برای کمترین مربعات و الگوریتم مقدار ویژهٔ QR است — دقیقاً همانجا که LU و دستگاه معادلات نرمال دقت خود را از دست میدهند.
برای A∈Rm×n با m≥n: در تجزیهٔ کاملQR داریم Q∈Rm×m متعامد و R∈Rm×n؛ در تجزیهٔ تحویلیافته (نازک) QR، ماتریس Q∈Rm×n (با ستونهای متعامد یکه) و R∈Rn×n بالامثلثی است. اگر A رتبهٔ ستونی کامل داشته باشد و شرط مثبت بودن قطر rii>0 را بخواهیم، تجزیه یکتا است.
وجود، یکتایی، و آنچه در حالت تباهیده باقی میماند.
وجود: هر A∈Rm×n (با هر رتبه و هر شکلی) تجزیهٔ کامل QR دارد — ساخت هاوسهولدرِ زیر هرگز شکست نمیخورد، برخلاف LU بدون محورگیری.
یکتایی: تنها با رتبهٔ ستونی کامل + نرمالسازی علامتrii>0. در غیر این صورت زوج QΛ,ΛR با Λ=diag(±1) نیز معتبر است، و به همین دلیل گزینههای کنکور در علامت با هم تفاوت دارند.
ماتریس A با نقص رتبه: در R یک صفر روی قطر ظاهر میشود؛ آنگاه یک کد پایدار از QR با محورگیری ستونی استفاده میکند، AP=QR با ∣r11∣≥∣r22∣≥⋯، که رتبهٔ عددی را آشکار میسازد.
حالت مختلط: ترانهاده را با ترانهادهٔ مزدوج جایگزین کنید — Q به ماتریسی یکانی تبدیل میشود (Q∗Q=I) و بازتابنده بهصورت H=I−2uu∗/(u∗u) درمیآید که همچنان هرمیتی و یکانی است.
ارتباط با تجزیهٔ چولسکی:A⊤A=R⊤Q⊤QR=R⊤R، پس (با شرط rii>0) ماتریس R در تجزیهٔ QRهمان عامل چولسکیِ ماتریس نرمال است — که بدون تشکیل A⊤A و بدون مربع شدن عدد وضعیت به دست میآید.
بازتابهای هاوسهولدر — ابزار اصلی کار
برای یک بردار ناصفر v، بازتابندهٔ هاوسهولدر
H=I−2v⊤vvv⊤
بازتاب نسبت به ابرصفحهٔ v⊥ است. هرگاه ∥u∥2=1 باشد، این رابطه بهسادگی به H=I−2uu⊤ تبدیل میشود. ویژگیهای تعریفکنندهٔ آن (که هر کدام هدف محبوب طراحان کنکور است):
متقارن:H⊤=H.
متعامد / درگیرشونده (involutory):H⊤H=H2=I، پس H−1=H=H⊤.
نُرمنگهدار (تساویسنج):∥Hx∥2=∥x∥2 برای هر x.
طیف {−1,+1,…,+1}:Hv=−v (مقدار ویژهٔ −1، یک بار)، و هر w⊥v ثابت میماند، Hw=w (مقدار ویژهٔ +1 با بزرگی n−1).
دترمینان detH=−1 (یک مقدار ویژهٔ −1). بنابراین یک بازتاب هرگز معین مثبت نیست (مگر آنکه به I تباهیده شود): یک ماتریس متقارنِ متعامد با مقدار ویژهٔ −1 در رابطهٔ v⊤Hv=−∥v∥2<0 صدق میکند.
رد (اثر) trH=n−2 (جمع مقادیر ویژه) — راهی یکخطی برای تشخیص یک بازتابنده.
کدام نرمالسازیها یک بازتابنده میدهند؟
طراحان سؤال H را به شکل I−βuu⊤ یا I−γuu⊤ پنهان میکنند. مقیاس آن اجباری است: برای u=0،
H⊤H=I−2γuu⊤+γ2(u⊤u)uu⊤=I⟺γ2∥u∥22=2γ⟺γ=∥u∥222.
پس I−γuu⊤ متعامد است اگر و تنها اگرγ=2/∥u∥22، یعنی اگر و تنها اگر مخرج برابر β=21∥u∥22 باشد:
H=I−βuu⊤,β=21∥u∥22⟺H=I−u⊤u2uu⊤.
این همان بازتابنده است، فقط به شکلی نوشته شده که LAPACK آن را ذخیره میکند. (برای γ کلی، ماتریس I−γuu⊤ همچنان متقارن است با مقادیر ویژهٔ 1−γ∥u∥22 یک بار و 1 با بزرگی n−1؛ این ماتریس هنگامی تصویرگر است که γ=1/∥u∥22 و هنگامی بازتابنده است که γ=2/∥u∥22.)
بازتاب یک ستون روی یک محور. برای نگاشتن x به مضربی از e1، چنین انتخاب میکنیم:
v=x−αe1,α=−sign(x1)∥x∥2⟹Hx=αe1.
انتخاب علامت α=−sign(x1)∥x∥ باعث میشود v تا حد ممکن بلند شود و از حذف فاجعهبار (cancellation) در x1−α جلوگیری شود.
هرگز ماتریس را تشکیل ندهید: اعمال ضمنی (رتبهیک)
یک بازتابنده تنها با یک بردار u بههمراه اسکالر β ذخیره میشود — n+1 عدد، نه n2 عدد. آنگاه همهٔ حاصلضربها با بازگروهبندی جملهٔ رتبهیک و با استفاده از شرکتپذیری (uu⊤)x=u(u⊤x) محاسبه میشوند:
Hx=x−βu⊤xu.
دستور کار چنین است: (۱) γ←u⊤x (یک ضرب داخلی، 2n−1 عمل ممیز شناور)؛ (۲) α←γ/β (یک تقسیم)؛ (۳) x−αu (یک عمل axpy، 2n عمل ممیز شناور). در مجموع ≈4n عمل، یعنی Θ(n) — در برابر Θ(n2) اگر uu⊤ را صریحاً بسازید و ضرب چگال انجام دهید.
همین ترفند برای فرمهای درجهدوم و دوخطی نیز کار میکند، که اصلاً به هیچ ضرب ماتریس در بردار نیاز ندارند:
x⊤Hx=∥x∥22−β(u⊤x)2,x⊤Hy=x⊤y−β(u⊤x)(u⊤y),
که هر یک Θ(n) است. حتی دترمینان هم رایگان به دست میآید: بنا بر لم دترمینان ماتریسیdet(I+uv⊤)=1+v⊤u، پس detH=1−βu⊤u=1−2=−1، که علامت بازتاب را در O(n) تأیید میکند.
اعمال یک بازتابنده بر یک بلوک کامل B∈Rn×p نیز بر همین ایده استوار است، HB=B−βu(u⊤B):
عمل
سادهلوحانه (تشکیل صریح H)
ضمنی (ذخیرهٔ u,β)
Hx
Θ(n2)
Θ(n)، ≈4n عمل
x⊤Hx یا x⊤Hy
Θ(n2)
Θ(n)
detH
Θ(n3)
O(1) پس از محاسبهٔ u⊤u
HB، B∈Rn×p
Θ(n2p)
Θ(np)، ≈4np
دقیقاً به همین دلیل است که تجزیهٔ QR هاوسهولدر برای یک ماتریس m×n هزینهٔ O(mn2) دارد و نه O(mn3): هر یک از n بازتابنده بهصورت یک بهروزرسانی رتبهیک بر زیرماتریس باقیمانده اعمال میشود، نه بهصورت ضرب ماتریس در ماتریس.
تلهٔ رایج: همین بازگروهبندی بر هر ماتریس ساختاریافته به شکل I±σuv⊤ حاکم است — بازتابندههای هاوسهولدر، بهروزرسانیهای رتبهیک، فرمول شرمن–موریسون (A+uv⊤)−1=A−1−1+v⊤A−1uA−1uv⊤A−1، و تبدیلهای گاوس. ضرب یک ماتریس رتبهیک در یک بردار همیشهO(n) است؛ تنها کسی که uv⊤ را میسازد هزینهٔ O(n2) میپردازد.
الگوریتم (QR هاوسهولدر)
برای k=1,…,n: فرض کنید x زیرستون A[k:m,k] از ماتریس جاری باشد. بازتابندهٔ Hk را بسازید (که به شکل diag(Ik−1,H^k) نشانده میشود) که x را به αe1 میبرد، و آن را اعمال کنید: A←HkA. این کار همهٔ درایههای زیر محور (k,k) را صفر میکند. پس از n گام،
Hn⋯H2H1A=R⟹Q=H1H2⋯Hn,A=QR,
زیرا هر Hk وارون خودش است. هزینه در حدود ∼2n2(m−n/3) عمل ممیز شناور است — همان تجزیهٔ QR چگال استاندارد — و تشکیل صریح Q تقریباً به همین اندازه هزینه دارد، و به همین دلیل حلکنندهها Q را در فرم تجزیهشده نگه میدارند (بردارهای uk در بخش زیرقطری صفرشدهٔ A ذخیره میشوند) و آن را بهطور ضمنی اعمال میکنند. چون detHk=−1 است، ماتریس مونتاژشدهٔ Q در حالت مربعی detQ=(−1)n دارد (نکتهای دربارهٔ زوجیت بازتاب که کنکور دوست دارد آن را بسنجد).
دورانهای گیونس — صفر کردن جراحیوار
یک دوران گیونس در صفحهٔ (i,j)،
G=(c−ssc),c=a2+b2a,s=a2+b2b,
تنها یک درایهٔ انتخابشده را صفر میکند (زیرا (a,b)⊤↦(a2+b2,0)⊤ را مینگارد). هر G متعامد است با detG=+1 (یک دوران سره، برخلاف بازتاب). تجزیهٔ QR گیونس زمانی ترجیح داده میشود که A خلوت یا از پیش تقریباً مثلثی باشد (مثلاً ماتریسهای هسنبرگ در تکرار مقدار ویژه)، چون هر دوران تنها دو سطر را لمس میکند — و باز هم با هرگز نساختن عامل کامل n×n، هزینهٔ هر یک O(n) است.
مثال کوچک حلشده (گیونس، 2×2)
ماتریس A=(acbd) را با دوران دادن ستون اولش (a,c)⊤ روی محور تجزیه میکنیم. با r=a2+c2، قرار میدهیم cos=a/r,sin=c/r و J=(cos−sinsincos). آنگاه R=JA چنین است:
و Q=J⊤. اندازهٔ درایههای R مستقل از قرارداد است: r11=∥a1∥ (نُرم ستون اول)، ∣r22∣=∣detA∣/r11، و r12=q1⋅a2 (ضرب داخلی نخستین ستون متعامد یکه در ستون دوم). تنها علامت آنها به انتخاب Q بستگی دارد.
نمونهٔ عددی. برای ماتریس متقارن A=(2111): r11=5، q1=51(2,1)⊤، r12=q1⋅(1,1)⊤=3/5، ∣r22∣=∣detA∣/r11=1/5، که نتیجه میدهد
Q=51(21−12),R=(503/51/5).
توجه کنید که Q=Q⊤، هرچند A=A⊤ است: تقارن A باعث متقارن شدن Q نمیشود و R را هم قطری نمیکند. همین یک زوج 2×2 بهتنهایی هر اتحادِ «Q⊤ را با Q عوض کن» را رد میکند.
سه راه محاسبهٔ QR
روش
Q ساختهشده از
det هر عامل
بهترین کاربرد
پایداری
هاوسهولدر
بازتابهای I−2vv⊤/v⊤v
−1
ماتریس چگال و عمومی A
عالی
گیونس
دورانهای صفحهای
+1
خلوت / هسنبرگ، صفر کردن یک درایه
عالی
گرام–اشمیت
متعامدسازی مستقیم ستونها
—
نظری، محاسبهٔ دستی
گرام–اشمیت کلاسیک ناپایدار است؛ از نسخهٔ اصلاحشده استفاده کنید
روش گرام–اشمیت همان تجزیهٔ تحویلیافتهٔ QR را تولید میکند (با rii>0): qk=(ak−∑j<k⟨ak,qj⟩qj)/rkk، rjk=⟨ak,qj⟩ — از نظر مفهومی شفاف است اما در حساب ممیز شناور تعامد را از دست میدهد، و به همین دلیل کتابخانهها برای QR از هاوسهولدر/گیونس استفاده میکنند.
جبر با A=QR: جابهجا کردن Q و R
خانوادهٔ کاملی از سؤالات کنکور صرفاً دستکاری نمادین روی این تجزیه است. تنها حرکتهای مجاز اینهاست:
Q−1=Q⊤,(Q⊤)−1=Q,(XY)⊤=Y⊤X⊤,(XY)−1=Y−1X−1,
بهعلاوهٔ R−⊤:=(R⊤)−1=(R−1)⊤، که بهمحض ناتکین بودن A وجود دارد (آنگاه detR=det(Q⊤A)=0). نتایج مفید، معتبر برای هرA=QR:
A⊤=R⊤Q⊤,A−1=R−1Q⊤,A⊤A=R⊤R,AA⊤=QRR⊤Q⊤.
هرگاه A افزون بر آن متقارن باشد (A=A⊤)، ترانهاده گرفتن از A=QR اتحاد اصلی زیر را میدهد:
QR=R⊤Q⊤⟹R=Q⊤R⊤Q⊤⟹R−1=QR−⊤Q,
که گام آخر از وارونگیری و معکوس کردن ترتیب به دست میآید. همارز با آن، QRQ=AQ=R⊤Q⊤Q=R⊤: حاصلضرب QRQ برابر R⊤ است، نهR. جدول استاندارد گزینههای انحرافی:
گزاره
حکم
دلیل
A⊤=R⊤Q⊤
همیشه درست
ترانهادهٔ سادهٔ یک حاصلضرب
A⊤=R⊤Q
در حالت کلی نادرست
نیازمند Q=Q⊤ است
A−1=R−1Q⊤
همیشه درست
(QR)−1=R−1Q−1 و Q−1=Q⊤
A−1=R−1Q
در حالت کلی نادرست
باز هم Q بهجای Q⊤ نشسته است
QRQ=R⊤
درست وقتی A=A⊤
QRQ=AQ=R⊤Q⊤Q
R=QRQ
در حالت کلی نادرست
یعنی R=R⊤، یعنی R قطری باشد
R−1=QR−⊤Q
درست وقتی A=A⊤ ناتکین باشد
وارونگیری از R=Q⊤R⊤Q⊤
دو نکتهٔ ساختاری که ارزش بهخاطر سپردن دارند: بالامثلثی بودن R⇒R−1 بالامثلثی و R⊤,R−⊤ پایینمثلثی هستند؛ و R=R⊤ ایجاب میکند که Rقطری باشد، که برای یک A=QR متقارن تنها در حالتهای خاص رخ میدهد (مثلاً وقتی A بهطور متعامد شبهقطری باشد) و هرگز بهطور عام رخ نمیدهد.
چرا QR (بهجای LU) برای کمترین مربعات
برای یک دستگاه فراتعیین، مقدار ∥Ax−b∥2 را کمینه میکنیم. چون Q یک تساویسنج است، با تجزیهٔ کامل A=QR داریم
∥Ax−b∥2=∥Q⊤Ax−Q⊤b∥2=R1x−(Q⊤b)1:n22+const,
پس جواب از یک دستگاه مثلثی R1x=(Q⊤b)1:n به دست میآید و نُرم باقیمانده همان دنبالهٔ انتهایی ∥(Q⊤b)n+1:m∥ است. این کار از مربع شدن عدد وضعیت — که دستگاه معادلات نرمال A⊤Ax=A⊤b (مسیر LU/چولسکی) به بار میآورد — جلوگیری میکند؛ و همین دلیل آن است که QR ابزار پیشفرض کمترین مربعات است.
تکرار مقدار ویژهٔ QR (جایی که تجزیه دوباره بازمیگردد)
قرار دهید A0=A و تکرار کنید Ak=QkRk، Ak+1=RkQk. آنگاه
Ak+1=RkQk=Qk⊤AkQk,
یعنی یک تشابه متعامد، پس مقادیر ویژه حفظ میشوند و (با شیفت) دنبالهٔ Ak به فرم شور (شبه)مثلثی همگرا میشود. دو نتیجه بیدرنگ به دست میآید: اگر A متقارن باشد، هر Ak نیز متقارن است (Q⊤AQ متقارن میماند)، و اگر A هسنبرگ بالا باشد، هر Ak نیز هسنبرگ بالا است — و به همین دلیل ابتدا A را (با n−2 بازتاب هاوسهولدر) به فرم هسنبرگ تحویل میدهند و سپس گامهای QR مبتنی بر گیونس را با هزینهٔ O(n2) برای هر گام اجرا میکنند.
نکتهٔ کنکوری: این یکخطیِ بازتابنده را حفظ کنید — بازتابندهٔ هاوسهولدر H=I−2uu⊤ (با ∥u∥=1)، همارز با I−uu⊤/β که در آن β=21∥u∥22، هم متقارن و هم متعامد است، یک درگیرشونده (H2=I) با مقادیر ویژهٔ −1,+1,…,+1، trH=n−2 و detH=−1، پس نُرمنگهدار است اما هرگز معین مثبت نیست. هر پرسشی دربارهٔ هزینهٔ آن با بازگروهبندی u(u⊤x) پاسخ داده میشود: ضرب ماتریس در بردار و فرم درجهدوم O(n) هستند و تنها تلهٔ ساختن uu⊤ هزینهٔ O(n2) میدهد. برای QR یک ماتریس 2×2، ماتریس R را با اندازههای مستقل از قرارداد مشخص کنید (r11=∥a1∥، ∣r22∣=∣detA∣/r11، r12=q1⋅a2) و بگذارید قرارداد علامت Q (دوران سره با detQ=+1 در برابر بازتاب با −1) علامتهای باقیمانده را تعیین کند. و در هر اتحادی که بر A=QR بنا شده است، تنها راه جابهجا کردن Q رابطهٔ Q−1=Q⊤ است — گزینهای که Q را بهجای Q⊤ مینشاند، همان گزینهٔ انحرافی کلاسیک است.
فرمولهای کلیدی
Householder reflector
H=I−2v⊤vvv⊤,H⊤=H=H−1,H2=I,detH=−1
Symmetric, orthogonal, involutory reflection across the hyperplane $v^{\perp}$; eigenvalues $-1,+1,\dots,+1$ and trace $n-2$.
Reflect a vector onto an axis
v=x−αe1,α=−sign(x1)∥x∥2⟹Hx=αe1
The sign choice maximizes $\lVert v\rVert$ and avoids cancellation; this is one column-clearing step of Householder QR.
Implicit application (rank-one regrouping)
Hx=x−βu⊤xu,x⊤Hx=∥x∥22−β(u⊤x)2,β=21∥u∥22
Store $H$ as the vector $u$: both cost $\Theta(n)$ (about $4n$ flops); forming $uu^{\top}$ would cost $\Theta(n^{2})$.
Givens rotation (zeros one entry)
G=(c−ssc),c=a2+b2a,s=a2+b2b,detG=+1
A proper rotation that maps $(a,b)^{\top}$ to $(\sqrt{a^{2}+b^{2}},0)^{\top}$; ideal for sparse or Hessenberg matrices.