python :python3.2
cvxopt:1.1.5
NumPy :1.6.1
我读过http://abel.ee.ucla.edu/cvxopt/examples/tutorial/numpy.html
import cvxopt
import numpy as np
cvxopt.matrix(np.array([[7, 8, 9], [10, 11, 12]]))
我有
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: non-numeric element in list
通过
np.array(cvxopt.matrix([[7, 8, 9], [10, 11, 12]]))
,我得到了array([[b'\x07', b'\n'],
[b'\x08', b'\x0b'],
[b'\t', b'\x0c']],
dtype='|S8')
最佳答案
从 cvxopt == 1.1.9
和 numpy == 1.13.1
开始:
import cvxopt
import numpy as np
a = cvxopt.matrix(np.array([[7, 8, 9], [10, 11, 12]]))
print(a)
产生输出
[ 7 8 9]
[ 10 11 12]
a
是一个<2x3 matrix, tc='i'>
结果矩阵具有整数类型 ( the
'i'
),因为起始 numpy
数组包含整数。以 double
开头的结果是 'd'
类型。关于cvxopt.matrix 和 numpy.array 之间的 python3 转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12551009/