Tensor Product According to Input (Dynamically)

Hello:
I am trying to use tensor product according to inout number d
How can I write this code better? I am asking that becuase if I have 100 for d I cant write if by hand I want to write more clever things with for but I dont know
function A = td(d)
sigma_x = [0,1;1,0];
if d ==2
A = sigma_x;
if d ==4
A = kron(sigma_x,sigma_x);
end
if d == 8
A = kron(kron(sigma_x,sigma_x),sigma_x);
end
if d ==16
A = kron(kron(kron(sigma_x,sigma_x),sigma_x),sigma_x);
end

回答 (1 件)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2020 年 7 月 6 日

0 投票

If your variable sigma_x is 90 rotated eye matrix, then you can use
A = rot90(eye(d));
Good luck

1 件のコメント

Gözde Üstün
Gözde Üstün 2020 年 7 月 6 日
my variable first variable is :
0 1
1 0
my second variable is:
1 0
0 -1

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

製品

質問済み:

2020 年 7 月 3 日

コメント済み:

2020 年 7 月 6 日

Community Treasure Hunt

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

Start Hunting!

Translated by