# 🔄 Chuyển vị và biến đổi tuyến tính nhìn bằng hình ảnh

By Better Wise

## Mở đầu: từ bảng số đến cỗ máy biến hình

Bài trước bạn đã nhân ma trận từng bước: lấy từng hàng của ma trận thứ nhất nhân với từng cột của ma trận thứ hai. Bài này đổi góc nhìn. Ta không xem ma trận là một bảng số đứng yên nữa, mà xem nó như một cỗ máy nhận một vector vào và nhả một vector ra, kèm theo chuyển động xoay, co giãn trên mặt phẳng. Trước khi vẽ, ta học thao tác lật bảng: chuyển vị.

Sau bài này, bạn có thể:

- Viết ma trận chuyển vị $A^{T}$ và kiểm tra kích thước của nó.
- Dùng các tính chất $(A^{T})^{T} = A$ và $(AB)^{T} = B^{T}A^{T}$.
- Đọc một ma trận $2 \times 2$ qua ảnh của hai vector cơ sở $e_1 = (1,0)$ và $e_2 = (0,1)$.
- Nhận ra bốn biến đổi quen thuộc (co giãn, xoay, phản chiếu, cắt) chỉ bằng cách nhìn hình.

## Chuyển vị: đổi vai hàng và cột

Chuyển vị (transpose) của ma trận $A$, ký hiệu $A^{T}$, là ma trận nhận được bằng cách đổi hàng thành cột: phần tử ở hàng $i$, cột $j$ của $A$ chuyển sang hàng $j$, cột $i$ của $A^{T}$. Nếu $A$ có kích thước $m \times n$ thì $A^{T}$ có kích thước _____.

$$
A = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{bmatrix}
\qquad
A^{T} = \begin{bmatrix} 1 & 4 \\ 2 & 5 \\ 3 & 6 \end{bmatrix}
$$

Hàng đầu của $A$ là $(1, 2, 3)$ thì trở thành cột đầu của $A^{T}$. Cứ thế, toàn bộ bảng bị "lật" qua đường chéo.

Ba tính chất bạn sẽ dùng nhiều:

- Lật hai lần thì về chỗ cũ: $(A^{T})^{T} = A$.
- Cộng rồi lật bằng lật rồi cộng: $(A + B)^{T} = A^{T} + B^{T}$.
- Nhân rồi lật thì phải đảo thứ tự: $(AB)^{T} = _____$. Đây là chỗ hay sai nhất, vì thứ tự bị đảo ngược.

Với dữ liệu dạng bảng, chuyển vị chính là cách đổi vai trò: nếu bảng gốc có mỗi hàng là một người dùng và mỗi cột là một đặc trưng, thì $A^{T}$ cho mỗi hàng là một đặc trưng và mỗi cột là một người dùng. Cùng một dữ liệu, khác cách đọc.

