משוואות לינאריות ומטריצות הפוכות
שתי התמונות של משוואות לינאריות
Two Pictures of Linear Equations
בונים את הכתיב Ax=b וקוראים אותו גם כחיתוך אילוצים בתמונת השורות וגם כצירוף שמייצר את b בתמונת העמודות.
- 1נקודת פתיחהמה כבר ידוע ומה השאלה?
- 2ניבוימה יקרה במקרה הפשוט?
- 3המחשהמה באמת משתנה בתמונה?
- 4ניסוח והצדקהשם, נוסחה ולמה היא נכונה
- 5בדיקהדוגמה, תרגול ומשוב
- 6העברהמקרה חדש והמשך המסלול
שאלה לפני נוסחה
מה אנחנו מנסים לראות?
לתרגם את Ax=b בין תמונת השורות לתמונת העמודות, לזהות באיזה מרחב כל תמונה חיה, ולקרוא מן הגאומטריה אם יש פתרון יחיד, אין פתרון או יש אינסוף פתרונות.
אותה מערכת מספרת שני סיפורים. השורות שואלות היכן כל האילוצים נפגשים; העמודות שואלות אילו משקלים על וקטורי הקלט בונים את b. נקודת החיתוך והמשקלים הם אותו וקטור x.
לפני ההמחשה: קראו רק את הכותרת “אותו x, שתי תמונות שונות”. מה לדעתכם ישתנה, מה יישאר קבוע, ואיזה סימן בתמונה יוכל להפריך את הניבוי?
לראות לפני שמחשבים · המקרה הפשוט ביותר
אותו x, שתי תמונות שונות
המחשה דו־צדדית מציגה משמאל את חיתוך הישרים במרחב הנעלמים ומימין את עמודות A, המשקלים x₁,x₂ והיעד b במרחב התוצאות.
מה כדאי לגלות: עקבו אחר הזוג x=(8/3,5/3): בתמונה אחת הוא נקודת חיתוך, ובשנייה אלה בדיוק שני המשקלים שמביאים את צירוף העמודות אל b.
אחרי שראינו
בסוף השיעור תוכלו
- לארוז מערכת משוואות במבנה Ax=b ולפרוק ממנו בחזרה את המשוואות, העמודות והיעד.
- לצייר ולפרש את תמונת השורות ואת תמונת העמודות של מערכת 2×2 בלי לערבב בין שני המרחבים.
- לקבוע מן הגאומטריה אם למערכת יש פתרון יחיד, אין פתרון או אינסוף פתרונות.
- להכליל את שתי התמונות למטריצה m×n ולבדוק את ממדי x, Ax ו־b.
נותנים שמות למה שראינו
מושגים שנשתמש בהם
- מטריצה
- טבלה מלבנית של מספרים. במערכת Ax=b היא מרכזת את המקדמים של כל המשוואות.
- וקטור הנעלמים
- העמודה x=(x₁,…,xₙ) שמכילה את הערכים שאותם מחפשים.
- אגף ימין או יעד
- הווקטור b שאליו רוצים להגיע; לכל שורה שלו מותאם אילוץ אחד.
- תמונת השורות
- הסתכלות על כל שורה כמשוואה גאומטרית במרחב הנעלמים וחיפוש החיתוך של כל האילוצים.
- צירוף לינארי
- סכום של וקטורים לאחר הכפלת כל אחד במספר, למשל x₁a₁+x₂a₂.
- תמונת העמודות
- הסתכלות על Ax כצירוף של עמודות A וחיפוש המשקלים שבונים את b.
- מערכת עקבית
- מערכת שקיים לה לפחות פתרון אחד; מערכת לא־עקבית אינה מגיעה אל היעד b.
- דטרמיננטה ב־2×2
- עבור [[a,b],[c,d]] זהו המספר ad−bc. ערך שאינו אפס פירושו פתרון יחיד; סף יחסי בקוד רק מזהיר כשהחישוב רגיש ואינו משנה את העובדה המתמטית.
מהמילים אל הסימנים
כותבים את הפעולה שכבר ראינו
פתחו את הנוסחה רק אחרי שאתם יכולים לומר במילים מה כל פעולה אמורה לעשות. בשלב הבא נצדיק אותה צעד אחר צעד.
להצגת נוסחת המפתח
קראו כל סימן כפעולה, לא כמשהו שצריך לשנןAx = x₁a₁ + ⋯ + xₙaₙמרכיבים את הפעולות
מהתמונה אל הנוסחה — הגזירה, בלי לדלג על הצעדים
אורזים את המערכת ב־Ax=b
כל שורה של A מכילה את מקדמי משוואה אחת, x מכיל את הנעלמים ו־b את התוצאות. הכפל משחזר את כל אגפי שמאל בבת אחת.
[[2,1],[1,−1]]·[x,y]ᵀ=[7,1]ᵀ ⇔ 2x+y=7, x−y=1תמונת השורות חיה במרחב הנעלמים
במערכת עם שני נעלמים כל שורה מתארת ישר במישור (x,y). פתרון חייב לקיים את כל המשוואות ולכן הוא נקודה משותפת לכל הישרים.
שורה i: aᵢ₁x₁+⋯+aᵢₙxₙ=bᵢתמונת העמודות מפרקת את הכפל
כותבים את A לפי עמודות. הכפל Ax הוא צירוף של העמודות, והנעלמים הם המשקלים שמנסים לבנות בעזרתם את היעד b.
A=[a₁ ⋯ aₙ] ⇒ Ax=x₁a₁+⋯+xₙaₙאותם מספרים ממלאים שני תפקידים
הפתרון x הוא גם מיקום החיתוך בתמונת השורות וגם רשימת המשקלים בתמונת העמודות. אלה אינן שתי תשובות אלא שתי קריאות של אותה תשובה.
x=(8/3,5/3) ⇒ (8/3)(2,1)+(5/3)(1,−1)=(7,1)שלוש אפשרויות למספר הפתרונות
שני ישרים שונים ולא־מקבילים נפגשים פעם אחת; ישרים מקבילים ושונים אינם נפגשים; שתי משוואות שמתארות אותו ישר נותנות אינסוף נקודות משותפות.
חיתוך יחיד / אין חיתוך / אותו ישרעוצרים לחשוב: בתמונת העמודות אלה בהתאמה ייצוג יחיד של b, יעד שאינו נגיש, או יותר מייצוג אחד.
עוקבים אחר הממדים לפני החישוב
אם A היא m×n, יש n נעלמים ו־m משוואות. לכן x חי ב־ℝⁿ ואילו כל עמודה של A, המכפלה Ax והיעד b חיים ב־ℝᵐ.
A∈ℝ^(m×n), x∈ℝⁿ, Ax,b∈ℝᵐהשם הפורמלי יגיע בפרק 5
אוסף כל היעדים שאפשר לבנות מעמודות A נקרא מרחב העמודות ומסומן C(A). בשלב זה די לחשוב עליו כאוסף כל הצירופים האפשריים; פרק 5 יפתח את מושג המרחב במלואו.
b נגיש ⇔ קיים x כך ש־Ax=b
עכשיו רואים את השיטה בפעולה
דוגמאות פתורות, צעד אחר צעד
פתרון יחיד בשתי התמונות
נתונה המערכת 2x+y=7, x−y=1. מצאו את הפתרון והסבירו אותו בשתי התמונות.
מחברים את שתי המשוואות ומקבלים 3x=8, ולכן x=8/3.
מציבים ב־x−y=1 ומקבלים y=5/3.
בתמונת השורות שני הישרים אינם מקבילים ונפגשים בנקודה (8/3,5/3).
בתמונת העמודות מציבים את אותם משקלים: (8/3)(2,1)+(5/3)(1,−1)=(7,1).
החיתוך ומשקלי הצירוף הם אותו פתרון יחיד.
x=[8/3,5/3]ᵀאותה A, שני יעדים שונים
עבור A=[[1,1],[2,2]], השוו בין b₁=(3,6) ובין b₂=(3,7).
השורה השנייה של A כפולה מן הראשונה, ולכן שתי המשוואות יכולות לתאר אותו ישר או שני ישרים מקבילים.
ב־b₁ גם 6=2·3, ולכן המשוואה השנייה היא בדיוק פי שניים מן הראשונה. כל x+y=3 הוא פתרון.
ב־b₂ מתקבל מצד אחד 2x+2y=6 ומצד שני נדרש 2x+2y=7, ולכן המערכת סותרת את עצמה.
בתמונת העמודות שתי העמודות נמצאות על אותו קו: b₁ נמצא עליו ואילו b₂ מחוץ לו.
ל־b₁ יש אינסוף פתרונות; ל־b₂ אין פתרון.
Ax=b₁: x+y=3; Ax=b₂: ∅איפה זה פוגש את העולם
יישום
בתכנון תערובת, עמודות A יכולות לתאר את התרומה של כל חומר למדדי עלות, משקל ואנרגיה. הווקטור x קובע כמויות, ו־b הוא היעד; תמונת העמודות מגלה אם היעד בכלל בר־השגה.
מלכודת נפוצה
מה כדאי לבדוק
לערבב בין הממדים: השורות של מערכת m×n מתארות אילוצים במרחב הנעלמים ℝⁿ, ואילו העמודות והווקטור b חיים ב־ℝᵐ. טעות נוספת היא לשנות שורה ב־A בלי לבצע אותה פעולה על b.
בודקים שהרעיון יושב
תרגול ומשוב
בדיקת הבנה
בחרו תשובה ורק אז בדקו את עצמכם
בחרו אחת מהאפשרויות כדי להמשיך.
עכשיו אתם
אתגר קצר
נתונה A=[[1,−1],[2,−2]]. מצאו את כל היעדים b=(u,v) שעבורם Ax=b עקבית, ותארו את כל הפתרונות עבור יעד כזה.
רמז ראשון
השורה השנייה של A היא פי שניים מן הראשונה. לכן גם v חייב להיות פי שניים מ־u. לאחר מכן פתרו את המשוואה היחידה x−y=u בעזרת פרמטר חופשי.
הצגת דרך הפתרון
- מן המשוואות מתקבל x−y=u וגם 2x−2y=v. הן יכולות להתקיים יחד בדיוק כאשר v=2u.
- כאשר v≠2u מתקבלים שני ישרים מקבילים ושונים, ולכן אין פתרון.
- כאשר v=2u שתי המשוואות זהות. בוחרים y=t ומקבלים x=u+t.
- לכן לכל יעד נגיש b=(u,2u) יש אינסוף פתרונות x=(u+t,t), כאשר t מספר חופשי.
מימוש הנושא
קוד שאפשר לקחת לניסוי
הקוד מיישם את אותו רעיון מתמטי. ב־JavaScript אפשר להריץ אותו כאן; גרסת Python זמינה להשוואה ולהעתקה.
analyze2x2 מפרידה בין det≠0, שמבטיח פתרון יחיד מתמטית, לבין numericallyReliable שבודקת אם הספרות המחושבות אמינות. רק כאשר det=0 נבדקת עקביות היעד.
המערכת הראשונה תחזיר unique עם [8/3,5/3]; עבור המטריצה התלויה יודפסו infinite ל־(3,6) ו־none ל־(3,7); וגם diag(1,10⁻¹³) תחזיר unique.
כִּפלו את המשוואה השנייה ואת רכיב היעד שלה ב־10⁻¹³ ובדקו שהפתרון אינו משתנה. אחר כך נסו [[1,1],[1,1+10⁻¹³]]: הפתרון עדיין יחיד, אך דגל האמינות מזהיר מפני רגישות.
מהרעיון אל הקוד
מימוש חישובי
function analyze2x2([[a, b], [c, d]], [u, v], relativeTolerance=1e-12) {
const determinant = a*d - b*c;
const determinantScale = Math.abs(a*d) + Math.abs(b*c);
if (determinant !== 0) {
const x = (u*d - b*v) / determinant;
const y = (a*v - u*c) / determinant;
const Ax = [a*x + b*y, c*x + d*y];
return {
determinant,
type: "unique",
numericallyReliable:
Math.abs(determinant) > relativeTolerance*determinantScale,
solution: [x, y],
rowResidual: [Ax[0] - u, Ax[1] - v],
columnCombination: Ax,
};
}
const firstMinorScale = Math.abs(a*v) + Math.abs(c*u);
const secondMinorScale = Math.abs(b*v) + Math.abs(d*u);
const zeroMatrix = a === 0 && b === 0 && c === 0 && d === 0;
const consistent = zeroMatrix
? u === 0 && v === 0
: Math.abs(a*v - c*u) <= relativeTolerance*firstMinorScale &&
Math.abs(b*v - d*u) <= relativeTolerance*secondMinorScale;
return {
determinant,
type: consistent ? "infinitely many solutions" : "no solution",
numericallyReliable: true,
};
}
const result = analyze2x2([[2, 1], [1, -1]], [7, 1]);
console.log(result);
console.log(analyze2x2([[1, 1], [2, 2]], [3, 6]));
console.log(analyze2x2([[1, 1], [2, 2]], [3, 7]));
console.log(analyze2x2([[1, 0], [0, 1e-13]], [1, 2e-13]));
console.log(analyze2x2([[1, 1], [1, 1 + 1e-13]], [2, 2 + 1e-13]));def analyze_2x2(A, target, relative_tolerance=1e-12):
(a, b), (c, d) = A
u, v = target
determinant = a*d - b*c
determinant_scale = abs(a*d) + abs(b*c)
if determinant != 0:
x = (u*d - b*v) / determinant
y = (a*v - u*c) / determinant
Ax = [a*x + b*y, c*x + d*y]
return {
"determinant": determinant,
"type": "unique",
"numerically_reliable": (
abs(determinant)
> relative_tolerance*determinant_scale
),
"solution": [x, y],
"row_residual": [Ax[0] - u, Ax[1] - v],
"column_combination": Ax,
}
first_minor_scale = abs(a*v) + abs(c*u)
second_minor_scale = abs(b*v) + abs(d*u)
zero_matrix = a == b == c == d == 0
consistent = (
u == v == 0
if zero_matrix
else (
abs(a*v - c*u) <= relative_tolerance*first_minor_scale
and abs(b*v - d*u) <= relative_tolerance*second_minor_scale
)
)
return {
"determinant": determinant,
"type": ("infinitely many solutions"
if consistent else "no solution"),
"numerically_reliable": True,
}
result = analyze_2x2([[2, 1], [1, -1]], [7, 1])
print(result)
print(analyze_2x2([[1, 1], [2, 2]], [3, 6]))
print(analyze_2x2([[1, 1], [2, 2]], [3, 7]))
print(analyze_2x2([[1, 0], [0, 1e-13]], [1, 2e-13]))
print(analyze_2x2([[1, 1], [1, 1 + 1e-13]], [2, 2 + 1e-13]))לפני שממשיכים
מה לוקחים מהשיעור
- Ax=b הוא גם אוסף אילוצים לפי שורות וגם צירוף עמודות שמנסה לבנות יעד.
- וקטור הפתרון x הוא נקודת החיתוך בתמונת השורות ורשימת המשקלים בתמונת העמודות.
- מספר הפתרונות נקבע לפי עצמאות האילוצים ולפי השאלה אם b נגיש מן העמודות.
- במטריצה m×n, השורות מתארות גאומטריה ב־ℝⁿ ואילו העמודות והיעד חיים ב־ℝᵐ.
משימת מעבדה לשיעור הזה
תחנה 1 — שתי התמונות של אותה מערכת
בחרו מערכת ויעד, נבאו אם הפתרון יחיד, חסר או אינסופי, ואז עקבו בו־זמנית אחר חיתוך השורות ואחר צירוף העמודות.
מקורות להעמקה בלבד — השיעור עומד בפני עצמו
מדריך המרצים: עמ׳ 99–104
ספר הלימוד: עמ׳ 197–209