Home
Explore Uedu
Student Console
Register as Member/Login
(2) In future presentations of the research findings, in addition to the course project website and public presentations, your real name and personal information will not appear in this research report. If you are interested in the research results, we can provide you with an executive summary after the study is completed.
問卷中心
Teacher Console
Course Setup
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

0

Local AI

--

CISOSE26 本地 AI UG26
政治大學 AQI 18 29°C

AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

矩陣與行列式

矩陣與行列式:當一堆數字排成方陣,就能解開線性方程組

從咖啡店的定價難題出發,看矩陣運算、行列式與高斯消去法如何系統化地求解線性方程組,並一路通向特徵值與奇異值分解。

當「一堆數字排成方陣」突然能解開三條方程式

假設你經營一間小咖啡店,週末三天的銷售紀錄讓你很困惑:第一天賣出 2 杯拿鐵、1 杯美式、1 杯卡布,總收入 320 元;第二天 1 杯拿鐵、3 杯美式、1 杯卡布,收入 350 元;第三天 1 杯拿鐵、1 杯美式、2 杯卡布,收入 330 元。問題來了——每種咖啡的單價各是多少?

你當然可以用國中學的「代入消去法」一步步硬解,但如果咖啡有 10 種、紀錄有 10 天呢?這時,把所有「係數」抽出來排成一個整齊的方陣,再用一套系統化的規則去操作它,會比逐式消去快得多、也不容易出錯。這個方陣,就叫做矩陣(matrix);而那套操作規則,正是線性代數(linear algebra)的起點。

矩陣與行列式概念示意圖

矩陣是什麼:把方程組「拆成三塊」

上面的咖啡問題,用方程式寫出來是:

$$ \begin{cases} 2x + 1y + 1z = 320 \\ 1x + 3y + 1z = 350 \\ 1x + 1y + 2z = 330 \end{cases} $$

其中 $x, y, z$ 分別是拿鐵、美式、卡布的單價。注意到一件事:方程式裡真正「變動」的資訊有三塊——係數(咖啡杯數)、未知數(單價)、常數(總收入)。矩陣的核心想法,就是把這三塊各自打包:

$$ \underbrace{\begin{pmatrix} 2 & 1 & 1 \\ 1 & 3 & 1 \\ 1 & 1 & 2 \end{pmatrix}}_{A\ (\text{係數矩陣})} \underbrace{\begin{pmatrix} x \\ y \\ z \end{pmatrix}}_{\mathbf{x}} = \underbrace{\begin{pmatrix} 320 \\ 350 \\ 330 \end{pmatrix}}_{\mathbf{b}} $$

於是整組方程式被濃縮成一句話:$A\mathbf{x} = \mathbf{b}$。

一個矩陣就是一個由數字排成的矩形陣列。我們說一個矩陣是 $m \times n$(讀作「$m$ 乘 $n$」),表示它有 $m$ 個橫列(row)、$n$ 個直行(column)。上面的 $A$ 是 $3 \times 3$,是行數與列數相等的方陣(square matrix)。我們用 $a_{ij}$ 表示第 $i$ 列、第 $j$ 行的元素,例如 $a_{23} = 1$(第二列第三行)。

請特別記住「列在前、行在後」這個慣例,這是初學者最容易弄反的地方。

矩陣的基本運算:加法簡單,乘法有玄機

加減法與純量乘法

矩陣的加法與減法非常直覺:同樣大小的兩個矩陣,把對應位置的元素逐一相加即可。

$$ \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} + \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix} = \begin{pmatrix} 6 & 8 \\ 10 & 12 \end{pmatrix} $$

純量乘法(一個數字乘上整個矩陣)也是逐元素進行:

$$ 3 \times \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} = \begin{pmatrix} 3 & 6 \\ 9 & 12 \end{pmatrix} $$

矩陣乘法:行列相遇才有意義

矩陣乘法則是真正的關鍵,它的定義乍看不直覺,卻正是讓 $A\mathbf{x}=\mathbf{b}$ 成立的原因。規則是:要計算 $C = AB$,$C$ 的第 $i$ 列第 $j$ 行元素,等於 $A$ 的第 $i$ 列與 $B$ 的第 $j$ 行做「對應相乘再相加」:

$$ c_{ij} = \sum_{k=1}^{n} a_{ik}\, b_{kj} $$

這意味著:只有當 $A$ 的行數等於 $B$ 的列數時,乘法才有定義。若 $A$ 是 $m \times n$、$B$ 是 $n \times p$,則 $AB$ 是 $m \times p$。

舉個具體例子:

$$ \begin{pmatrix} 2 & 1 & 1 \\ 1 & 3 & 1 \\ 1 & 1 & 2 \end{pmatrix} \begin{pmatrix} x \\ y \\ z \end{pmatrix} = \begin{pmatrix} 2x + 1y + 1z \\ 1x + 3y + 1z \\ 1x + 1y + 2z \end{pmatrix} $$

看出來了嗎?把這個結果跟原本的方程組對照,正好就是左邊三條式子。矩陣乘法的定義,本質上就是「打包多條線性方程式」這件事的數學語言。

一個務必牢記的迷思:矩陣乘法不滿足交換律。 一般而言 $AB \neq BA$,甚至 $AB$ 有定義時 $BA$ 可能根本不能計算。這跟一般數字的乘法很不一樣,初學時請隨時提醒自己。

單位矩陣與反矩陣:矩陣世界的「1」與「倒數」

在實數裡,$1$ 是乘法單位元素(任何數乘 1 不變),而非零數 $a$ 有倒數 $a^{-1}$ 使 $a \cdot a^{-1} = 1$。矩陣世界裡也有對應的概念。

單位矩陣(identity matrix) $I$ 是對角線全為 1、其餘為 0 的方陣:

$$ I_3 = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} $$

它滿足 $AI = IA = A$,扮演著「乘法不改變」的角色。

反矩陣(inverse matrix) $A^{-1}$ 則是滿足 $A A^{-1} = A^{-1} A = I$ 的方陣。一旦找到它,解方程組就變得異常乾淨:

$$ A\mathbf{x} = \mathbf{b} \;\Longrightarrow\; A^{-1}A\mathbf{x} = A^{-1}\mathbf{b} \;\Longrightarrow\; \mathbf{x} = A^{-1}\mathbf{b} $$

但要小心:不是每個方陣都有反矩陣。 就像 $0$ 沒有倒數一樣,某些矩陣是「退化」的,無法求逆。判斷的關鍵,就是接下來要介紹的行列式

行列式:一個數字,看穿矩陣的「胖瘦」

行列式(determinant) 是只對方陣定義的一個純量,記作 $\det(A)$ 或 $|A|$。它最重要的功能是:

$A$ 可逆(有反矩陣)$\iff \det(A) \neq 0$。

對 $2 \times 2$ 矩陣,行列式的公式很簡單:

$$ \det\begin{pmatrix} a & b \\ c & d \end{pmatrix} = ad - bc $$

對 $3 \times 3$ 矩陣,可用「沿第一列展開(cofactor expansion)」:

$$ \det\begin{pmatrix} a & b & c \\ d & e & f \\ g & h & i \end{pmatrix} = a\begin{vmatrix} e & f \\ h & i \end{vmatrix} - b\begin{vmatrix} d & f \\ g & i \end{vmatrix} + c\begin{vmatrix} d & e \\ g & h \end{vmatrix} $$

注意正負號交錯($+,-,+$)的規律,這來自餘因子(cofactor)的符號 $(-1)^{i+j}$。

行列式還有一個漂亮的幾何意義:$2 \times 2$ 矩陣的行列式絕對值,等於它把單位正方形映射後得到的平行四邊形面積;$3 \times 3$ 則對應平行六面體的體積。當 $\det(A) = 0$,代表這個映射把空間「壓扁」了——把面積或體積壓成零——也就難怪它不可逆:被壓扁的資訊無法還原。

看一個例子:回到咖啡店

讓我們真的把咖啡單價解出來。係數矩陣