**Bài tập 1.** Cho $B = \begin{bmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{bmatrix}$. Viết $B^{T}$ và cho biết kích thước.

**Xem đáp án**

$B$ cỡ $3 \times 2$ nên $B^{T}$ cỡ $2 \times 3$:

$$
B^{T} = \begin{bmatrix} 1 & 3 & 5 \\ 2 & 4 & 6 \end{bmatrix}
$$

**Bài tập 2.** $A$ cỡ $2 \times 3$, $B$ cỡ $3 \times 2$. Tích $AB$ cỡ bao nhiêu, và $(AB)^{T}$ cỡ bao nhiêu?

**Xem đáp án**

$AB$ cỡ $2 \times 2$, nên $(AB)^{T}$ cũng cỡ $2 \times 2$. Kiểm tra chéo: $B^{T}$ cỡ $2 \times 3$, $A^{T}$ cỡ $3 \times 2$, tích $B^{T}A^{T}$ cỡ $2 \times 2$. Khớp.

## Ma trận là cỗ máy biến hình: đọc ảnh của vector cơ sở

Một biến đổi tuyến tính $T$ là quy tắc giữ nguyên phép cộng và phép nhân vô hướng: $T(u+v) = T(u) + T(v)$ và $T(cu) = c\,T(u)$. Tính chất này nghe trừu tượng, nhưng nó cho ta một mẹo cực mạnh: chỉ cần biết hai vector cơ sở đi đâu, cả mặt phẳng coi như đã biết.

```mermaid
flowchart TD
    E1["➡️<br/>e1 = (1, 0)"] --> C1["Cột 1 của A"]
    E2["⬆️<br/>e2 = (0, 1)"] --> C2["Cột 2 của A"]
    C1 --> V["Đầu ra A·v"]
    C2 --> V
```

Với ma trận $2 \times 2$, **cột thứ nhất chính là ảnh của $e_1$, cột thứ hai là ảnh của $e_2$**. Lý do: mọi vector $v = (x, y)$ đều viết được thành $x\,e_1 + y\,e_2$, và vì biến đổi tuyến tính bảo toàn cộng và nhân vô hướng, ảnh của $v$ là $x \cdot (\text{cột 1}) + y \cdot (\text{cột 2})$. Đó chính xác là phép nhân $A \cdot v$ mà bạn đã làm ở bài trước. Nhân ma trận với vector không phải thủ tục máy móc, nó là "lấy $x$ lần ảnh của $e_1$ cộng $y$ lần ảnh của $e_2$".

**Bài tập 3.** Cho $A = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}$. Ảnh của $e_1$, của $e_2$, và của $v = (1,1)$ là gì?

**Xem đáp án**

Ảnh của $e_1$ là cột 1: $(1, 3)$. Ảnh của $e_2$ là cột 2: $(2, 4)$. Ảnh của $(1,1)$ là tổng hai ảnh: $(1,3) + (2,4) = (3, 7)$. Thử lại bằng phép nhân: hàng 1 cho $1\cdot1 + 2\cdot1 = 3$, hàng 2 cho $3\cdot1 + 4\cdot1 = 7$. Khớp.

## Bốn chuyển động quen thuộc trên mặt phẳng

| Biến đổi | Ma trận | Hình ảnh trên lưới |
| --- | --- | --- |
| Co giãn theo trục | $\begin{bmatrix} 2 & 0 \\ 0 & 3 \end{bmatrix}$ | Ô vuông đơn vị thành hình chữ nhật $2 \times 3$ |
| Xoay $90°$ ngược chiều kim đồng hồ | $\begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix}$ | $e_1$ sang $(0,1)$, $e_2$ sang $(-1,0)$ |
| Phản chiếu qua trục $x$ | $\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}$ | Lật ngược hình, tọa độ $y$ _____ |
| Cắt ngang (shear) | $\begin{bmatrix} 1 & 1 \\ 0 & 1 \end{bmatrix}$ | Vuông thành hình bình hành, đỉnh trên trượt sang phải |

Quy tắc đọc nhanh: nhìn cột. Ma trận đường chéo (các số ngoài đường chéo bằng 0) chỉ co giãn theo từng trục, không xoay. Ma trận xoay $90°$ đưa trục $x$ lên trục $y$. Ma trận phản chiếu giữ một trục và lật trục còn lại. Ma trận cắt giữ nguyên $e_2$ nhưng đẩy $e_1$ xiên sang phải, nên hình bị "vẹo" chứ không to lên.

```mermaid
flowchart LR
    A["🔧<br/>Ma trận 2x2"] --> B["↔️<br/>Co giãn"]
    A --> C["🔄<br/>Xoay"]
    A --> D["🪞<br/>Phản chiếu"]
    A --> E["↘️<br/>Cắt shear"]
```

**Bài tập 4.** Với bốn ma trận trong bảng, tìm ảnh của điểm $(1,1)$.

**Xem đáp án**

Co giãn: $(2, 3)$. Xoay $90°$: $(-1, 1)$. Phản chiếu qua trục $x$: $(1, -1)$. Cắt ngang: $(1\cdot1 + 1\cdot1,\ 0\cdot1 + 1\cdot1) = (2, 1)$. Nhận xét: chỉ phép cắt làm điểm trượt ngang mà độ cao giữ nguyên.

**Bài tập 5.** Ma trận $\begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix}$ áp lên hình vuông đơn vị. Hình thu được là gì?

