我正在为旋转链实现精确对角化代码。在得到低位本征态之后,我需要对各种算子求平均值。一种类型的运算符具有以下形式
$$I\otimes I\otimes\cdots\otimes I\otimes S_{a}\otimes I\otimes\cdots\otimes I\otimes S_{b}\otimes I\otimes\cdots\otimes I\otimes I$$
或者更确切地说是纯文本
I (X) I (X) ... (X) I (X) Sa (X) I (X) ... (X) I (X) Sb (X) I (X)...(X) I (X) I
其中(X)
代表张量积/ Kronecker积。
如果我可以将计算速度提高10倍,那就太好了
kron(A,eye(I.shape[0]**n)) = A (X) I (X) I (X) ... (X) I # I
重复n次
我想出了重塑kron(eye(I.shape[0]**n), A)
的简单想法,但是稀疏矩阵的重塑在scipy中没有很好地实现(也没有效率)。
以前有人做过同样的事吗?