稀疏矩阵A和眼睛I的kron(A,I)(张量积或Kronecker积)的有效方式

时间:2017-07-27 16:55:23

标签: python scipy tensor

我正在为旋转链实现精确对角化代码。在得到低位本征态之后,我需要对各种算子求平均值。一种类型的运算符具有以下形式

$$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中没有很好地实现(也没有效率)。

以前有人做过同样的事吗?

0 个答案:

没有答案