**Xem đáp án**

Vẫn là hình vuông cùng kích thước, nhưng bị xoay $90°$ ngược chiều kim đồng hồ. Biến đổi xoay không làm méo hình, chỉ đổi hướng.

## Mẹo vẽ nhanh và lỗi hay gặp

- Kiểm tra kích thước trước khi chuyển vị: $m \times n$ thành $n \times m$. Đây là lỗi mất điểm phổ biến nhất.
- $(AB)^{T} = B^{T}A^{T}$, không phải $A^{T}B^{T}$. Lật thì đảo thứ tự, giống như cởi giày rồi tất phải làm ngược lại.
- Muốn vẽ ảnh của một biến đổi, chỉ cần vẽ ảnh của $e_1$ và $e_2$ trước, phần còn lại suy ra bằng tổ hợp.
- Nếu ảnh của một đường thẳng bị cong, đó không phải biến đổi tuyến tính. Biến đổi tuyến tính luôn giữ đường thẳng là đường thẳng và giữ gốc tọa độ đứng yên.
- Chuyển vị hai lần phải quay về ma trận gốc. Dùng phép kiểm tra này sau mỗi lần tính tay.
- Đừng đoán hệ số co giãn bằng mắt trên hình vẽ tay: hãy đọc trực tiếp từ các cột của ma trận.

## Ghi nhớ nhanh và bước tiếp theo

- Chuyển vị đổi vai hàng và cột: $m \times n$ thành $n \times m$, và $(AB)^{T} = B^{T}A^{T}$.
- Một ma trận $2 \times 2$ được đọc qua hai cột: ảnh của $e_1$ và ảnh của $e_2$. Biết hai ảnh này là biết toàn bộ chuyển động.
- Co giãn, xoay, phản chiếu, cắt là bốn chuyển động nền tảng, và mỗi cái có một dạng ma trận đặc trưng rất dễ nhận ra.

Bài tiếp theo là checkpoint của module: bạn sẽ tự chuyển một bảng dữ liệu thành ma trận, nhân từng bước, chuyển vị và mô tả một biến đổi bằng lời, không cần nhìn đáp án.

Front: Chuyển vị của ma trận A là gì?
Back: Ma trận A^T nhận được bằng cách đổi hàng thành cột: phần tử ở hàng i, cột j chuyển sang hàng j, cột i.

Front: Ma trận A cỡ m × n thì A^T cỡ bao nhiêu?
Back: n × m.

Front: Lật ma trận hai lần thì được gì?
Back: (A^T)^T = A, quay về ma trận gốc.

Front: (AB)^T bằng gì?
Back: B^T A^T, thứ tự bị đảo ngược.

Front: Cột thứ nhất của ma trận biến đổi 2 × 2 cho biết gì?
Back: Ảnh của vector cơ sở e1 = (1, 0).

Front: Vì sao ảnh của v = (x, y) lại bằng A·v?
Back: Vì v = x·e1 + y·e2 và biến đổi tuyến tính bảo toàn phép cộng và nhân vô hướng, nên ảnh là x·(cột 1) + y·(cột 2).

Front: Hai tính chất định nghĩa một biến đổi tuyến tính?
Back: T(u+v) = T(u) + T(v) và T(cu) = c·T(u).

Front: Ma trận của phép co giãn hệ số 2 theo trục x và hệ số 3 theo trục y?
Back: [[2, 0], [0, 3]].

Front: Ma trận của phép xoay 90° ngược chiều kim đồng hồ?
Back: [[0, -1], [1, 0]].

Front: Ma trận của phép phản chiếu qua trục x?
Back: [[1, 0], [0, -1]], giữ x và đổi dấu y.

Front: Ma trận shear ngang [[1, 1], [0, 1]] làm gì với điểm (x, y)?
Back: Đưa thành (x + y, y): đỉnh trượt ngang, hình vuông thành hình bình hành.

Front: Chuyển vị giúp gì khi làm việc với bảng dữ liệu?
Back: Đổi vai trò hàng và cột, ví dụ từ mỗi hàng là một người dùng sang mỗi cột là một người dùng.

