12

I put
{TensorProduct[{1, 0}, {0, 1}, {0, 1}, {0, 1}, {0, 1}]}/Sqrt[2]//MatrixForm and I got $$ \left( \begin{array}{cc} \left( \begin{array}{cc} \left( \begin{array}{cc} 0 & 0 \\ 0 & 0 \\ \end{array} \right) & \left( \begin{array}{cc} 0 & 0 \\ 0 & 0 \\ \end{array} \right) \\ \left( \begin{array}{cc} 0 & 0 \\ 0 & 0 \\ \end{array} \right) & \left( \begin{array}{cc} 0 & 0 \\ 0 & \frac{1}{\sqrt{2}} \\ \end{array} \right) \\ \end{array} \right) & \left( \begin{array}{cc} \left( \begin{array}{cc} 0 & 0 \\ 0 & 0 \\ \end{array} \right) & \left( \begin{array}{cc} 0 & 0 \\ 0 & 0 \\ \end{array} \right) \\ \left( \begin{array}{cc} 0 & 0 \\ 0 & 0 \\ \end{array} \right) & \left( \begin{array}{cc} 0 & 0 \\ 0 & 0 \\ \end{array} \right) \\ \end{array} \right) \\ \end{array} \right) $$ as a result. I now would like to rewrite this as $$ \left( \begin{array}{cc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & \frac{1}{\sqrt{2}} & 0 & 0 & 0 & 0 \end{array} \right) $$ to calculate eigenvalues of this matrix above.

Could you tell me how?

Moeki
  • 121
  • 2

4 Answers4

10
mat = {TensorProduct[{1, 0}, {0, 1}, {0, 1}, {0, 1}, {0, 1}]/Sqrt[2]};

FixedPoint[ArrayFlatten, mat] // MatrixForm

$\left( \begin{array}{cccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & \frac{1}{\sqrt{2}} & 0 & 0 & 0 & 0 \\ \end{array} \right)$

Suba Thomas
  • 8,716
  • 1
  • 17
  • 32
8
mat = {TensorProduct[{1, 0}, {0, 1}, {0, 1}, {0, 1}, {0, 1}]/ Sqrt[2]};

ArrayFlatten[ArrayFlatten /@ mat] // MatrixForm

$\left( \begin{array}{cccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & \frac{1}{\sqrt{2}} & 0 & 0 & 0 & 0 \\ \end{array} \right)$

OkkesDulgerci
  • 10,716
  • 1
  • 19
  • 38
7
X = {TensorProduct[{1, 0}, {0, 1}, {0, 1}, {0, 1}, {0, 1}]/Sqrt[2]};

Flatten[X, {{1, 3, 5}, {2, 4, 6}}]

(*    {{0, 0, 0, 0, 0, 0, 0, 0},
       {0, 0, 0, 0, 0, 0, 0, 0},
       {0, 0, 0, 0, 0, 0, 0, 0},
       {0, 0, 0, 1/Sqrt[2], 0, 0, 0, 0}}    *)
Roman
  • 47,322
  • 2
  • 55
  • 121
5

Another option

(m = {TensorProduct[{1, 0}, {0, 1}, {0, 1}, {0, 1}, {0, 1}]}/Sqrt[2]) // MatrixForm

Mathematica graphics

And now

m1 = ArrayFlatten[m[[1, 1]], 2]
m2 = ArrayFlatten[m[[1, 2]], 2]
Join[m1, m2, 2] // MatrixForm

Mathematica graphics

Nasser
  • 143,286
  • 11
  • 154
  • 359