布尔矩阵

Posted sweetlittlebaby

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了布尔矩阵相关的知识,希望对你有一定的参考价值。

布尔矩阵及其运算

概念:

布尔矩阵(boolean matrix)或叫位矩阵(bit matrix)是元素为0或1的矩阵;

运算:

1,补(compiement)

设A=[aij]是一个m×n的布尔矩阵,就是把原矩阵中的0变为1,1变为0;

2,并(join)

设A=[aij],B=[bij],是两个m×n的矩阵则为AνB=C=[cij],其中

cij= 1 若aij=1或bij=1;

cij= 0 若aij=0且bij=0;

直观地:将A,B中的0去掉,重叠两个矩阵之后,补上0即可

3,交(meet)

设A=[aij],B=[bij],是两个m×n的矩阵则为AΛB=D=[dij],其中

dij= 1 若aij=1且bij=1;

dij= 0 若aij=0或bij=0;

直观地:将A,B中的1去掉,重叠两个矩阵之后,补上1即可

4,布尔积(boolean product)

设A=[aij],B=[bij],是两个m×n的布尔矩阵,则定义A和B的布尔积为A×B=C=[cij];

cij= 1 若存在k(1≤k≤n)使得aik=1且bkj=1;

cij= 0 否则;

布尔矩阵的积cij对应的A里的i行和B里的j行对应元素进行操作,之后多所有的操作一下;

差异:

1,普通矩阵乘法

AXB=C=[cij]

   cij=∑k(aik×bkj

2,布尔矩阵

A×B=C=[cij]

   cijk(aikΛbkj

 

5,一些规律

假设布尔矩阵A,B,C具有兼容大小,则

a)交换律

          AVB=BVA, AΛB=BΛA

b)结合律

(AVB)VC=AV(BVC)

(AΛB)ΛC=AΛ(BΛC)

(AXB)XC=AX(BXC)

c)分配律

AΛ(BVC)=(AΛB)V(AΛC)

AV(BΛC)=(AVB)Λ(AVC)

d) 转置

           (AVB)T=ATVBT 

(AΛB)T=ATΛBT

   (ATXBT)=BTXAT

以上是关于布尔矩阵的主要内容,如果未能解决你的问题,请参考以下文章

TK1026: 布尔矩阵

矩阵 A 的布尔积

ZZNUOJ_C语言1126 : 布尔矩阵(附完整源码)

布尔矩阵

在 numpy 中从具有索引的 2D 矩阵构建 3D 布尔矩阵

用布尔数组索引 SciPy 稀疏矩阵