خب رفیق، به کاوشگر جبر خطی خوش اومدی!
قراره با هم یه سفر باحال به دنیای جبر خطی داشته باشیم. جزوهای که داشتی رو ریختم اینجا، ولی نه اونجوری خشک و کتابی! یه کاری کردم که بتونی با مثالها ور بری، خودت محاسبه کنی و قشنگ بفهمی هر مفهومی یعنی چی.
از منوی سمت راست (یا دکمه همبرگری تو موبایل!) هر مبحثی رو که عشقت کشید انتخاب کن. اول از همه، یه سر به "مفاهیم پایهای" بزن اگه تازه کاری! بعدش تو هر بخش، اول یه توضیح خودمونی میدم، بعدش با یه مثال میریم تو دل ماجرا و اگه خواستی عمیقتر بشی، میتونی از رفیقمون Gemini هم کمک بگیری (فقط یادت نره تو بخش "تنظیمات کلید Gemini" کلید API خودت رو بهش بدی). یه "جعبه ابزار ماتریس" هم گذاشتم که هرچی دلت خواست با ماتریسها حساب کتاب کنی. خلاصه که اینجا خبری از حفظ کردن نیست، فقط درک و شهود! حالشو ببر!
مفاهیم پایهای (برای گرم کردن!)
رفیق، قبل اینکه شیرجه بزنیم تو مباحث اصلی، بیا چندتا چیز ساده ولی مهم رو با هم مرور کنیم. اینا مثل الفبای جبر خطیان!
🔢 ترکیب خطی چیه به زبون خیلی ساده؟
فکر کن چندتا آجر (v1, v2) داری. ترکیب خطی یعنی با این آجرها یه
دیوار (v) بسازی. چطوری؟ مثلاً ۲ تا
از آجر v1 رو بذاری کنار
۳ تا از آجر v2. اون
دیوار نهایی میشه ترکیب خطی آجرهات!
2v1 + 3v2
= v. اون عددهای ۲ و ۳ همون اسکالرها هستن، یعنی
وزنی که به هر آجر میدی.
مثال سریع: اگه v1 = (1,0) (یه قدم برو راست) و v2 = (0,1) (یه قدم برو بالا) باشه، بردار w = (3,2) (۳ قدم راست، ۲ قدم بالا) یه ترکیب خطیه، چون: 3v1 + 2v2 = 3(1,0) + 2(0,1) = (3,0) + (0,2) = (3,2).
🏠 زیرفضا یعنی چی؟ یه گوشه دنج تو فضای بزرگ!
فکر کن کل ℝ3 (فضای سه بعدی که توش زندگی میکنیم) یه اتاق خیلی
بزرگه. یه "زیرفضا" مثل یه گوشه از اون اتاقه (مثلاً کف اتاق، یا یه خط راست که از یه گوشه
اتاق به گوشه دیگه کشیده شده و حتماً از مرکز اتاق هم رد میشه!) که خودش هم یه سری قوانین
رو رعایت میکنه:
۱. حتماً مبدأ مختصات (نقطه صفر یا همون مرکز اتاق) توش باشه.
۲.
اگه دوتا بردار از اون گوشه برداری، جمعشون هم باید تو همون گوشه باشه (از اون گوشه بیرون
نزنه).
۳. اگه یه بردار از اون گوشه برداری و تو یه عددی ضربش کنی (کوچیک یا بزرگش کنی،
یا جهتشو برعکس کنی)، بازم باید تو همون گوشه بمونه. اگه اینا برقرار بود، اون گوشه یه
زیرفضاست!
مثال سریع: کل صفحه xy (یعنی همه بردارهایی که مؤلفه z شون صفره، مثل کف اتاق) یه زیرفضا از ℝ3 هست. یا هر خطی که از مبدأ بگذره (از مرکز اتاق رد بشه).
🧮 حل دستگاه با ماتریس چطوریه؟ یه راه میانبر!
یادته تو مدرسه دستگاه معادله حل میکردیم؟
مثلاً:
{ x + y = 3
{ 2x - y =
0
میشه اینو با ماتریسها هم نوشت و حل کرد! ضرایب متغیرها رو میریزیم تو یه
ماتریس (A)، خود متغیرها رو تو یه بردار ستونی (X)، و عددهای سمت راست رو هم تو یه بردار ستونی دیگه (b). اون وقت دستگاه میشه AX = b. بعدش با یه سری
عملیات روی ماتریس A و b (که
بهش میگن ماتریس افزوده [A|b] و به فرم پلکانی درش میاریم)
میتونیم x و y رو پیدا کنیم. خیلی
وقتا سریعتر از روشهای سنتیه، مخصوصاً برای دستگاههای گنده!
مثال سریع: دستگاه بالا رو میشه
اینجوری با ماتریس افزوده نشون داد و حل کرد:
| 1 | 1 | | | 3 |
| 2 | -1 | | | 0 |
| 1 | 0 | | | 1 |
| 0 | 1 | | | 2 |
که یعنی x=1 و y=2. به همین راحتی!
داستان ترکیب خطی چیه؟
ببین سادهاس! وقتی میگیم یه بردار v ترکیب خطی از چندتا بردار دیگه مثل v1, ..., vn هست، یعنی انگار داریم با اون بردارای پایه، یه جور دستور پخت برای v مینویسیم. چطوری؟ هر کدوم از اون بردارای پایه رو تو یه عددی (اسکالر ci) ضرب میکنیم و بعد همهرو با هم جمع میکنیم. اگه تهش به v رسیدیم، یعنی آره، ترکیب خطیه! فرمولشم اینه: v = c1v1 + ... + cnvn. برای اینکه بفهمیم این اتفاق میفته یا نه، معمولاً پاش میفته به حل یه دستگاه معادله خطی.
مثال خودمونی: آیا بردار w = (5, 5) با v1 = (1, 2) و v2 = (3, 1) ساخته میشه؟
قدم اول: معادله رو بچینیم
c1(1, 2) + c2(3, 1) = (5, 5)
قدم دوم: تبدیلش کنیم به دستگاه معادله
{ c1 + 3c2 = 5
{ 2c1 + c2 = 5
قدم سوم: دستگاه رو حل کنیم
بعد از حل کردن (که خودت استادی!)، میبینیم:
c1 = 2
c2 = 1
نتیجه نهایی داستان
آره داداش! چون c1 و c2 پیدا شدن، پس w با اون دوتا ساخته میشه: 2(1, 2) + 1(3, 1) = (2, 4) + (3, 1) = (5, 5). خودشه!
فضای مولد یعنی چی اصلاً؟
فکر کن چندتا بردار داری، مثلاً v1 و v2. "فضای مولد" این دوتا بردار، یعنی هرچی بردار که میشه با ترکیب خطی این دوتا ساخت. انگار این دوتا بردار، مواد اولیه تو هستن و تو باهاشون هرچی بتونی "تولید" میکنی. اگه این مواد اولیه بتونن کل یه فضا (مثلاً کل صفحه ℝ2) رو بسازن، میگیم "مولد" اون فضا هستن.
مثال: آیا v1 = (1, 1) و v2 = (2, 2) میتونن کل ℝ2 رو بسازن؟
قدم اول: معادله کلی
c1(1, 1) + c2(2, 2) = (x, y)
(که (x,y) یه بردار دلخواه تو ℝ2 هست)
قدم دوم: دستگاه معادلاتش
{ c1 + 2c2 = x
{ c1 + 2c2 = y
قدم سوم: یه نگاه به دستگاه بندازیم
معلومه که این دستگاه فقط وقتی جواب داره که x = y باشه. یعنی سمت چپ هر دو معادله یکیه!
نتیجه داستان
این دوتا بردار فقط میتونن بردارهایی رو بسازن که رو خط y=x هستن (مثلاً (3,3) یا (-1,-1)). پس نمیتونن کل ℝ2 رو پوشش بدن. در نتیجه، مولد ℝ2 نیستن. انگار مواد اولیهمون کمه یا تنوع نداره!
استقلال خطی یعنی چی به زبون ساده؟
اگه چندتا بردار داشته باشی، وقتی میگیم "مستقل خطی" هستن، یعنی هیچ کدومشون زیادی نیستن! نمیشه یکیشون رو با بقیه ساخت. هر کدوم یه جهت یا اطلاعات منحصربهفردی داره. اما اگه "وابسته خطی" باشن، یعنی حداقل یکیشون لنگه بقیهاس و میشه با ترکیب خطی بقیه بهش رسید. راه تشخیصش هم اینه: ترکیب خطیشون رو مساوی بردار صفر بذار. اگه تنها راه رسیدن به صفر این بود که همه ضریبها صفر باشن، مستقلن. وگرنه وابستهان.
مثال تصویری: کدوم مجموعه مستقلتره؟
مجموعه ۱ (رفقای غیر همراستا)
v1 = (1, 2)
v2 = (2, 1)
مجموعه ۲ (رفقای همخط!)
u1 = (1, 2)
u2 = (2, 4)
تحلیل مجموعه ۱ (vها)
اگه c1(1, 2) + c2(2, 1) = (0, 0) رو حل کنیم، تنها جوابش c1=0, c2=0 هست. پس اینا مستقل خطی هستن. هر کدوم ساز خودشونو میزنن!
تحلیل مجموعه ۲ (uها)
اینجا c1(1, 2) + c2(2, 4) = (0, 0) جواب غیر صفر هم داره! مثلاً c1=2, c2=-1. پس اینا وابسته خطی هستن. در واقع u2 دو برابر u1 هست، یعنی زیادیه!
پایه و بُعد؛ ستونهای اصلی فضا!
"پایه" مثل یه تیم فوتباله که هر بازیکنش (بردار) هم ستارهاس (مستقل خطی) و هم میتونه کل زمین بازی (فضا) رو پوشش بده (مولد). تعداد این بازیکنای اصلی تیم، میشه "بُعد" اون زمین بازی! یعنی کمترین تعداد برداری که برای ساختن کل فضا لازمه و هیچکدومشون هم اضافی نیستن.
یه نکته خیلی خفن: اگه بدونی بُعد یه فضا n هست، و n تا بردار داشته باشی که مستقل خطی باشن، دیگه شک نکن، اونا حتماً یه پایه برای اون فضا هستن (و مولد هم هستن!). برعکسش هم درسته.
مثال: آیا S = \{ (1, 1), (1, -1) \} تیم اصلی (پایه) برای ℝ2 هستن؟
قدم اول: تعداد بازیکن و اندازه زمین
زمین بازی ما ℝ2 هست که ۲ بُعد داره. تیم S هم ۲ تا بازیکن (بردار) داره. پس شرایط اولیه جوره! فقط باید ببینیم بازیکنا مستقلن یا نه.
قدم دوم: آیا بازیکنا مستقل بازی میکنن؟
اگه c1(1, 1) + c2(1, -1) = (0, 0) رو حل کنیم، تنها راهش اینه که c1=0 و c2=0 باشه. پس آره، مستقلن!
نتیجه نهایی تیم
چون تیم S دوتا بازیکن مستقل تو زمین ۲ بُعدی ℝ2 داره، پس خودشه! اینا یه پایه توپ برای ℝ2 هستن.
رتبه ماتریس؛ یعنی چقدر قویه؟
"رتبه" یه ماتریس، خیلی ساده بخوام بگم، یعنی تعداد سطرهای (یا ستونهای) واقعاً مستقل و به درد بخورش! وقتی ماتریس رو به فرم پلکانی درمیاری (همون عملیات سطری که بلدی)، تعداد سطرهایی که صفر نشدن، میشه رتبهاش. این رتبه نشون میده که ماتریس ما چقدر اطلاعات مستقل تو خودش داره یا به عبارت دیگه، بُعد فضایی که با سطرهاش (یا ستونهاش) ساخته میشه چقدره.
مثال: رتبه ماتریس A زیر چنده؟
| 1 | 2 | 1 |
| 1 | 3 | 2 |
| 2 | 5 | 3 |
قدم اول: تبدیل به فرم پلکانی (REF)
بعد از عملیات سطری، به این میرسیم:
A → ... →| 1 | 2 | 1 |
| 0 | 1 | 1 |
| 0 | 1 | 1 |
قدم دوم: تبدیل به فرم پلکانی تحویل یافته (RREF)
و اگه ادامه بدیم تا آخرش:
... →| 1 | 0 | -1 |
| 0 | 1 | 1 |
| 0 | 0 | 0 |
نتیجه رتبه
نگاه کن! دوتا سطر غیر صفر داریم. پس rank(A) = 2. یعنی این ماتریس دوتا جهت مستقل رو پوشش میده. اون سطرهای غیر صفر هم یه پایه برای فضای سطریش هستن: \{ (1, 0, -1), (0, 1, 1) \}.
جعبه ابزار ماتریسها
رفیق، اینجا میتونی خودت دست به کار شی! ماتریست رو وارد کن و ببین چه خبره. از تبدیل به فرم پلکانی و محاسبه رتبه گرفته تا دترمینان و ترانهاده. یه حال اساسی به ماتریست بده!
هر سطر ماتریس در یک خط جدید. اعداد هر سطر با فاصله یا ویرگول جدا بشن.
تنظیمات کلید API Gemini
خب رفیق، برای اینکه بتونی از قابلیتهای خفن هوش مصنوعی Gemini (همون دکمههای ✨) استفاده کنی، باید کلید API خودت رو اینجا وارد کنی. این کلید فقط تو مرورگر خودت و تا وقتی این صفحه بازه ذخیره میشه (تو `sessionStorage`).
چرا باید کلید خودم رو وارد کنم؟ چون این یه ابزار آموزشیه که قراره عمومی باشه (مثلاً تو گیتهاب)، اگه من یه کلید ثابت میذاشتم، هم از نظر امنیتی داستان میشد و هم اینکه ممکنه یکی دیگه بخواد ازش سوءاستفاده کنه و خرج بیفته رو دست صاحب کلید! برای همین، هر کسی با کلید خودش میتونه از این قابلیت استفاده کنه. تو پروژههای واقعی که سرور دارن، معمولاً کلیدها رو جای امنتری نگه میدارن.
قضیه خفنه! (همارزیها)
این قضیه مثل یه شاهکلیده تو جبر خطی! میگه اگه یه ماتریس مربعی A (مثلاً n × n) داشته باشی، این چندتا چیز براش مثل همن: یعنی اگه یکیش درست باشه، بقیهشونم حله!
A وارونپذیره (معکوس داره)
دترمینانش مخالف صفره (det(A) ≠ 0)
دستگاه AX = b جواب تک و یکتا داره
با عملیات سطری به ماتریس همانی (In) میرسه
رتبهاش کامله (rank(A) = n)
ستونهاش (و سطرهاش) مستقل خطیان
خلاصه که این قضیه مثل چسب، کلی مفهوم رو به هم وصل میکنه و نشون میده چقدر دنیای ماتریسها منظمه!
بیا یه مثال عملی ببینیم!
فرض کن ماتریس A =
| 2 | 1 |
| 1 | 1 |