基本矩陣與列超平行體¶

Elementary matrix acts on rows

Creative Commons License
This work by Jephian Lin is licensed under a Creative Commons Attribution 4.0 International License.

$\newcommand{\trans}{^\top} \newcommand{\adj}{^{\rm adj}} \newcommand{\cof}{^{\rm cof}} \newcommand{\inp}[2]{\left\langle#1,#2\right\rangle} \newcommand{\dunion}{\mathbin{\dot\cup}} \newcommand{\bzero}{\mathbf{0}} \newcommand{\bone}{\mathbf{1}} \newcommand{\ba}{\mathbf{a}} \newcommand{\bb}{\mathbf{b}} \newcommand{\bc}{\mathbf{c}} \newcommand{\bd}{\mathbf{d}} \newcommand{\be}{\mathbf{e}} \newcommand{\bh}{\mathbf{h}} \newcommand{\bp}{\mathbf{p}} \newcommand{\bq}{\mathbf{q}} \newcommand{\br}{\mathbf{r}} \newcommand{\bx}{\mathbf{x}} \newcommand{\by}{\mathbf{y}} \newcommand{\bz}{\mathbf{z}} \newcommand{\bu}{\mathbf{u}} \newcommand{\bv}{\mathbf{v}} \newcommand{\bw}{\mathbf{w}} \newcommand{\tr}{\operatorname{tr}} \newcommand{\nul}{\operatorname{null}} \newcommand{\rank}{\operatorname{rank}} %\newcommand{\ker}{\operatorname{ker}} \newcommand{\range}{\operatorname{range}} \newcommand{\Col}{\operatorname{Col}} \newcommand{\Row}{\operatorname{Row}} \newcommand{\spec}{\operatorname{spec}} \newcommand{\vspan}{\operatorname{span}} \newcommand{\Vol}{\operatorname{Vol}} \newcommand{\sgn}{\operatorname{sgn}} \newcommand{\idmap}{\operatorname{id}} \newcommand{\am}{\operatorname{am}} \newcommand{\gm}{\operatorname{gm}} \newcommand{\mult}{\operatorname{mult}} \newcommand{\iner}{\operatorname{iner}}$

In [ ]:
from lingeo import random_int_list, row_operation_process

Main idea¶

Each $n\times n$ matrix can be viewed as a list of row vectors $\{\br_1,\ldots, \br_n\}$.
We define the row parallelotope of $A$ as the polytope

$$ \{c_1\br_1 + \cdots + c_n\br_n : c_i\in [0,1] \text{ for all }i = 1,\ldots, n\} $$

spanned by the rows $\{\br_1,\ldots, \br_n\}$ of $A$.
Let $\Vol_R(A)$ be the signed volume of the row parallelotope.

Then $\Vol_R(A)$ can be defined through the following rules.

  • $\Vol_R(I_n) = 1$.
  • If $E$ is the elementary matrix of $\rho_i\leftrightarrow\rho_j$, then $E$ swaps the $i$-th and $j$-th rows of $A$.

Thus, $\Vol_R(EA) = -\Vol_R(A)$ and we define $\Vol_R(E) = -1$.

  • If $E$ is the elementary matrix of $\rho_i:\times k$, then $E$ rescales the $i$-th row of $A$.

Thus, $\Vol_R(EA) = k\Vol_R(A)$ and we define $\Vol_R(E) = k$.
(Note that this statement still holds even when $k = 0$.)

  • If $E$ is the elementary matrix of $\rho_i:+k\rho_j$, then $E$ slants the $i$-th row of $A$ to the direction of $j$-th row.

Thus, $\Vol_R(EA) = \Vol_R(A)$ and we define $\Vol_R(E) = 1$.

As a consequence, if a matrix $A$ is invertible and
can be written as the product a sequence of elementary matrices $F_1\cdots F_k$,
then $\Vol_R(A) = \Vol_R(F_1)\cdots\Vol_R(F_k)\Vol_R(I_n) = \Vol_R(F_1)\cdots\Vol_R(F_k)$.

In contrast, if $A$ is not invertible,
then row parallelotope collapses and is flat $\Vol_R(A) = 0$.

From this point of view,
the value of $\Vol_R(A)$ can be both
the signed volume and
the scaling factor changing $\Vol_R(B)$ to $\Vol_R(AB)$ for any $B$.

Side stories¶

  • operations on spanning vectors

Experiments¶

Exercise 1¶

執行以下程式碼。
已知 $A = F_1\cdots F_k$ 是一群單位矩陣的乘積。

Run the code below. Suppose we know $A = F_1\cdots F_k$ is the product of some elementary matrices.

In [ ]:
### code
set_random_seed(0)
print_ans = False

n = 2
while True:
    A = matrix(n, random_int_list(n^2, 3))
    if A.det() != 0:
        break
        
elems = row_operation_process(A, inv=True)

pretty_print(A, LatexExpr("="), *elems)

R = identity_matrix(n)
k = 1
vols = [1]
for elem in elems[::-1]:
    R = elem * R
    vols.append(R.det())
    vecs = R.rows()
    P = polytopes.parallelotope(vecs).plot(
        xmin=-3, 
        xmax=3,
        ymin=-3,
        ymax=3,
        wireframe="black", 
        fill="lightgreen"
    )
    for v in vecs:
        P += text("%s"%v, v + vector([0,0.5]), fontweight=1000).plot()
    show(P, title="$V_{%s}$"%k)
    k += 1

if print_ans:
    for k,vol in enumerate(vols):
        print("The signed volumn (area) of V%s is"%k, vol)
Exercise 1(a)¶

令 $V_0$ 為單位矩陣的列超平行體。
說明如何從 $V_0$ 得到 $V_1$ 並求出 $V_1$ 的面積。

Let $V_0$ be the row parallelotope for the identity matrix. Explain how to obtain $V_1$ from $V_0$ and find the volume of $V_1$.

Exercise 1(b)¶

依序說明如何從 $V_i$ 得到 $V_{i+1}$,
並求出 $V_2,\ldots, V_k$ 的面積。

Explain how to obtain $V_{i+1}$ from $V_i$ and find the volume of $V_{i+1}$ for each $i$. Then find the volume for each of $V_2,\ldots, V_k$.

Exercises¶

Exercise 2¶

對以下矩陣 $A$,
用文字描述它的列平行體,並用求出它的有向體積。

For each of the following matrices $A$, use a few sentences to decribe its row parallelotope. Then find its signed volumn.

Exercise 2(a)¶
$$ A = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 3 \end{bmatrix}. $$
Exercise 2(b)¶
$$ A = \begin{bmatrix} 0 & 1 & 0 \\ 2 & 0 & 0 \\ 0 & 0 & 3 \end{bmatrix}. $$
Exercise 2(c)¶
$$ A = \begin{bmatrix} 1 & 1 & 1 \\ 1 & 2 & 3 \\ 0 & 0 & 0 \end{bmatrix}. $$
Exercise 2(d)¶
$$ A = \begin{bmatrix} 1 & 1 & 0 \\ 1 & 2 & 0 \\ 1 & 3 & 0 \end{bmatrix}. $$
Exercise 2(e)¶
$$ A = \begin{bmatrix} 1 & 2 & 0 \\ 3 & 4 & 0 \\ 0 & 0 & 5 \end{bmatrix}. $$
Exercise 3¶

在 $\Vol_R$ 的定義中,假設我們已經接受了

  • If $E$ is the elementary matrix of $\rho_i:\times k$, then $E$ rescales the $i$-th row of $A$.
  • If $E$ is the elementary matrix of $\rho_i:+k\rho_j\times$, then $E$ slants the $i$-th row of $A$ to the direction of $j$-th row.

說明為什麼

  • If $E$ is the elementary matrix of $\rho_i\leftrightarrow\rho_j$, then $E$ swaps the $i$-th and $j$-th rows of $A$.

中的 $-1$ 是合理的。

In the definition of $\Vol_R$, suppose we already accept the following rules.

  • If $E$ is the elementary matrix of $\rho_i:\times k$, then $E$ rescales the $i$-th row of $A$.
  • If $E$ is the elementary matrix of $\rho_i:+k\rho_j\times$, then $E$ slants the $i$-th row of $A$ to the direction of $j$-th row.

Explain the $-1$ in the rule below is reasonable.

  • If $E$ is the elementary matrix of $\rho_i\leftrightarrow\rho_j$, then $E$ swaps the $i$-th and $j$-th rows of $A$.
Exercise 4¶

利用 $\Vol_R$ 定義中的四條準則,說明以下性質。

Use the four rules in the definition of $\Vol_R$ to expalin the following properties.

Exercise 4(a)¶

若 $A$ 中有一列為零向量,說明 $\Vol_R(A) = 0$。

If $A$ has a zero row, then $\Vol_R(A) = 0$.

Exercise 4(b)¶

若 $A$ 中有兩列向量相等,說明 $\Vol_R(A) = 0$。

If $A$ has two rows in common, then $\Vol_R(A) = 0$.

Exercise 4(c)¶

若 $A$ 中的列向量集合線性相依,說明 $\Vol_R(A) = 0$。

If some rows of $A$ form a linearly dependent set, then $\Vol_R(A) = 0$.

Exercise 5¶

令

$$ A = \begin{bmatrix} \frac{1}{\sqrt{3}} & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{6}}\\ \frac{1}{\sqrt{3}} & -\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{6}}\\ \frac{1}{\sqrt{3}} & 0 & -\frac{2}{\sqrt{6}}\\ \end{bmatrix}. $$