Tự kiểm tra nhanh bằng cloze: ma trận chuyển vị của một ma trận $3 \times 5$ có kích thước _____. Phép xoay $90°$ ngược chiều kim đồng hồ biến $e_1$ thành _____. Còn phép cắt ngang giữ nguyên _____ và chỉ đẩy _____ xiên sang phải.

---

## Contents

Part of [🧮 Khóa 2: Toán cho Machine Learning — vector, ma trận và khoảng cách bằng hình ảnh](https://everwise.study/courses/khoa-2-toan-cho-machine-learning-vector-ma-tran-va-khoang-cach-bang-hinh.md)

- **➡️ Vector, cộng và nhân vô hướng, tích vô hướng và góc**
  - [🧭 Vector là gì: biểu diễn và tọa độ](https://everwise.study/courses/khoa-2-toan-cho-machine-learning-vector-ma-tran-va-khoang-cach-bang-hinh/vector-la-gi-bieu-dien-va-toa-do.md)
  - [➕ Cộng vector và nhân vô hướng](https://everwise.study/courses/khoa-2-toan-cho-machine-learning-vector-ma-tran-va-khoang-cach-bang-hinh/cong-vector-va-nhan-vo-huong.md) (sign-in required)
  - [📐 Tích vô hướng và góc giữa hai vector](https://everwise.study/courses/khoa-2-toan-cho-machine-learning-vector-ma-tran-va-khoang-cach-bang-hinh/tich-vo-huong-va-goc-giua-hai-vector.md)
  - [✅ Checkpoint: Vector và góc](https://everwise.study/courses/khoa-2-toan-cho-machine-learning-vector-ma-tran-va-khoang-cach-bang-hinh/checkpoint-vector-va-goc.md)
- **🔲 Ma trận, nhân ma trận từng bước, chuyển vị và biến đổi tuyến tính**
  - [📋 Ma trận và cách chuyển bảng dữ liệu thành ma trận](https://everwise.study/courses/khoa-2-toan-cho-machine-learning-vector-ma-tran-va-khoang-cach-bang-hinh/ma-tran-va-chuyen-bang-du-lieu-thanh-ma-tran.md)
  - [✖️ Nhân ma trận từng bước](https://everwise.study/courses/khoa-2-toan-cho-machine-learning-vector-ma-tran-va-khoang-cach-bang-hinh/nhan-ma-tran-tung-buoc.md)
  - [🔄 Chuyển vị và biến đổi tuyến tính nhìn bằng hình ảnh](https://everwise.study/courses/khoa-2-toan-cho-machine-learning-vector-ma-tran-va-khoang-cach-bang-hinh/chuyen-vi-va-bien-doi-tuyen-tinh-bang-hinh-anh.md) — this lesson
  - [🧪 Checkpoint: Ma trận và biến đổi](https://everwise.study/courses/khoa-2-toan-cho-machine-learning-vector-ma-tran-va-khoang-cach-bang-hinh/checkpoint-ma-tran-va-bien-doi.md)
- **📏 Chuẩn L1/L2 và khoảng cách cosine trong tìm kiếm, gợi ý**
  - [📶 Chuẩn L1, L2 và ý nghĩa hình học](https://everwise.study/courses/khoa-2-toan-cho-machine-learning-vector-ma-tran-va-khoang-cach-bang-hinh/chuan-l1-l2-va-y-nghia-hinh-hoc.md)
  - [🔍 Cosine similarity trong tìm kiếm và gợi ý](https://everwise.study/courses/khoa-2-toan-cho-machine-learning-vector-ma-tran-va-khoang-cach-bang-hinh/cosine-similarity-trong-tim-kiem-va-goi-y.md)
  - [🏁 Checkpoint: Chuẩn và độ tương đồng](https://everwise.study/courses/khoa-2-toan-cho-machine-learning-vector-ma-tran-va-khoang-cach-bang-hinh/checkpoint-chuan-va-do-tuong-dong.md)
- [Course cheatsheet](https://everwise.study/courses/khoa-2-toan-cho-machine-learning-vector-ma-tran-va-khoang-cach-bang-hinh/cheatsheet.md) (premium content)
