gpt4 book ai didi

python - CVXPY 中的外积

转载 作者:行者123 更新时间:2023-12-05 03:03:51 25 4
gpt4 key购买 nike

我有一个目标函数,它取决于外积的总和。如果我可以使用 Numpy 函数,我会这样写:

A = np.ones(m, n)
U = Variable(m, n)
objective = np.trace(sum([np.outer(A[i,:], U[i,:]) for i in range(m)]))

当然,当 U 是变量时,np.outer 不起作用。是否有可以实现此功能的 cvxpy 仿射函数?

最佳答案

cvxpy 有一个有效的 kron 函数。由于它仅适用于 2d 变量和 2d 数组,因此您必须先将向量 reshape 为 (n, 1) 向量:

cvx.trace(sum([cvx.kron(A[i, :].reshape(n,1), cvx.reshape(U[i,:], (n,1))
for i in range(m)]))

另一种解决方案是简单地编写矩阵乘积:

cvx.trace(sum([A[i, :].reshape(n, 1) @ cvx.reshape(U[i,:], (1, n)
for i in range(m)]))

关于python - CVXPY 中的外积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53456156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com