Let

$$ A = \begin{bmatrix} \frac{1}{\sqrt{3}} & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{6}}\\ \frac{1}{\sqrt{3}} & -\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{6}}\\ \frac{1}{\sqrt{3}} & 0 & -\frac{2}{\sqrt{6}}\\ \end{bmatrix}. $$
Exercise 5(a)¶

已知 $A$ 的列向量彼此互相垂直
且長度皆為 $1$。
以直觀的方式猜測 $\Vol_R(A)$。
真的計算看看你的猜測是否正確。

We know the rows of $A$ are mutually orthogonal and of length $1$. Guess what is $\Vol_R(A)$ by intuition. Then check if your intuition is correct by definition.

Exercise 5(b)¶

將 $A$ 矩陣的
第一個列向量伸縮為原來的 $3$ 倍,
第二個列向量伸縮為原來的 $4$ 倍,
第三個列向量伸縮為原來的 $5$ 倍,
並得到 $B$ 矩陣。
以直觀的方式猜測 $\Vol_R(B)$。
真的計算看看你的猜測是否正確。

Construct a new matrix $B$ from $A$ by rescaling the first row by $3$, the second row by $4$, and the third row by $5$. Guess what is $\Vol_R(A)$ by intuition. Then check if your intuition is correct by definition.

Exercise 6¶

令 $\bx$、$\by$、及 $\bz$ 為 $\mathbb{R}^3$ 中的向量。
令 $V_1$ 為 $\bx, \by, \bz$ 所張出來的平行六面體,
而 $V_2$ 為 $\bx + \by, \by + \bz, \bz + \bx$ 所張出來的平行六面體。
問 $V_2$ 的有向體積是 $V_1$ 的有向體積的幾倍?

Let $\bx$, $\by$, and $\bz$ be vectors in $\mathbb{R}^3$. Let $V_1$ be the parallelotope spanned by $\bx, \by, \bz$. Let $V_2$ be the parallelotope spanned by $\bx + \by, \by + \bz, \bz + \bx$. What is the ratio between the volumn of $V_2$ and the volumn of $V_1$?