$$ A = \begin{pmatrix} 2 & 1 & 1 \\ 1 & 3 & 1 \\ 1 & 1 & 2 \end{pmatrix} $$

先算行列式,沿第一列展開:

$$ \det(A) = 2\begin{vmatrix} 3 & 1 \\ 1 & 2 \end{vmatrix} - 1\begin{vmatrix} 1 & 1 \\ 1 & 2 \end{vmatrix} + 1\begin{vmatrix} 1 & 3 \\ 1 & 1 \end{vmatrix} $$

$$ = 2(3\cdot 2 - 1\cdot 1) - 1(1\cdot 2 - 1\cdot 1) + 1(1\cdot 1 - 3\cdot 1) $$

$$ = 2(5) - 1(1) + 1(-2) = 10 - 1 - 2 = 7 $$

由於 $\det(A) = 7 \neq 0$,這個系統有唯一解。我們可以用克拉瑪法則(Cramer's rule)直接求每個未知數:把 $A$ 的第 $j$ 行換成常數向量 $\mathbf{b}$,得到矩陣 $A_j$,則

$$ x_j = \frac{\det(A_j)}{\det(A)} $$

求拿鐵單價 $x$,把第一行換成 $\mathbf{b} = (320, 350, 330)^\top$:

$$ A_x = \begin{pmatrix} 320 & 1 & 1 \\ 350 & 3 & 1 \\ 330 & 1 & 2 \end{pmatrix} $$

$$ \det(A_x) = 320(3\cdot 2 - 1\cdot 1) - 1(350\cdot 2 - 1\cdot 330) + 1(350\cdot 1 - 3\cdot 330) $$

$$ = 320(5) - (700 - 330) + (350 - 990) = 1600 - 370 - 640 = 590 $$

所以 $x = 590 / 7 \approx 84.3$ 元。同理可求出 $y$(美式)與 $z$(卡布)。實務上,當常數設計得「漂亮」時會剛好整除;這裡刻意用真實感的數字,是想讓你看到計算的真實樣貌。

動手試試

請你自己驗證一個更小的系統:

$$ \begin{cases} 2x + 3y = 8 \\ x - y = -1 \end{cases} $$

寫成矩陣形式 $A = \begin{pmatrix} 2 & 3 \\ 1 & -1 \end{pmatrix}$,$\mathbf{b} = \begin{pmatrix} 8 \\ -1 \end{pmatrix}$。先算 $\det(A) = 2\cdot(-1) - 3\cdot 1 = -5 \neq 0$,所以有唯一解。用克拉瑪法則:

$$ x = \frac{\begin{vmatrix} 8 & 3 \\ -1 & -1 \end{vmatrix}}{-5} = \frac{-8 - (-3)}{-5} = \frac{-5}{-5} = 1, \quad y = \frac{\begin{vmatrix} 2 & 8 \\ 1 & -1 \end{vmatrix}}{-5} = \frac{-2 - 8}{-5} = \frac{-10}{-5} = 2 $$

代回原式檢驗:$2(1)+3(2)=8$ ✓,$1-2=-1$ ✓。

高斯消去法:電腦真正在用的解法

雖然克拉瑪法則公式優雅,但它在維度大時計算量會爆炸(要算 $n+1$ 個行列式,而每個 $n \times n$ 行列式的展開複雜度極高)。實務上解大型線性系統,標準工具是高斯消去法(Gaussian elimination)

它的精神是對「增廣矩陣(augmented matrix)」$[A \mid \mathbf{b}]$ 做三種列運算,把左半邊化成階梯形:

  1. 交換兩列;
  2. 某一列乘上非零常數;
  3. 某一列加上另一列的倍數。

這些運算不改變方程組的解集。以咖啡系統為例(這裡只示意流程):

$$ \left[\begin{array}{ccc|c} 2 & 1 & 1 & 320 \\ 1 & 3 & 1 & 350 \\ 1 & 1 & 2 & 330 \end{array}\right] \;\longrightarrow\; \cdots \;\longrightarrow\; \left[\begin{array}{ccc|c} 1 & 0 & 0 & x \\ 0 & 1 & 0 & y \\ 0 & 0 & 1 & z \end{array}\right] $$

當左邊化成單位矩陣時,右邊就直接讀出答案。高斯消去法的計算量約為 $\frac{2}{3}n^3$,遠優於克拉瑪法則,這也是為什麼幾乎所有數值軟體(如 NumPy、MATLAB)內部都採用它(或其變體 LU 分解)來解 $A\mathbf{x}=\mathbf{b}$。

重點回顧

  1. 矩陣是線性方程組的緊湊表示:$A\mathbf{x} = \mathbf{b}$ 把係數、未知數、常數三塊分開打包,矩陣乘法的定義正好還原出每一條方程式。
  2. 矩陣乘法不可交換:一般 $AB \neq BA$,且乘法有定義的前提是「前者的行數等於後者的列數」。
  3. 行列式是一個判別數:$\det(A) \neq 0 \iff A$ 可逆 $\iff$ 方程組有唯一解;幾何上它是面積/體積的縮放倍率。
  4. 求解有多種工具:小系統可用反矩陣或克拉瑪法則;大系統實務上用高斯消去法,計算效率高出許多。
  5. 小心常見迷思:列在前、行在後;不是每個方陣都可逆;行列式為零代表空間被壓扁、資訊遺失。

深入探討(研究所視角)

從研究所的線性代數來看,本文介紹的矩陣其實只是冰山一角。真正統攝一切的核心概念是線性映射(linear transformation):一個矩陣 $A$ 並非只是數字陣列,而是一個從向量空間 $\mathbb{R}^n$ 到 $\mathbb{R}^m$ 的函數 $T(\mathbf{x}) = A\mathbf{x}$,它保持加法與純量乘法。矩陣只是這個抽象映射在「選定一組基底(basis)」之後的座標表示,換一組基底,同一個映射會有不同的矩陣外觀。

在這個視角下,「$A\mathbf{x} = \mathbf{b}$ 是否有解」變成「$\mathbf{b}$ 是否落在 $A$ 的行空間(column space)裡」的問題,而解的個數則由秩—零度定理(rank–nullity theorem)精確刻畫:$\text{rank}(A) + \dim(\ker A) = n$。當零空間(kernel)非平凡時,解不唯一;行列式為零,正對應到秩不足、零空間非零的情形。這把「行列式為零」「不可逆」「壓扁空間」三件事統一在同一個結構下。

更進一步是特徵值與特徵向量(eigenvalue & eigenvector):滿足 $A\mathbf{v} = \lambda \mathbf{v}$ 的非零向量 $\mathbf{v}$ 是被 $A$「只伸縮、不轉向」的特殊方向。特徵值由特徵多項式 $\det(A - \lambda I) = 0$ 決定——你會發現行列式在此再度登場。而 $\det(A) = \prod_i \lambda_i$(所有特徵值之積)、$\text{tr}(A) = \sum_i \lambda_i$(跡為特徵值之和),這些恆等式把本文的計算工具與深層結構連了起來。

這些理論並非象牙塔內的玄學。在 Uedu 優學院所關注的教育多模態資料分析(Educational Omics)中,學習者的多維資料常被組織成矩陣,而奇異值分解(singular value decomposition, SVD)——把任意矩陣拆成 $A = U\Sigma V^\top$ 的技術——正是主成分分析(PCA)、推薦系統、潛在語意分析的數學引擎。當我們想從上百個學習指標中萃取「最關鍵的幾個維度」,本質上就是在找矩陣最大的幾個奇異值與對應方向。從咖啡店的三條方程式,到分析數萬名學習者的認知歷程,背後是同一套線性代數語言。掌握矩陣與行列式,就是拿到了通往現代資料科學、機器學習與計算科學的第一把鑰匙。

AI 共讀助教正在陪你讀:矩陣與行列式:當一堆數字排成方陣,就能解開線性方程組
嗨!我是這篇文章的共讀助教,只根據〈矩陣與行列式:當一堆數字排成方陣,就能解開線性方程組〉的內容回答。可以問我「解釋某段」「舉個例子」「出題考我」,或反白文中段落後點下方「解釋選取段落」。