尽管Hadamard积的应用有趣而精妙,但它并非通常研究意义上的矩阵环乘法,所以我们浅尝搁置。现在我们就要开始介绍“真正的”矩阵环乘法了,按照惯例,我们还是继续用一个有趣的应用来将矩阵环乘法的定义引出。考虑下图点的移动,其中单箭头表示单向路径,双箭头则表示双向路径。例如:
现在我们有一个问题:设图中出现的点的个数为n,定义一步的操作为从一点移动到相邻另一点,那么问若以图中的点
为起点,经过m步后,到达点
的总路径数是多少?
对于此类问题,我们需要观察点与点之间相邻的情况,对此我们很自然的就想到了要用方阵来刻画它们的关系,于是我们就引出了毗邻矩阵的定义
(定义4.1.12)毗邻矩阵。设有n阶方阵
,其中元素
为点
到点
的路径数。需要注意的是,点
到点
与点
到点
是不一样的,它们的路径代表相反的方向。而这样的方阵就叫做图的毗邻矩阵,那么以上图为例,它的毗邻矩阵为
由此可见,用毗邻矩阵来表示点与点之间的相邻关系是十分简洁方便的。
有了这个方阵的表示,我们就可以开始着手解决这个问题了。首先我们考虑经过2步后
到
的总路径数,由于移动步数只有2步,所以它的路径类型必定形如
,其中
遍历图中的所有点,则经过某个点
的路径数为
,从而总路径数就是
,若令这个数为n阶方阵M的第i行第j列元素,使得
,那么这个矩阵的每一个元素(第i行第j列元素)就是经过2步后
到
的总路径数。若令M是毗邻矩阵A经过某种乘法
的2次乘幂,即
,则由此我们引出了矩阵环乘法的定义
(定义4.1.13)矩阵环乘法。设有
矩阵
和
矩阵
,则它们有矩阵环乘法
使得
,其中
为
矩阵。矩阵环乘法通常不遵循交换律,显然使得两矩阵可以进行矩阵环乘法的充要条件是左乘矩阵A的列数等于右乘矩阵B的行数(即n),那么当
时,若令左乘为B,右乘为A,则
就没有定义了,因为它们之间不能进行矩阵环乘法了,所以通常
。矩阵环乘法虽然不交换,但是遵循结合律,现在就能直接说明,设有
矩阵
,考虑矩阵乘积
,它有不同的结合次序
和
,其中
由于求和符号可交换,所以
,从而矩阵环乘法遵循结合律。
对比Hadamard积,我们发现定义Hadamard积的矩阵中的元素甚至不必是环中的元素,因为它有定义式
,这意味着A和B中的元素只需要存在一种运算即可,(只要求
属于某个群,甚至可以是任意单算符代数!)。再来看上述定义的乘法,它有定义式
,它蕴含了两种运算,于是它要求
属于某个环或者双算符代数。这么看来,的确是上述定义的乘法更加适合成为矩阵环乘法,尽管它的定义要比Hadamard积的定义要复杂,但这往往意味着它能做到的事会比Hadamard积能做到的更多,我们可以在接下来的章节拭目以待。所以,如无特殊的声明,我们默认矩阵乘积为矩阵环乘法,并用并列来表示矩阵环乘法而省略运算符
,同时又由于矩阵环乘法符合结合律,因此方阵可存在乘幂的表示,那么方阵的乘幂也默认为矩阵环乘法。
回到刚才的问题,无需花费多少功夫就能证得
(定理4.1.11)方阵
中的第i行第j列元素就是经过m步后
到
的总路径数。
证明:利用第一归纳法。先是归纳步骤,证明当m-1成立时,m成立。若m-1成立,那么方阵
中的第i行第k列元素就是经过m-1步后
到
的总路径数。设
,则先经过m-1步走到
后再到
的路径数为
,从而总路径数就是
,这恰好就是矩阵
,中的第i行第j列元素,进而m也成立。所以根据归纳原理,我们只需确保
时定理成立,而这是显然的。Q.E.D
在完美的解决了以上提出的问题后,我们不妨给这个问题增加一些难度:设图中出现的点的个数为n,若从某点
在可选择的路径中1步移动到另一点
的概率为固定概率
,那么问若以图中的点