כלל קרמר
כלל קרמר (Cramer's Rule) הוא שיטה לפתרון מערכת משוואות לינאריות [math]\displaystyle{ A\vec{x}=\vec{b} }[/math] באמצעות דטרמיננטות בלבד, ללא צורך בדירוג המטריצה. הכלל מגיע בהמשך ישיר ללימוד הדטרמיננטה, המטריצה הנלווית [math]\displaystyle{ adj(A) }[/math] והקשר [math]\displaystyle{ A^{-1}=\frac{1}{|A|}adj(A) }[/math]: הוא נותן נוסחה סגורה לכל אחד ממרכיבי הפתרון בנפרד, ומאפשר גם למצוא משתנה בודד מתוך המערכת בלי לפתור את כולה. בקורס משתמשים בו בעיקר במערכות עם פרמטרים, שבהן דירוג לפי מקרים מסורבל, בעוד שחישוב דטרמיננטה נשאר חישוב ישיר.
הגדרה
תהי [math]\displaystyle{ A\in\mathbb{F}^{n\times n} }[/math] הפיכה, ויהי [math]\displaystyle{ \vec{b}\in\mathbb{F}^n }[/math] וקטור קבועים. לכל [math]\displaystyle{ 1\leq i\leq n }[/math] נסמן ב-[math]\displaystyle{ A_i }[/math] את המטריצה המתקבלת מ-[math]\displaystyle{ A }[/math] על ידי החלפת העמודה ה-[math]\displaystyle{ i }[/math] בווקטור [math]\displaystyle{ \vec{b} }[/math] (שאר עמודות [math]\displaystyle{ A }[/math] נשארות ללא שינוי).
כלל קרמר קובע כי הפתרון היחיד [math]\displaystyle{ \vec{x}=(x_1,\ldots,x_n) }[/math] של מערכת המשוואות [math]\displaystyle{ A\vec{x}=\vec{b} }[/math] נתון על ידי:
- [math]\displaystyle{ x_i=\frac{|A_i|}{|A|},\qquad i=1,\ldots,n }[/math]
משפטים ותכונות
- קיום ויחידות: כיוון ש-[math]\displaystyle{ A }[/math] הפיכה, למערכת [math]\displaystyle{ A\vec{x}=\vec{b} }[/math] יש פתרון יחיד - זו הסיבה שמותר בכלל לדבר על "הפתרון" [math]\displaystyle{ \vec{x} }[/math].
- התנאי ההכרחי: הנוסחה תקפה רק כאשר [math]\displaystyle{ A }[/math] הפיכה. אם [math]\displaystyle{ |A|=0 }[/math] היא אינה מוגדרת (חילוק באפס), ובמקרה זה אין פתרון יחיד (או שאין פתרון כלל, או שיש אינסוף פתרונות) - יש לבדוק זאת בדרך אחרת.
הוכחת הכלל. נסמן את עמודות [math]\displaystyle{ A }[/math] ב-[math]\displaystyle{ C_1,\ldots,C_n }[/math]. מכפלת מטריצה בווקטור היא צירוף לינארי של עמודותיה עם רכיבי הווקטור כמקדמים, ולכן [math]\displaystyle{ A\vec{x}=x_1C_1+x_2C_2+\cdots+x_nC_n }[/math]. מהמשוואה [math]\displaystyle{ A\vec{x}=\vec{b} }[/math] מקבלים אם כן:
- [math]\displaystyle{ \vec{b}=x_1C_1+\cdots+x_nC_n }[/math]
נחשב כעת את [math]\displaystyle{ |A_i| }[/math]: הדטרמיננטה לינארית בכל עמודה בנפרד (היא לינארית בכל שורה, ושחלוף אינו משנה את הדטרמיננטה, ולכן גם לינארית בעמודות). לכן ניתן להציב את הצירוף הלינארי של [math]\displaystyle{ \vec{b} }[/math] במקום העמודה ה-[math]\displaystyle{ i }[/math] ולפרק לפי לינאריות:
- [math]\displaystyle{ |A_i|=\bigl|C_1,\ldots,\vec{b},\ldots,C_n\bigr|=\sum_{k=1}^n x_k\bigl|C_1,\ldots,\underbrace{C_k}_{\text{במקום }i},\ldots,C_n\bigr| }[/math]
בכל איבר בסכום, במקום העמודה ה-[math]\displaystyle{ i }[/math] מוצבת העמודה [math]\displaystyle{ C_k }[/math]. עבור [math]\displaystyle{ k\neq i }[/math] מתקבלת מטריצה עם שתי עמודות זהות (העמודה ה-[math]\displaystyle{ k }[/math] המקורית, ושוב [math]\displaystyle{ C_k }[/math] במקום העמודה ה-[math]\displaystyle{ i }[/math]), ולכן הדטרמיננטה שלה אפס. עבור [math]\displaystyle{ k=i }[/math] העמודה ה-[math]\displaystyle{ i }[/math] הוחלפה בעצמה, כלומר מתקבלת שוב [math]\displaystyle{ A }[/math]. לכן כל הסכום מצטמצם לאיבר יחיד:
- [math]\displaystyle{ |A_i|=x_i\,|A| }[/math]
ומכיוון ש-[math]\displaystyle{ A }[/math] הפיכה, [math]\displaystyle{ |A|\neq0 }[/math], וניתן לחלק ולקבל [math]\displaystyle{ x_i=\dfrac{|A_i|}{|A|} }[/math], כנדרש.
שיטה / איך מחשבים
כדי לפתור [math]\displaystyle{ A\vec{x}=\vec{b} }[/math] עבור מטריצה ריבועית [math]\displaystyle{ A }[/math] בעזרת כלל קרמר:
- מוודאים ש-[math]\displaystyle{ A }[/math] ריבועית, ומחשבים את [math]\displaystyle{ |A| }[/math]. אם [math]\displaystyle{ |A|=0 }[/math] - לא ניתן להשתמש בכלל קרמר; יש לדרג את המטריצה המורחבת [math]\displaystyle{ (A|\vec{b}) }[/math] כדי לקבוע אם קיים פתרון, ואם כן כמה.
- לכל [math]\displaystyle{ i }[/math] בונים את [math]\displaystyle{ A_i }[/math] על ידי החלפת העמודה ה-[math]\displaystyle{ i }[/math] של [math]\displaystyle{ A }[/math] בווקטור [math]\displaystyle{ \vec{b} }[/math], ומחשבים את [math]\displaystyle{ |A_i| }[/math].
- מציבים בנוסחה [math]\displaystyle{ x_i=\dfrac{|A_i|}{|A|} }[/math].
מתי כדאי להשתמש בכלל קרמר? בעיקר כאשר [math]\displaystyle{ A }[/math] מכילה פרמטרים: דירוג מטריצה כזו מצריך לרוב פיצול למקרים (בהתאם לערכי הפרמטר שבהם איבר פיבוט מתאפס), בעוד שחישוב דטרמיננטה נשאר חישוב ישיר אחד לכל ערך של הפרמטר. הכלל נוח גם כשרוצים למצוא רק משתנה בודד מתוך הפתרון, בלי לחשב את כל שאר המשתנים.
מתי לא כדאי להשתמש בכלל קרמר? עבור מטריצות מספריות (ללא פרמטרים) וגדולות, חישוב [math]\displaystyle{ n+1 }[/math] דטרמיננטות דורש בדרך כלל יותר עבודה מדירוג בודד של המטריצה, כך שדירוג נשאר הכלי היעיל יותר. הכלל גם אינו חל כלל כאשר [math]\displaystyle{ A }[/math] אינה ריבועית, או כאשר [math]\displaystyle{ |A|=0 }[/math].
דוגמאות
דוגמה 1 - הנוסחה הכללית ל-[math]\displaystyle{ 2\times2 }[/math]. עבור [math]\displaystyle{ A=\begin{pmatrix}a&b\\c&d\end{pmatrix} }[/math] הפיכה (כלומר [math]\displaystyle{ |A|=ad-bc\neq0 }[/math]) ו-[math]\displaystyle{ \vec{b}=\begin{pmatrix}b_1\\b_2\end{pmatrix} }[/math], כלל קרמר נותן:
- [math]\displaystyle{ x_1=\frac{\begin{vmatrix}b_1&b\\b_2&d\end{vmatrix}}{ad-bc}=\frac{b_1d-bb_2}{ad-bc},\qquad x_2=\frac{\begin{vmatrix}a&b_1\\c&b_2\end{vmatrix}}{ad-bc}=\frac{ab_2-b_1c}{ad-bc} }[/math]
זו בדיוק ה"נוסחה השגורה" לפתרון מערכת [math]\displaystyle{ 2\times2 }[/math], כמקרה פרטי של כלל קרמר.
דוגמה 2 - מטריצה עם פרמטר. יהי [math]\displaystyle{ x\in\mathbb{R} }[/math] פרמטר, ונתונה המערכת [math]\displaystyle{ A\vec{y}=\vec{b} }[/math] עם
- [math]\displaystyle{ A=\begin{pmatrix}\cos x&-\sin x\\ \sin x&\cos x\end{pmatrix},\qquad \vec{b}=\begin{pmatrix}e^x\\ x+3\end{pmatrix} }[/math]
(כלומר [math]\displaystyle{ A }[/math] היא מטריצת סיבוב בזווית [math]\displaystyle{ x }[/math]). דירוג ישיר של [math]\displaystyle{ A }[/math] מחייב פיצול למקרים (למשל לפי האם [math]\displaystyle{ \cos x=0 }[/math]) ומסורבל, ואילו:
- [math]\displaystyle{ |A|=\cos^2x+\sin^2x=1\neq0 }[/math]
לכל [math]\displaystyle{ x }[/math], כך ש-[math]\displaystyle{ A }[/math] הפיכה לכל ערך של הפרמטר, והפתרון קיים ויחיד. מחליפים את העמודה הראשונה ב-[math]\displaystyle{ \vec{b} }[/math]:
- [math]\displaystyle{ |A_1|=\begin{vmatrix}e^x&-\sin x\\ x+3&\cos x\end{vmatrix}=e^x\cos x+(x+3)\sin x }[/math]
ואת העמודה השנייה ב-[math]\displaystyle{ \vec{b} }[/math]:
- [math]\displaystyle{ |A_2|=\begin{vmatrix}\cos x&e^x\\ \sin x&x+3\end{vmatrix}=(x+3)\cos x-e^x\sin x }[/math]
ומכיוון ש-[math]\displaystyle{ |A|=1 }[/math]:
- [math]\displaystyle{ y_1=e^x\cos x+(x+3)\sin x,\qquad y_2=(x+3)\cos x-e^x\sin x }[/math]
קיבלנו פתרון מלא לכל ערך של הפרמטר [math]\displaystyle{ x }[/math], כמעט בלי עבודה - בלי לדרג אף מטריצה.
שאלות תרגול
שאלה 1. תהי [math]\displaystyle{ A=\begin{pmatrix}2&1\\1&3\end{pmatrix} }[/math] ו-[math]\displaystyle{ \vec{b}=\begin{pmatrix}5\\10\end{pmatrix} }[/math]. מצאו את הפתרון של [math]\displaystyle{ A\vec{x}=\vec{b} }[/math] בעזרת כלל קרמר.
פתרון
- [math]\displaystyle{ |A|=2\cdot3-1\cdot1=5 }[/math]
- [math]\displaystyle{ |A_1|=\begin{vmatrix}5&1\\10&3\end{vmatrix}=15-10=5\ \Rightarrow\ x_1=\frac{5}{5}=1 }[/math]
- [math]\displaystyle{ |A_2|=\begin{vmatrix}2&5\\1&10\end{vmatrix}=20-5=15\ \Rightarrow\ x_2=\frac{15}{5}=3 }[/math]
כלומר [math]\displaystyle{ \vec{x}=(1,3) }[/math]. (בדיקה: [math]\displaystyle{ 2\cdot1+1\cdot3=5 }[/math], [math]\displaystyle{ 1\cdot1+3\cdot3=10 }[/math] - מתאים.)
שאלה 2. תהי [math]\displaystyle{ A=\begin{pmatrix}1&t\\t&1\end{pmatrix} }[/math] כאשר [math]\displaystyle{ t\in\mathbb{R} }[/math] פרמטר, ו-[math]\displaystyle{ \vec{b}=\begin{pmatrix}1\\0\end{pmatrix} }[/math].
- עבור אילו ערכי [math]\displaystyle{ t }[/math] ניתן להשתמש בכלל קרמר?
- עבור ערכים אלה, מצאו את פתרון המערכת.
פתרון
- [math]\displaystyle{ |A|=1-t^2 }[/math], ולכן [math]\displaystyle{ A }[/math] הפיכה (וניתן להשתמש בכלל קרמר) בדיוק כאשר [math]\displaystyle{ t\neq\pm1 }[/math].
- [math]\displaystyle{ |A_1|=\begin{vmatrix}1&t\\0&1\end{vmatrix}=1\ \Rightarrow\ x_1=\dfrac{1}{1-t^2} }[/math], וכן [math]\displaystyle{ |A_2|=\begin{vmatrix}1&1\\t&0\end{vmatrix}=-t\ \Rightarrow\ x_2=\dfrac{-t}{1-t^2} }[/math].
שימו לב: עבור [math]\displaystyle{ t=\pm1 }[/math] כלל קרמר אינו חל כלל; דירוג ישיר של [math]\displaystyle{ (A|\vec{b}) }[/math] מראה ששני המקרים נותנים מערכת סותרת, ללא פתרון.
שאלה 3. נתונה המערכת
- [math]\displaystyle{ x_1+x_2+x_3=6,\qquad 2x_1-x_2+x_3=3,\qquad x_1+2x_2-x_3=2 }[/math]
מצאו את [math]\displaystyle{ x_2 }[/math] בלבד, מבלי לפתור את כל המערכת.
פתרון
נסמן [math]\displaystyle{ A=\begin{pmatrix}1&1&1\\2&-1&1\\1&2&-1\end{pmatrix} }[/math], [math]\displaystyle{ \vec{b}=\begin{pmatrix}6\\3\\2\end{pmatrix} }[/math]. מחשבים [math]\displaystyle{ |A|=7 }[/math], ומחליפים את העמודה השנייה ב-[math]\displaystyle{ \vec{b} }[/math]:
- [math]\displaystyle{ |A_2|=\begin{vmatrix}1&6&1\\2&3&1\\1&2&-1\end{vmatrix}=14 }[/math]
ולכן [math]\displaystyle{ x_2=\dfrac{|A_2|}{|A|}=\dfrac{14}{7}=2 }[/math] - קיבלנו את הערך המבוקש מבלי לחשב כלל את [math]\displaystyle{ x_1,x_3 }[/math].
שאלה 4. תהי [math]\displaystyle{ A }[/math] מטריצה ריבועית עם [math]\displaystyle{ |A|=0 }[/math], ותהי מערכת [math]\displaystyle{ A\vec{x}=\vec{b} }[/math]. האם ניתן להשתמש בכלל קרמר? נמקו, והסבירו כיצד הייתם ניגשים לפתרון המערכת במקרה זה.
פתרון
לא. הנוסחה [math]\displaystyle{ x_i=\frac{|A_i|}{|A|} }[/math] דורשת חילוק ב-[math]\displaystyle{ |A| }[/math], וכלל קרמר מבוסס מלכתחילה על כך ש-[math]\displaystyle{ A }[/math] הפיכה כדי להבטיח שקיים פתרון יחיד. כאשר [math]\displaystyle{ |A|=0 }[/math] המטריצה אינה הפיכה, וייתכן שלמערכת אין פתרון כלל, או שיש לה אינסוף פתרונות. יש לדרג את המטריצה המורחבת [math]\displaystyle{ (A|\vec{b}) }[/math] כדי לקבוע באיזה מהמקרים מדובר.
טעויות נפוצות
- שימוש בנוסחת קרמר כאשר [math]\displaystyle{ |A|=0 }[/math] - הנוסחה דורשת חילוק בדטרמיננטה ותקפה רק כאשר [math]\displaystyle{ A }[/math] הפיכה.
- בניית [math]\displaystyle{ A_i }[/math] באופן שגוי: יש להחליף רק את העמודה ה-[math]\displaystyle{ i }[/math] בווקטור הקבועים [math]\displaystyle{ \vec{b} }[/math] ולהשאיר את שאר עמודות [math]\displaystyle{ A }[/math] ללא שינוי (טעות נפוצה היא להחליף שורה במקום עמודה).
- ניסיון להשתמש בכלל קרמר במערכת שאינה ריבועית (מספר המשוואות שונה ממספר הנעלמים) - הכלל מוגדר רק כאשר [math]\displaystyle{ A }[/math] ריבועית.
- שימוש בכלל קרמר כשיטת עבודה קבועה גם במערכות מספריות גדולות ללא פרמטרים, במקום דירוג פשוט - מבחינה חישובית זה בדרך כלל פחות יעיל.
- בלבול בין הפתרון [math]\displaystyle{ x_i=\frac{|A_i|}{|A|} }[/math] לבין נוסחת ההופכית [math]\displaystyle{ A^{-1}=\frac{1}{|A|}adj(A) }[/math] - שני הכלים קרובים ונובעים מאותו רעיון, אך אינם זהים.
שאלות ממבחנים
(עדיין אין שאלות מתויגות לנושא זה)
הרשימה המלאה, לפי מבחן ולפי נושא: אלגברה לינארית 1/אינדקס שאלות.
סרטונים
הרצאה הכוללת את ניסוח כלל קרמר, דוגמה מלאה של מערכת עם פרמטר (מטריצת סיבוב), והוכחת הכלל באמצעות לינאריות הדטרמיננטה בעמודות: