Unable to perform assignment because the size of the left side is 4-by-4 and the size of the right side is 2-by-4.

1 visualización (últimos 30 días)
Hello,
I am trying to create block diagonal if dimension d is greater than 2. However I have this error:
Unable to perform assignment because the size of the left side is 4-by-4 and the size of the right side is 2-by-4.
My code is here:
function [A,B] = CH2d(d)
A=zeros(d,d,2,d);
B=A;
projectors_of_sigma_x = [1/sqrt(2)*[1;1],1/sqrt(2)*[1;-1]];
for k = 1:d
for l =1:d
if d > 2
A(:,:,1,k) = blkdiag(A(:,:,1,k));
end
A(:,:,1,k)=repmat(projectors_of_sigma_x(:,k),1,d);
end
end
end
  4 comentarios

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by