Modulo-2 matrix multiplication

54 views (last 30 days)
Hi.
I would like to know whether its possible to have the following multiplication and how it can be perfromed.
a=[1 1];
b=[0 0];
c=[1 0];
X=[a b c];
Y=[1 1 0;1 0 1; 0 1 0];
Z=mod(X*Y, 2);
I am expecting Z=[a+b,a+c,b], the addition is modulo-2 addition. The final output should be Z=[110100];
Thank you.

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 5 May 2021
size(X) = [1 6];
size(Y) = [3 3];
X and Y are not compatible for multiplcation given their sizes.
You can do something like this -
X = [a;b;c]; %size(X) = [3 2]
Z = mod(Y*X,2);
Z = [1 1; 0 1; 0 0];
Z = reshape(Z,1,[]);
Z = [1 1 0 1 0 0]; %If you want it to be a number and not an array, use polyval(z,10)
  2 Comments
Ronald Niwamanya
Ronald Niwamanya on 5 May 2021
needed to add transpose on Z, (Z = mod(Y*X,2)') . Thank you very much.
Dyuman Joshi
Dyuman Joshi on 5 May 2021
If my answer helped you solve your problem, kindly accept it!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!