本文的閱讀等級:中級
設 為一
階排列矩陣,
的每一行和每一列恰有一個元為1,其餘元為0。排列矩陣是可逆矩陣,且
。一
階矩陣
相似於
,因為
和
透過排列變換建立相似關係,故稱為排列相似(permutation similar)。明顯地,
僅將
的各個元置換行列並不改變其值。本文要探討的問題是排列相似的益智遊戲:若
排列相似於
,尋找一排列矩陣
使得
,如下例(取自2006年台大電機所碩士班入學試題):
。
令 代表
的
元,回答上述問題前有必要先弄清楚排列相似變換
將
置換至何處?考慮一排列
為集合
至其自身的一對一映射(見“特殊矩陣 (16):排列矩陣”),以陣列形式表示如下:
。
對應 的
階排列矩陣
定義為
,
也就是說,若 ,則
的第
列為
(單位向量
的第
元為1,其餘各元為0)。因此,左乘排列矩陣
置換
的列,就有
。
上式再右乘排列矩陣 ,寫成
,其效果等於置換
的列,即
的行,故得到
。
若 ,
,則
被置換於
的
元位置,但
是一對一映射,可知
。
看下面的例子。設 ,
,即
,對應排列
的排列矩陣為
。
為方便說明,設 有相異元,如下:
,
計算排列相似矩陣可得
。
從逆排列 可決定每一
置換後的新位置,如
被置換於
的
元,而
則被置換於
的
元。所以,若
有相異元,且
排列相似於
,則對於任何
,僅有唯一
滿足
。從置換關係
立知
,窮舉所有情況可歸納出
,也就得到一排列矩陣
滿足
。但若
包含相同元,如前例,
有4個
,4個
,與8個
,這時可能存在不只一種符合條件的排列,那該如何將這些排列全部找齊?
欲求出所有可能的排列,我們其實只需要一個比較有效且不易出錯的簿記法。為清楚呈現 的置換關係,將
階矩陣
和
整理成
維向量。如此一來,相似變換
則以矩陣-向量乘法表示,這個想法可藉由 Kronecker 積來實現。考慮
階矩陣
的行向量表達
,定義
為下列
維向量:
,
同樣地,。將矩陣方程式
改寫為一般線性方程(證明見“Kronecker 積”):
,
其中 階矩陣
稱為 Kronecker 積,定義為
。
例如,下列矩陣方程
等價於
。
觀察發現 階 Kronecker 積
的「宏觀」結構與
階排列矩陣
的「微觀」結構相同,精確地說,
繼承了來自
的分塊型態:
。
Kronecker 積 的結構特性可以幫助我們簡化尋找排列矩陣的工作,詳述於下。將前例
階矩陣
和
分別表示為
;
。
可表示為
階分塊矩陣,如下:
,
其中每一列和每一行僅有一分塊是 ,其餘分塊都是
。將方程式
寫成
,
展開可得
。
對於每一 ,僅有一
滿足
,以下分開四種情況討論。在不失一般性的原則下,考慮
。
(1) 若 ,可得
或
。
(2) 若 ,可得
或
。
(3) 若 ,可得
或
。
(4) 若 ,可得
或
。
接下來是驗證工作。寫出這些 矩陣的 Kronecker 積,代入
,獲致結論:在
種排列矩陣中,上述8個
皆符合給出的排列相似關係
。
最後補充說明排列相似可應用於約化矩陣。上例中, 是一分塊對角矩陣,其特徵多項式可分解為主對角分塊特徵多項式的積:
解出 有特徵值
。因為兩相似矩陣有相同的特徵值,故
的特徵值即為
的特徵值。
後記:我在2008年撰寫的台清交研究所入學試題解答中採用對角化方法求 ,步驟如下。因為
和
是實對稱矩陣,故可正交對角化為
,
,其中
,
和
是正交矩陣,
且
。推得
,故
。這個解法有兩個缺點:第一,此法僅適用於給定數值的排列相似矩陣;第二,對角化涉及複雜計算,大尺寸矩陣尤其難以應付。