# The Code Does not Compute the other elements of Matrix

2 views (last 30 days)
Gözde Üstün on 13 Jul 2020
Commented: Gözde Üstün on 13 Jul 2020
Hello,
I am trying to compute value of probabilitiy distribution The formula is ok, code is working I have no error but some values are coming as 0. However I should have a value except zero
Here is my code:
function P = Prob(A_ax,B_by,rho)
d=size(A_ax,1);
m=size(A_ax,4);
bcount=size(A_ax,3);
P = zeros(d,d,bcount,m);
for x=1:bcount %m->bcount
for y=1:bcount %m->bcount
for a=1:m %d
for b=1:m %d
for dim=1:d
for dim2=1:d
%P(dim,dim2,x,y) = real( trace(kron(A_ax(dim,dim2,x,a),B_by(dim,dim2,y,b))*rho));
P(a,b,x,y) = real( trace(kron(A_ax(:,:,x,a),B_by(:,:,y,b))*rho));
end
end
end
end
end
end
As you can see the other values are 0. Where am I doing wrong?

KSSV on 13 Jul 2020
Edited: KSSV on 13 Jul 2020
function P = Prob(A_ax,B_by,rho)
d=size(A_ax,1);
m=size(A_ax,4);
bcount=size(A_ax,3);
P = zeros(d,d,bcount,bcount); %% Changed here
for x=1:bcount %m->bcount
for y=1:bcount %m->bcount
for a=1:d
for b=1:d
P(a,b,x,y) = real( trace(kron(A_ax(:,:,x,a),B_by(:,:,y,b))*rho));
end
end
end
end

Gözde Üstün on 13 Jul 2020
hello thank you for you answer but the result is still the same :( By the way my A_ax is A_ax(4,4,2,2) and B_by is (4,4,2,2) now
KSSV on 13 Jul 2020
run the loop till d, a = 1:d, b = 1:d
Gözde Üstün on 13 Jul 2020
I cannot because since we thought A(4,4,2,2) I have not 4 for the a value so I have an error (A_ax(:,:,x,a))

R2020a

### Community Treasure Hunt

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

Start Hunting!