Hurricane
05-05-2010, 00:50
התחלתי ללמוד קצת כפל מטריצות, כי אני צריך ללמוד אלגברה לינארית לתוכנית שאני כותב.
בכל אופן, קראתי באינטרנט מדריכים על אלגברה לינארית, ולא הבנתי כלום על כפל מטריצות. גם לא מצאתי סיכומים טובים.
החלטתי להוריד את הספר Linear Algebra for dummies (מצחיק שלכל הנושאים הקיימים בעולם יש for dummies), ששם יש הסבר מפורט מאוד על כפל מטריצות.
אתרגם את ההסבר ואביא דוגמאות משלי.
המדריך:
ידע בסיסי נדרש: מטריצה [איך מייצגים מטריצה].
כפל מטריצות כולל בתוכו שני שלבים - כפל וחיבור. יש לכפול, לחבר ואז לסכום את התוצאות בהתאם ולהכניסו במטריצה החדשה (שהיא בעצם המטריצה שנקבל מכפל המטריצות).
ניתן לעשות כפל בין מטריצות רק בתנאים ספציפיים. אי אפשר סתם לכפול את המטריצות איך ומתי שרוצים.
לעיתים קרובות, אפילו לא ניתן לכפול מטריצה במטריצה!
קביעת המטריצות והסדר:
כדי לכפול מטריצה במטריצה, מספר העמודות של המטריצה הראשונה חייב להיות שווה למספר השורות שבמטריצה השנייה.
כלומר, כדי לכפול מטריצה בגודל mXn במטריצה בגודל pXq, יש לדרוש ש- n=p.
יותר מזה, המטריצה החדשה שנקבל כתוצאה מכפל המטריצות תהיה בגודל mXq.
לדוגמא, אם מטריצה A היא בגודל 3X4 ומטריצה B היא בגודל 4X7, אזי המכפלה A*B תהיה בגודל 3X7.
מצד שני, לא ניתן לבצע את המכפלה B*A, בגלל שלמטריצה B יש 7 עמודות בעוד שלמטריצה A יש 3 שורות.
כפל בין שתי מטריצות:
התהליך שבו נשתמש בכפל מטריצות יהיה לסכום מכפלות.
כל איבר במטריצה החדשה נוצר ע"י סכום כל המכפלות של האיברים בשורה במטריצה הראשונה בעמודה שבמטריצה השנייה.
לדוגמא, נניח שנרצה למצוא את האיבר במקום 2X3 במטריצה החדשה. על מנת להשיג את האיבר, נצטרך להכפיל את כל האיברים בשורה השנייה במטריצה הראשונה בכל האיברים בעמודה השלישית במטריצה השנייה, ואז לסכום אותם.
נסתכל על דוגמא אחת לפני שנציג את המקרה הכללי.
נניח שיש לנו מטריצה K בגודל 2X3 ומטריצה L בגודל 3X4. נרצה למצוא את מטריצת הכפל של שתי המטריצות, K ו- L.
K=\left[{2 \ -3 \ 0 \\ 1 \ 4 \ -4}\right]
L=\left[{1 \ 2 \ 3 \ 4 \\ 5 \ 6 \ 7 \ 6 \\ 5 \ 4 \ 3 \ 2}\right]
מספר העמודות במטריצה K הוא 3, בדיוק כמו מספר השורות במטריצה L, ולכן נוכל לבצע את הכפל.
מטריצת הכפל תהיה בגודל 2X4, כך:
K*L=\left[{a_{1,1} \ a_{1, 2} \ a_{1, 3} \ a_{1, 4} \\ a_{2, 1} \ a_{2, 2} \ a_{2, 3} \ a_{2, 4}}\right]=A
עכשיו, כדי למצוא איבר במטריצה A, פשוט מכפילים את האיברים בשורות במטריצה K באיברים בעמודות במטריצה L, וסוכמים את המכפלות.
a_{1,1} מתקבל על ידי הכפלת האיברים בשורה הראשונה במטריצה K באיברים בעמודה הראשונה במטריצה L. כך: a_{1,1}=2*1+(-3)*5+0*5=-13.
a_{1,2} מתקבל על ידי הכפלת האיברים בשורה הראשונה במטריצה K באיברים בעמודה השנייה במטריצה L. כך: a_{1,1}=2*2+(-3)*6+0*4=-14.
a_{1,3} מתקבל על ידי הכפלת האיברים בשורה הראשונה במטריצה K באיברים בעמודה השלישית במטריצה L. כך: a_{1,1}=2*3+(-3)*7+0*3=-15.
a_{1,4} מתקבל על ידי הכפלת האיברים בשורה הראשונה במטריצה K באיברים בעמודה הרביעית במטריצה L. כך: a_{1,1}=2*4+(-3)*6+0*2=-10.
a_{2,1} מתקבל על ידי הכפלת האיברים בשורה השנייה במטריצה K באיברים בעמודה הראשונה במטריצה L. כך: a_{1,1}=1*1+4*5+(-4)*5=1.
a_{2,2} מתקבל על ידי הכפלת האיברים בשורה השנייה במטריצה K באיברים בעמודה השנייה במטריצה L. כך: a_{1,1}=1*2+4*6+(-4)*4=10.
a_{2,3} מתקבל על ידי הכפלת האיברים בשורה השנייה במטריצה K באיברים בעמודה השלישית במטריצה L. כך: a_{1,1}=1*3+4*7+(-4)*3=19.
a_{2,4} מתקבל על ידי הכפלת האיברים בשורה השנייה במטריצה K באיברים בעמודה הרביעית במטריצה L. כך: a_{1,1}=1*4+4*6+(-4)*2=20.
נמקם את האיברים במקומות המתאים ונקבל את המטריצה:
K*L=\left[{-13 \ -14 \ -15 \ -10 \\ 1 \ 10 \ 19 \ 20}\right]
כדי לבצע את הכפל של המטריצות A*B כאשר A זו מטריצה שגודלה הוא mXn ו- B זו מטריצה שגודלה nXp, האיברים במטריצה יהיו:
A*B=\left[{a_{1,1}*b_{1,1} + a_{1,2}* b_{2,1} +...+a_{1,m} *b_{m,1} \ \ \ a_{1,1}*b_{1,2} + a_{1,2}*b_{2,2} +...+a_{1,m} *b_{m,2} \ \ \ ... \\ a_{2,1}*b_{1,1} + a_{2,2}* b_{2,1} +...+a_{2,m} *b_{m,1} \ \ \ a_{2,1}*b_{1,2} + a_{2,2}*b_{2,2} +...+a_{2,m} *b_{m,2} \ \ \ ...}\right]
*יש עוד שורות, המטריצה ממשיכה עד שמספר השורות יהיה n.
בכלליות, כפל מטריצות זאת לא פעולה קומוטטיבית.
אפילו אם מבצעים כפל למטריצות ריבועיות (מטריצה שבה מספר השורות שווה למספר העמודות), המכפלה לא תמיד שווה אם הכפל הפוך.
לדוגמא ניקח מטריצות C ו- D בגודל 3x3. נבצע את הכפל C*D ואת הכפל D*C, ונראה האם המכפלות שוות (האם נקבל את אותה המטריצה).
C=\left[{4 \ -3 \ 2 \\ 0 \ 1 \ -1 \\ 5 \ 4 \ 0}\right]
D=\left[{2 \ 2 \ -5 \\ 3 \ 1 \ 0 \\ -1 \ 1 \ 4}\right]
C*D=\left[{4*2-3*3+2*(-1) \ 4*2-3*1+2*1 \ 4*(-5)-3*0+2*4 \\ 0*2+1*3-1*1 \ 0*2+1*1-1*1 \ 0*(-5)+1*0-1*4 \\ 5*2+4*3+0*(-1) \ 5*2+4*1+0*1 \ 5*(-5)+4*0+0*4}\right]= \ \left[{-3 \ 7 \ -12 \\ 4 \ 0 \ -4 \\ 22 \ 14 \ -25}\right]
D*C=\left[{2*4+2*0 -5*5 \ 2*(-3)+2*1-5*4 \ 2*2+2*(-1)-5*0 \\ 3*4+1*0+0*5 \ 3*(-3)+1*1+0*4 \ 3*2+1+(-1)+0*0 \\ -1*4+1*0+4*5 \ -1*(-3) + 1*1 + 4*4 \ -1*2+1*(-1)+4*0}\right] = \\ \left[{-17 \ -24 \ 2 \\ 12 \ -8 \ 5 \\ 16 \ 20 \ -3}\right]
מהדוגמא הזאת רואים שאולי באריתמטיקה הכפל היא פעולה קומוטטיבית, כפל מטריצות היא לא פעולה קומוטטיבית.
עד כאן המדריך! מקווה שנהניתם והשכלתם! :]
מחר אם יתאפשר לי אוסיף דוגמאות בכתב, פשוט לוקח לי הרבה זמן להשתמש ב- latex בשביל לכתוב מטריצות בפורום, והן גם לא מסודרות יפה בטבלה.
בכל אופן, קראתי באינטרנט מדריכים על אלגברה לינארית, ולא הבנתי כלום על כפל מטריצות. גם לא מצאתי סיכומים טובים.
החלטתי להוריד את הספר Linear Algebra for dummies (מצחיק שלכל הנושאים הקיימים בעולם יש for dummies), ששם יש הסבר מפורט מאוד על כפל מטריצות.
אתרגם את ההסבר ואביא דוגמאות משלי.
המדריך:
ידע בסיסי נדרש: מטריצה [איך מייצגים מטריצה].
כפל מטריצות כולל בתוכו שני שלבים - כפל וחיבור. יש לכפול, לחבר ואז לסכום את התוצאות בהתאם ולהכניסו במטריצה החדשה (שהיא בעצם המטריצה שנקבל מכפל המטריצות).
ניתן לעשות כפל בין מטריצות רק בתנאים ספציפיים. אי אפשר סתם לכפול את המטריצות איך ומתי שרוצים.
לעיתים קרובות, אפילו לא ניתן לכפול מטריצה במטריצה!
קביעת המטריצות והסדר:
כדי לכפול מטריצה במטריצה, מספר העמודות של המטריצה הראשונה חייב להיות שווה למספר השורות שבמטריצה השנייה.
כלומר, כדי לכפול מטריצה בגודל mXn במטריצה בגודל pXq, יש לדרוש ש- n=p.
יותר מזה, המטריצה החדשה שנקבל כתוצאה מכפל המטריצות תהיה בגודל mXq.
לדוגמא, אם מטריצה A היא בגודל 3X4 ומטריצה B היא בגודל 4X7, אזי המכפלה A*B תהיה בגודל 3X7.
מצד שני, לא ניתן לבצע את המכפלה B*A, בגלל שלמטריצה B יש 7 עמודות בעוד שלמטריצה A יש 3 שורות.
כפל בין שתי מטריצות:
התהליך שבו נשתמש בכפל מטריצות יהיה לסכום מכפלות.
כל איבר במטריצה החדשה נוצר ע"י סכום כל המכפלות של האיברים בשורה במטריצה הראשונה בעמודה שבמטריצה השנייה.
לדוגמא, נניח שנרצה למצוא את האיבר במקום 2X3 במטריצה החדשה. על מנת להשיג את האיבר, נצטרך להכפיל את כל האיברים בשורה השנייה במטריצה הראשונה בכל האיברים בעמודה השלישית במטריצה השנייה, ואז לסכום אותם.
נסתכל על דוגמא אחת לפני שנציג את המקרה הכללי.
נניח שיש לנו מטריצה K בגודל 2X3 ומטריצה L בגודל 3X4. נרצה למצוא את מטריצת הכפל של שתי המטריצות, K ו- L.
K=\left[{2 \ -3 \ 0 \\ 1 \ 4 \ -4}\right]
L=\left[{1 \ 2 \ 3 \ 4 \\ 5 \ 6 \ 7 \ 6 \\ 5 \ 4 \ 3 \ 2}\right]
מספר העמודות במטריצה K הוא 3, בדיוק כמו מספר השורות במטריצה L, ולכן נוכל לבצע את הכפל.
מטריצת הכפל תהיה בגודל 2X4, כך:
K*L=\left[{a_{1,1} \ a_{1, 2} \ a_{1, 3} \ a_{1, 4} \\ a_{2, 1} \ a_{2, 2} \ a_{2, 3} \ a_{2, 4}}\right]=A
עכשיו, כדי למצוא איבר במטריצה A, פשוט מכפילים את האיברים בשורות במטריצה K באיברים בעמודות במטריצה L, וסוכמים את המכפלות.
a_{1,1} מתקבל על ידי הכפלת האיברים בשורה הראשונה במטריצה K באיברים בעמודה הראשונה במטריצה L. כך: a_{1,1}=2*1+(-3)*5+0*5=-13.
a_{1,2} מתקבל על ידי הכפלת האיברים בשורה הראשונה במטריצה K באיברים בעמודה השנייה במטריצה L. כך: a_{1,1}=2*2+(-3)*6+0*4=-14.
a_{1,3} מתקבל על ידי הכפלת האיברים בשורה הראשונה במטריצה K באיברים בעמודה השלישית במטריצה L. כך: a_{1,1}=2*3+(-3)*7+0*3=-15.
a_{1,4} מתקבל על ידי הכפלת האיברים בשורה הראשונה במטריצה K באיברים בעמודה הרביעית במטריצה L. כך: a_{1,1}=2*4+(-3)*6+0*2=-10.
a_{2,1} מתקבל על ידי הכפלת האיברים בשורה השנייה במטריצה K באיברים בעמודה הראשונה במטריצה L. כך: a_{1,1}=1*1+4*5+(-4)*5=1.
a_{2,2} מתקבל על ידי הכפלת האיברים בשורה השנייה במטריצה K באיברים בעמודה השנייה במטריצה L. כך: a_{1,1}=1*2+4*6+(-4)*4=10.
a_{2,3} מתקבל על ידי הכפלת האיברים בשורה השנייה במטריצה K באיברים בעמודה השלישית במטריצה L. כך: a_{1,1}=1*3+4*7+(-4)*3=19.
a_{2,4} מתקבל על ידי הכפלת האיברים בשורה השנייה במטריצה K באיברים בעמודה הרביעית במטריצה L. כך: a_{1,1}=1*4+4*6+(-4)*2=20.
נמקם את האיברים במקומות המתאים ונקבל את המטריצה:
K*L=\left[{-13 \ -14 \ -15 \ -10 \\ 1 \ 10 \ 19 \ 20}\right]
כדי לבצע את הכפל של המטריצות A*B כאשר A זו מטריצה שגודלה הוא mXn ו- B זו מטריצה שגודלה nXp, האיברים במטריצה יהיו:
A*B=\left[{a_{1,1}*b_{1,1} + a_{1,2}* b_{2,1} +...+a_{1,m} *b_{m,1} \ \ \ a_{1,1}*b_{1,2} + a_{1,2}*b_{2,2} +...+a_{1,m} *b_{m,2} \ \ \ ... \\ a_{2,1}*b_{1,1} + a_{2,2}* b_{2,1} +...+a_{2,m} *b_{m,1} \ \ \ a_{2,1}*b_{1,2} + a_{2,2}*b_{2,2} +...+a_{2,m} *b_{m,2} \ \ \ ...}\right]
*יש עוד שורות, המטריצה ממשיכה עד שמספר השורות יהיה n.
בכלליות, כפל מטריצות זאת לא פעולה קומוטטיבית.
אפילו אם מבצעים כפל למטריצות ריבועיות (מטריצה שבה מספר השורות שווה למספר העמודות), המכפלה לא תמיד שווה אם הכפל הפוך.
לדוגמא ניקח מטריצות C ו- D בגודל 3x3. נבצע את הכפל C*D ואת הכפל D*C, ונראה האם המכפלות שוות (האם נקבל את אותה המטריצה).
C=\left[{4 \ -3 \ 2 \\ 0 \ 1 \ -1 \\ 5 \ 4 \ 0}\right]
D=\left[{2 \ 2 \ -5 \\ 3 \ 1 \ 0 \\ -1 \ 1 \ 4}\right]
C*D=\left[{4*2-3*3+2*(-1) \ 4*2-3*1+2*1 \ 4*(-5)-3*0+2*4 \\ 0*2+1*3-1*1 \ 0*2+1*1-1*1 \ 0*(-5)+1*0-1*4 \\ 5*2+4*3+0*(-1) \ 5*2+4*1+0*1 \ 5*(-5)+4*0+0*4}\right]= \ \left[{-3 \ 7 \ -12 \\ 4 \ 0 \ -4 \\ 22 \ 14 \ -25}\right]
D*C=\left[{2*4+2*0 -5*5 \ 2*(-3)+2*1-5*4 \ 2*2+2*(-1)-5*0 \\ 3*4+1*0+0*5 \ 3*(-3)+1*1+0*4 \ 3*2+1+(-1)+0*0 \\ -1*4+1*0+4*5 \ -1*(-3) + 1*1 + 4*4 \ -1*2+1*(-1)+4*0}\right] = \\ \left[{-17 \ -24 \ 2 \\ 12 \ -8 \ 5 \\ 16 \ 20 \ -3}\right]
מהדוגמא הזאת רואים שאולי באריתמטיקה הכפל היא פעולה קומוטטיבית, כפל מטריצות היא לא פעולה קומוטטיבית.
עד כאן המדריך! מקווה שנהניתם והשכלתם! :]
מחר אם יתאפשר לי אוסיף דוגמאות בכתב, פשוט לוקח לי הרבה זמן להשתמש ב- latex בשביל לכתוב מטריצות בפורום, והן גם לא מסודרות יפה בטבלה.