رفتن به محتوای اصلی

ریاضی / جبر خطی

جبر خطی از صفر؛ بردار، ماتریس و حل دستگاه با مثال

بردار را به‌عنوان داده و ماتریس را به‌عنوان تبدیل بفهم؛ ضرب ماتریسی، حذف سطری، دترمینان و معنای هندسی دستگاه معادلات را تمرین کن.

تصویرسازی منحنی کاغذی و مستطیل‌های زیر آن

تصویرسازی تحریریه با ابزار تولید تصویر؛ سند تاریخی یا مرجع تشریحی نیست.

دو عددِ کنار هم می‌توانند مختصات یک نقطه، مقدار دو ماده یا دو ویژگیِ یک نمونه باشند. جبر خطی زبان کار با چنین مجموعه‌هایی است. این درس از بردارِ دوبعدی شروع می‌کند و به حل یک دستگاه و تفسیر آن می‌رسد. هیچ کتابخانهٔ سنگینی لازم نیست. هدف این است که وقتی ماتریس می‌بینی، فقط جدول اعداد نبینی؛ بدانی ورودی چیست، خروجی چیست و هر ضرب چه معنایی دارد.

این درس را با ساروی تمرین کن
آنچه یاد می‌گیری
  • ترکیب خطی و پوشش فضا
  • ماتریس را با ابعاد بخوان
  • ضرب ماتریس در بردار؛ یک مثال کامل

بردار؛ ترتیب اجزا مهم است

بردارِ دو و سه را در نظر بگیر. اگر اجزا به‌ترتیب ساعت مطالعه و ساعت تمرین باشند، عوض کردن آن‌ها معنی داده را تغییر می‌دهد. بردار فقط دو عدد بی‌نام نیست. در هندسه، می‌توان آن را پیکانی از مبدأ به نقطهٔ دو و سه دید. در داده، باید نام و واحد هر مؤلفه را مشخص کنی تا جمع و مقایسه معنا داشته باشد.

جمعِ بردارهای دو و سه با یک و منفی یک، سه و دو می‌شود. ضرب بردار اول در دو، چهار و شش است. این عملیات مؤلفه‌به‌مؤلفه انجام می‌شوند. اگر مؤلفه‌ها واحدهای متفاوت دارند، جمعِ درونِ یک بردار لزوماً مجاز نیست؛ دو ساعت به‌علاوهٔ سه کیلوگرم یک مقدار سادهٔ قابل تفسیر نمی‌سازد. ساختارِ ریاضی باید با معنای داده هماهنگ بماند.

منبع این بخش: MIT OpenCourseWare؛ جبر خطی، گیلبرت استرنگ ↗

ترکیب خطی و پوشش فضا

هر ترکیب از چند بردار با ضرایب عددی، ترکیب خطی آن‌هاست. بردارهای یک و صفر، و صفر و یک می‌توانند هر بردار دوبعدی را بسازند؛ کافی است ضرایب را برابر مؤلفه‌های مقصد بگیریم. اما بردارهای یک و دو، و دو و چهار روی یک خط‌اند. ترکیب آن‌ها از همان خط خارج نمی‌شود و تمام صفحه را پوشش نمی‌دهد.

برای تمرین، تلاش کن بردار صفر و یک را از دو بردارِ هم‌خطِ بالا بسازی. به تناقض می‌رسی، چون مؤلفهٔ دوم همیشه دو برابر مؤلفهٔ اول است. این محدودیت هندسی پیش از محاسبات پیچیده قابل دیدن است. اگر در حل دستگاه نتیجهٔ غیرمنتظره گرفتی، گاهی نگاه به وابستگی بردارها از تکرارِ حذف سطری سریع‌تر علت را روشن می‌کند.

ماتریس را با ابعاد بخوان

ماتریسی با دو سطر و سه ستون می‌تواند برداری سه‌مؤلفه‌ای را به خروجیِ دومؤلفه‌ای تبدیل کند. تعداد ستون‌ها با تعداد اجزای ورودی و تعداد سطرها با تعداد اجزای خروجی مرتبط است. برای ضربِ دو ماتریس، ابعاد داخلی باید برابر باشند. نوشتن ابعاد در کنار نمادها، یک کنترل سریع برای تشخیص عملیات ناممکن است.

مثلاً ماتریسِ دو در سه ضربدر ماتریسِ سه در چهار، خروجیِ دو در چهار می‌دهد. ترتیبِ برعکس در همین مثال حتی از نظر ابعاد مجاز نیست، چون چهار و دو برابر نیستند. بنابراین «ضرب همیشه جابه‌جاپذیر است» را از اعداد به ماتریس‌ها منتقل نکن. در یک راه‌حل خوب، پیش از محاسبهٔ درایه‌ها می‌نویسی حاصل چه شکلی باید داشته باشد.

