2009年3月12日 星期四

矩陣乘法的現代觀點 (三)

以分塊作為計算單元定義 AB

假設矩陣 $$A$$ 是 $$m\times n$$ 階,$$B$$ 是 $$n\times p$$ 階,則 $$AB$$ 可以相乘。同樣道理,將 $$A$$ 和 $$B$$ 以分塊矩陣形式表示,例如,$$A$$ 為 $$3\times 2$$ 分塊,$$B$$ 為 $$2\times 2$$ 分塊:

$$A=\begin{bmatrix}

A_{11}&A_{12}\\

A_{21}&A_{22}\\

A_{31}&A_{32}\end{bmatrix}$$ 和 $$B=\begin{bmatrix}

B_{11}&B_{12}\\

B_{21}&B_{22}\end{bmatrix}$$

如此 $$AB$$ 可以用分塊矩陣實現乘法運算。



 

分塊矩陣乘法一如傳統以元為計算單元的運算方式,將 $$A$$ 的列分塊和 $$B$$ 的行分塊以列行法則相乘,$$AB$$ 為 $$3\times 2$$ 分塊,如下:

$$AB=\begin{bmatrix}

A_{11}B_{11}+A_{12}B_{21}&A_{11}B_{12}+A_{12}B_{22}\\

A_{21}B_{11}+A_{22}B_{21}&A_{21}B_{12}+A_{22}B_{22}\\

A_{31}B_{11}+A_{32}B_{21}&A_{31}B_{12}+A_{32}B_{22}\end{bmatrix}$$

注意這個乘法方式等於也限制了 $$A$$ 和 $$B$$ 其分塊的尺寸,譬如,$$A_{12}$$ 的行數與 $$B_{21}$$ 的列數相等。

 

事實上,分塊矩陣乘法也可以用來解釋前述的幾種矩陣乘積運算方式。若矩陣的分塊退化為元,那麼分塊矩陣乘積也就是以元為計算單位的列行法則。若 $$B$$ 以其行向量作為分塊,就是視行為計算單位的乘法方式:

$$\mathit{A}B=A\begin{bmatrix}

\mathit{B}_{1} & \cdots &\mathit{B}_{p}

\end{bmatrix}=\begin{bmatrix}

A\mathit{B}_{1} & \cdots &A\mathit{B}_{p}

\end{bmatrix}$$

 

若 $$A$$ 以其列向量作為分塊,此即以列為計算單位的乘法:

$$\mathit{AB}=\begin{bmatrix}

\mathit{A}_{1}\\

\vdots \\

\mathit{A}_{m}

\end{bmatrix}B=\begin{bmatrix}

\mathit{A}_{1}\mathit{B}\\

\vdots \\

\mathit{A}_{m}\mathit{B}\end{bmatrix}$$

 

若 $$A$$ 以其行向量作為分塊,$$B$$ 以其列向量作為分塊,$$AB$$ 乘積就如同以行列展開的乘法方式:

$$\mathit{AB}=\begin{bmatrix}

\mathit{A}_{1} & \cdots &\mathit{A}_{n}

\end{bmatrix}\begin{bmatrix}

\mathit{B}_{1}\\

\vdots \\

\mathit{B}_{n}

\end{bmatrix}=\mathit{A}_{1}\mathit{B}_{1}+\cdots+\mathit{A}_{n}\mathit{B}_{n}$$

 

我們討論的各種矩陣乘法運算都是等價的,適當選擇矩陣的分塊方式便與前述的四種基本乘法運算同義。分塊矩陣乘法較少用於數值計算 (除非問題具有特殊的形式,如許多零元聚集於一處),其主要用途為提供理論發展時所需要的運算處理機制。

(全文完)

3 則留言:

  1. 文章標題為什麼是"933"~
    還有老師打數學公式怎麼這麼快XD~

    回覆刪除
  2. 好...我會試試xd

    回覆刪除