So I have an operator $A_0$ whose matrix representation is given by $$A_0 = \begin{pmatrix} 0 & -i \\ -i & 0\end{pmatrix},$$ and I also have two vector states $|0\rangle$ and $|1\rangle$ represented by $$|0\rangle=\begin{pmatrix} 1 \\ 0 \end{pmatrix} \;\; \text{and} \;\; |1\rangle=\begin{pmatrix} 0 \\ 1 \end{pmatrix}.$$ I want Mathematica to calculate $(A_0 \otimes \mathbb{I})(|0\rangle \otimes |0\rangle) = -i |1\rangle \otimes |0\rangle$, where $\mathbb{I}$ is the identity operator. Writing everything in matrix notation would give us $$A_0 \otimes \mathbb{I} = \begin{pmatrix} \begin{pmatrix}0&0\\0&0\end{pmatrix} & \begin{pmatrix}-i&0\\0&-i\end{pmatrix} \\ \begin{pmatrix}-i&0\\0&-i\end{pmatrix} & \begin{pmatrix}0&0\\0&0\end{pmatrix} \end{pmatrix} \;\; \text{and} \;\; |0\rangle \otimes |0\rangle = \begin{pmatrix} \begin{pmatrix}1\\0\end{pmatrix} \\ \begin{pmatrix}0\\0\end{pmatrix} \end{pmatrix}$$ and the result would be $$\begin{pmatrix} \begin{pmatrix}0&0\\0&0\end{pmatrix} & \begin{pmatrix}-i&0\\0&-i\end{pmatrix} \\ \begin{pmatrix}-i&0\\0&-i\end{pmatrix} & \begin{pmatrix}0&0\\0&0\end{pmatrix} \end{pmatrix} \begin{pmatrix} \begin{pmatrix}1\\0\end{pmatrix} \\ \begin{pmatrix}0\\0\end{pmatrix} \end{pmatrix} = \begin{pmatrix} \begin{pmatrix}0&0\\0&0\end{pmatrix}\begin{pmatrix}1\\0\end{pmatrix} + \begin{pmatrix}-i&0\\0&-i\end{pmatrix}\begin{pmatrix}0\\0\end{pmatrix} \\ \begin{pmatrix}-i&0\\0&-i\end{pmatrix}\begin{pmatrix}1\\0\end{pmatrix} + \begin{pmatrix}0&0\\0&0\end{pmatrix}\begin{pmatrix}0\\0\end{pmatrix} \end{pmatrix}= \begin{pmatrix} \begin{pmatrix}0\\0\end{pmatrix} \\ \begin{pmatrix}-i\\0\end{pmatrix} \end{pmatrix} \;\;(*)$$ so I naturally wrote
A0 = {{0,-I},{-I,0}};
op = TensorProduct[A0,IdentityMatrix[2]];
st = TensorProduct[{1,0},{1,0}];
MatrixForm[op.st]
but the result it returns me is$$\begin{pmatrix} \begin{pmatrix}0&0\\0&0\end{pmatrix} & \begin{pmatrix}-i&0\\0&0\end{pmatrix} \\ \begin{pmatrix}-i&0\\0&0\end{pmatrix} & \begin{pmatrix}0&0\\0&0\end{pmatrix} \end{pmatrix}.$$I discovered that the problem is that Mathematica was interpreting
st = TensorProduct[{1,0},{1,0}];
as$$\begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix},$$so I changed it to
st = TensorProduct[{{1,0}},{{1,0}}];
and it returns me$$\begin{pmatrix} \begin{pmatrix}1&0\end{pmatrix} & \begin{pmatrix}0&0\end{pmatrix} \end{pmatrix},$$ which seems correct to me as Mathematica does not make any distinction between a body with single row or single column. But then I tried calculating what I need again with
MatrixForm[op.st]
and it returns me an error.
Dot:Tensors {{{{0,0},{0,0}},{{-I,0},{0,-I}}},{{{-I,0},{0,-I}},{{0,0},{0,0}}}} and {{{1,0},{0,0}}} have incompatible shapes.
So my question is what is the correct syntax for expressing the tensor and the operator such that Mathematica gives me a result of the form of the one shown in $(*)$ above?