ضرب ماتریس در بردار؛ یک مثال کامل

ماتریس با سطرهای دو و یک، و یک و سه را در بردارِ چهار و پنج ضرب کن. خروجیِ سطر اول دو ضربدر چهار به‌علاوهٔ یک ضربدر پنج، یعنی سیزده است. خروجیِ سطر دوم یک ضربدر چهار به‌علاوهٔ سه ضربدر پنج، یعنی نوزده است. هر مؤلفهٔ خروجی حاصلِ ضرب داخلیِ یک سطر با بردار ورودی است.

راهِ نگاهِ دیگر این است که ستون اولِ ماتریس را چهار برابر و ستون دوم را پنج برابر کنیم و آن‌ها را جمع بزنیم. این دو نگاه یک نتیجه می‌دهند، ولی کاربردشان فرق دارد: نگاهِ سطری برای حساب مستقیم و نگاهِ ستونی برای فهمِ ترکیب خطی مفید است. هر دو را با دست انجام بده تا ماتریس از یک جدول بی‌معنا به یک عمل مشخص تبدیل شود.

matrix-vector.txt text
A = [[2, 1],
     [1, 3]]
x = [4, 5]
A x = [2*4 + 1*5, 1*4 + 3*5] = [13, 19]

ضرب دو ماتریس و ترتیبِ تبدیل‌ها

ماتریسِ قطری با دو و سه، مؤلفهٔ اول را دو و مؤلفهٔ دوم را سه برابر می‌کند. ماتریسِ جابه‌جایی با سطرهای صفر و یک، و یک و صفر، دو مؤلفه را عوض می‌کند. اگر ابتدا مقیاس بدهی و بعد جابه‌جا کنی، نتیجه با جابه‌جایی و سپس مقیاس متفاوت است؛ چون بعد از جابه‌جایی، ضریب‌ها به مؤلفه‌های دیگری می‌خورند.

روی بردارِ یک و یک آزمایش کن: مقیاس و سپس جابه‌جایی، سه و دو می‌دهد؛ ترتیبِ دیگر، دو و سه. این مثال نشان می‌دهد چرا ضرب ماتریسی عموماً جابه‌جاپذیر نیست. وقتی حاصلِ آ ضربدر ب را به‌عنوان تبدیل می‌خوانی، در قراردادِ بردار ستونی، ب ابتدا اعمال می‌شود. قرارداد را مشخص کن تا ترتیبِ نوشتن و ترتیبِ اجرا با هم اشتباه نشوند.

حل دستگاه با حذف، نه با حدس

دستگاهِ دو ایکس به‌علاوهٔ ایگرگ برابر یازده، و ایکس منهای ایگرگ برابر یک را حل می‌کنیم. با جمع کردن دو معادله، سه ایکس برابر دوازده و ایکس چهار می‌شود. جای‌گذاری در معادلهٔ دوم، ایگرگ سه می‌دهد. در قالب ماتریس افزوده، همان عملیات روی سطرهای ضرایب و ستونِ سمت راست انجام می‌شود.

عملیات مجاز سطری شامل جابه‌جایی دو سطر، ضرب یک سطر در عدد غیرصفر و افزودن مضربی از یک سطر به دیگری است. اگر فقط ضرایب را تغییر دهی و سمت راست را ثابت بگذاری، دستگاهِ دیگری ساخته‌ای. پس هنگام حذف، تمام سطر را با هم جابه‌جا کن. کنترل نهایی را در دو معادلهٔ اولیه انجام بده: هشت به‌علاوهٔ سه یازده و چهار منهای سه یک است.

بی‌جواب و بی‌نهایت‌جواب را تشخیص بده

معادله‌های ایکس به‌علاوهٔ ایگرگ برابر دو و دو ایکس به‌علاوهٔ دو ایگرگ برابر چهار، در واقع یک محدودیت را تکرار می‌کنند؛ بی‌نهایت زوج روی یک خط جواب‌اند. اگر سمت راستِ معادلهٔ دوم پنج باشد، دو خط موازیِ متمایز داریم و هیچ جواب مشترکی وجود ندارد. صورتِ ظاهریِ دو معادله تضمین نمی‌کند جواب یکتا داشته باشیم.

