演算法筆記
範例:Peak finding
1. Algorithmic thinking, peak finding
讀書筆記
範圍1, 3, D.1
快速複習矩陣跟矩陣運算方法
D.1 Matrices and matrix operations
$一個m乘n的矩陣A{m,n} =
\begin{pmatrix}
a{1,1} & a{1,2} & \cdots & a{1,n} \
a{2,1} & a{2,2} & \cdots & a{2,n} \
\vdots & \vdots & \ddots & \vdots \
a{m,1} & a{m,2} & \cdots & a{m,n}
\end{pmatrix}
\begin{pmatrix}
1 & 2 & \cdots \\
3 & 4 & \cdots \\
\vdots & \vdots & \ddots
\end{pmatrix}
$
其中$a_{1,1}=1, a_{1,2}=2$,以此類推。
- Transpose 矩陣$A^T$則是$\forall a_{i,j} \in A都mapping到A^{T}裡的a_{j,i}$
- Vector 則是one-dimentional的矩陣, column vector是$n\times 1$, row vector則是$1\times n$, 可用transpose作轉換。
- unit vector $e_i是i_{th}為1,其他都是0的vector$
- zero matrix 是元素全為0的矩陣
## Square matrix 方陣
- Diagonal matrix $\forall i \neq j, a_{i,j}=0$
- Identity matrix is a diagonal matrix and $\forall a_{i,j}=1$
- Tridigonal matrix, $T \text{ is}\forall |i-j|>1, a_{i,j}=0 $
- upper-triangle matrix $U \text{ is} \forall i>j, a_{i,j}=0 $
- lower-triangle matrix $L \text{ is} \forall i<j, a_{i,j}=0 $
- permutation matrix $P$, there is exact one 1 in each column or row, and 0 elsewhere
- symmetric matrix $A=A^T$
## BASIC Matrix operations 基本矩陣運算
- add
- scalar multiple
- compatible is matrix $A,B$ where $A=(a_{i,j})\text{ is }m*n\text{ matrix }$, $B=(b_{i,j})\text{ is }n*p\text{ matrix }$
- multiplication $C = AB$ where $C_{i,j}=\displaystyle\sum_{k=1}^{n} a_{i,k}*b_{k,j}$, 計算n方陣需要左列的n次乘法,n-1次加法再乘元素數量=$n^2$所以各是$n^3, n^2(n-1)$是$\Theta (n^3)$
## 運算性質
- compatiable matrix的乘法 distrubutes or addirion:
$A(B+C) = AB+AC$
- for n>1, 乘法沒有commutative, ex:
$
A = \bigl(\begin{smallmatrix}0&1 \\ 0&0\end{smallmatrix} \bigr), B = \bigl(\begin{smallmatrix}0&0 \\ 1&0\end{smallmatrix} \bigr), AB\neq BA$
Exercises
- D.1-1 Show that if A and B are symmetric $n\times n$ matrices, then so are A+B and A-B.
if $A$ and $B$ are symmetric, then $a_{i,j} = a_{j,i} ,for \forall i,j,0<=i<n, 0<=j<n$
$C = A+B, c_{i,j} = a_{i,j}+b_{i,j}\text{, since A,B are symmetric,} a_{i,j} = a_{j,i} ,for \forall i,j,0<=i<n, 0<=j<n $
thus, $c_{i,j} = a_{j,i}+b_{j,i}= c_{j,i}, C$ is symmetric
- D.1-2 Prove that $(AB)^T= B^TA^T$ and that $A^TA$ is always a symmetric matrix.
- D.1-3 Prove that the product of two lower-triangular matrices is lower-triangular.
- D.1-4 Prove that $P$ is a $n\times n$permutation matrix and $A$ is a $n\times n$matrix,then the matrix product $PA$ is $A$ with its rows permuted, and the matrix product $AP$ is $A$ with its columns permuted. Prove that the product of two permutation matrices is a permutation matrix.
2. Models of computation, Python cost model, document distance