Elementary matrix acts on rows
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}}$
from lingeo import random_int_list, row_operation_process
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
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.
Thus, $\Vol_R(EA) = -\Vol_R(A)$ and we define $\Vol_R(E) = -1$.
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$.)
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$.
執行以下程式碼。
已知 $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.
### 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)
令 $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$.
依序說明如何從 $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$.
對以下矩陣 $A$,
用文字描述它的列平行體,並用求出它的有向體積。
For each of the following matrices $A$, use a few sentences to decribe its row parallelotope. Then find its signed volumn.
在 $\Vol_R$ 的定義中,假設我們已經接受了
說明為什麼
中的 $-1$ 是合理的。
In the definition of $\Vol_R$, suppose we already accept the following rules.
Explain the $-1$ in the rule below is reasonable.
利用 $\Vol_R$ 定義中的四條準則,說明以下性質。
Use the four rules in the definition of $\Vol_R$ to expalin the following properties.
若 $A$ 中有兩列向量相等,說明 $\Vol_R(A) = 0$。
If $A$ has two rows in common, then $\Vol_R(A) = 0$.
若 $A$ 中的列向量集合線性相依,說明 $\Vol_R(A) = 0$。
If some rows of $A$ form a linearly dependent set, then $\Vol_R(A) = 0$.
令
$$ 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}. $$已知 $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.
將 $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.
令 $\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$?