Julia 朱莉娅';通过PyCall调用CVXPY时,s列主顺序是否有任何影响?

Julia 朱莉娅';通过PyCall调用CVXPY时,s列主顺序是否有任何影响?,julia,cvxpy,pycall,Julia,Cvxpy,Pycall,我通过Julia使用CVXPY,一种使用列主顺序将多维数组存储在内存中的语言。但是CVXPY是用Python编写的,并且接受Numpy样式的数组(默认情况下是行主数组)作为常量 我想知道在翻译Python代码时是否应该注意顺序,例如使用矩阵A: 将cvxpy作为cp导入 将numpy作为np导入 m=30 n=20 A=np.random.randn(m,n) b=np.随机随机随机数n(m) #构造问题。 x=cp.Variable(n) 目标=cp.最小化(cp.平方和(A*x-b)) co

我通过Julia使用
CVXPY
,一种使用列主顺序将多维数组存储在内存中的语言。但是
CVXPY
是用Python编写的,并且接受
Numpy
样式的数组(默认情况下是行主数组)作为常量

我想知道在翻译Python代码时是否应该注意顺序,例如使用矩阵
A

将cvxpy作为cp导入
将numpy作为np导入
m=30
n=20
A=np.random.randn(m,n)
b=np.随机随机随机数n(m)
#构造问题。
x=cp.Variable(n)
目标=cp.最小化(cp.平方和(A*x-b))

constraints=[0我已经看到了这一点,但我记得我没有看到want的任何特殊处理。
所以不,它不会引起任何问题

我已经看到了这一点,并且没有看到任何我记得的want的特殊处理。
所以不,它不会引起任何问题

看起来像是一个有效的问题,但cvxpy及其解算器的实际应用并不密集,因此随着稀疏矩阵不再以numpy为基础,许多事情都会发生变化,因此确实需要复制(我想),随着事情变得越来越复杂:不再是col major vs.row major。另一句话:我想,由于复制(或包装过程中发生的任何事情)而可能丢失的一切都是由解算器时间控制的。有趣的事实:可能每个解算器都会再次将输入复制并重新排序为自己的内部矩阵格式(参见cvxopt,ecos,…)看起来是一个有效的问题,但cvxpy及其解算器的实际应用并不密集,因此随着稀疏矩阵不再以numpy为基础,许多事情都会发生变化,因此确实需要复制(我想),随着事情变得越来越复杂:不再是col major vs.row major。另一句话:我想,由于复制(或包装过程中发生的任何事情)而可能丢失的一切都是由解算器时间控制的。有趣的事实:可能每个解算器都会再次将输入复制并重新排序为自己的内部矩阵格式(见cvxopt、ecos等)。
using Random, PyCall
cp = pyimport("cvxpy")

m = 30
n = 20

A = randn(m, n)
b = randn(m)

# Construct the problem.
x = cp.Variable(n)
objective = cp.Minimize(cp.sum_squares(cp.matmul(A,x) - b))
constraints = [0 <= x, x <= 1]
prob = cp.Problem(objective, constraints)