در حذف سطری، سطری مانند صفر برابر یک ناسازگاری را نشان می‌دهد. سطری مانند صفر برابر صفر فقط یک محدودیتِ مستقلِ تازه اضافه نمی‌کند. این دو را با هم اشتباه نگیر. در گزارش پاسخ، «حل نشد» کافی نیست؛ باید بگویی بی‌جواب است، جواب یکتا دارد یا خانواده‌ای از جواب‌ها باقی مانده است و دلیل ساختاری آن چیست.

دترمینان و وارون، در حدِ لازم

برای ماتریسِ دو در دو با درایه‌های آ و ب در سطر اول و ج و د در سطر دوم، دترمینان آد منهای بج است. اگر این عدد غیرصفر باشد، ماتریس وارون دارد. در مثالِ ماتریس با سطرهای دو و یک، و یک و سه، دترمینان پنج است. از نظر هندسی، قدرمطلق دترمینان ضریب تغییر مساحتِ تبدیل خطیِ دوبعدی را نشان می‌دهد.

صفر شدن دترمینان یعنی تبدیل بخشی از تمایزهای ورودی را از دست می‌دهد؛ در دوبعد ممکن است صفحه را روی خط یا نقطه بخواباند. برای حل عددی دستگاه‌های بزرگ، محاسبهٔ صریحِ وارون معمولاً اولین انتخاب عملی نیست؛ روش‌های حل مستقیم یا تجزیه‌ها مناسب‌ترند. در این درس وارون را برای فهمِ برگشت‌پذیری می‌خوانیم، نه به‌عنوان دستور عمومیِ اجرای همهٔ محاسبات.

ضرب داخلی و شباهت داده‌ها

ضرب داخلیِ بردارهای یک و دو، و سه و چهار برابر یازده است. در هندسه، ضرب داخلی به طول و زاویه مربوط می‌شود. در کاربردهای داده، ممکن است از آن در محاسبهٔ امتیاز یا شباهت استفاده شود، اما اندازهٔ مؤلفه‌ها و مقیاس‌بندی اهمیت دارد. برداری با اعداد بزرگ‌تر می‌تواند ضرب داخلی بزرگ‌تری بسازد، بدون آنکه جهتش نزدیک‌تر باشد.

برای مقایسهٔ جهت‌ها می‌توان مفهومِ شباهت کسینوسی را پس از تعریفِ طول بردار بررسی کرد. بردار صفر در مخرجِ این نسبت مشکل ایجاد می‌کند و باید جدا مدیریت شود. وقتی AI می‌گوید «این دو متن چون امتیاز بالاتری دارند مشابه‌ترند»، بپرس امتیاز چگونه تعریف شده و بردارها چه معنایی دارند. نامِ جبر خطی به‌تنهایی کیفیتِ یک معیار را تضمین نمی‌کند.

تمرین و کد برای بررسی پاسخ

در کد همراه، ضرب ماتریس در بردار را بدون کتابخانه پیاده می‌کنیم و ابعاد را کنترل می‌کنیم. برای ماتریس مثال و ورودی چهار و پنج، پاسخ باید سیزده و نوزده باشد. سپس ماتریس همانی را امتحان کن؛ ورودی باید بدون تغییر برگردد. این دو بررسی هم عدد نمونه و هم یک ویژگی ساختاریِ مهم را پوشش می‌دهند.

در ساروی، از مدل بخواه ابعاد و معنای مؤلفه‌ها را پیش از حساب از تو بپرسد. بعد دستگاهی با جواب یکتا، دستگاه ناسازگار و دستگاه وابسته بده و تفاوت را توضیح بده. برای ادامهٔ یادگیری ماشین، درس گرادیان و بهینه‌سازی را بخوان. داشتنِ واژه‌های بردار و ماتریس کافی نیست؛ باید بتوانی یک مثال کوچک را با دست حساب و نتیجه را تفسیر کنی.

matrix_vector.py python
def matvec(matrix, vector):
    if any(len(row) != len(vector) for row in matrix):
        raise ValueError("incompatible dimensions")
    return [sum(a*b for a, b in zip(row, vector)) for row in matrix]

assert matvec([[2, 1], [1, 3]], [4, 5]) == [13, 19]
assert matvec([[1, 0], [0, 1]], [4, 5]) == [4, 5]
print("all checks passed")
حالا نوبت توست

این کار را خودت انجام بده.

  • ماتریس مثال را هم با سطرها و هم با ترکیب ستون‌ها ضرب کن.
  • دستگاه دو معادله را حل و در صورت اولیه کنترل کن.
  • سه حالت جواب یکتا، بی‌جواب و بی‌نهایت‌جواب را رسم کن.

برای بررسی بیشتر

MIT OpenCourseWare؛ جبر خطی، گیلبرت استرنگ

در انجام این کار به مشکل خوردی؟

از پشتیبانی کمک بگیر