我想在 CVXPY 中生成一个(对角线)块矩阵(最好是稀疏的)。
有些块可以是eye(m)
或任何东西,但我有一个块是:
from cvxopt import *
import cvxpy as cvx
import numpy as np
import scipy
W = cvx.Variable(m,1)
W_diag = cvx.diag(W)
然后我尝试将块对角矩阵形成W_diag
为一个块,例如,通过:
T = scipy.sparse.block_diag((scipy.sparse.eye(m1).todense(), cvx.diag(W))
我收到以下错误:
TypeError:不支持类型转换:(dtype('float64'),dtype('O'))
我能做些什么?其他方法?我想T
稍后在 CVXPY 的约束中使用矩阵。