我是Python新手。我想计算 λ_i , ρ_i 矩阵作为附图,而 n=3,i=1:n。
我的初始代码是:
n=3
σ_0 = np.eye(2)
σ_1 = np.array([[1, 0 ],[0, -1]])
σ_2 = np.array([[0, -1],[1, 0]])
σ = np.array([σ_0 , σ_1 , σ_2])
但我不知道如何在循环中迭代计算克罗内克乘积。 你能帮我写一个循环来在 aloop 中引入这些矩阵吗?
您可以将
np.kron
用于 Kronecker 产品。对于迭代,您可以使用 for 循环或 reduce
函数。
import numpy as np
from functools import reduce
def lambda(s0, s1, s2, i, n):
first = reduce(np.kron, [s1]*(i-1))
last = reduce(np.kron, [s0]*(n-i))
return np.kron( np.kron(first, s2), last)