0
library("CVXR");
A <- Variable(3,3);
D <- matrix(c(A[1,1],0,0,0,A[2,2],0,0,0,A[3,3]),nrow=3);
A-D

在这里,我们有一个变量矩阵,A(我不确定这是否是正确调用对象的方法),并且D作为一个变量矩阵,其中对角线由 的对角线组成,A其他一切都是0.00。我希望能够像通常那样设置约束(A-D)%*%x == y,例如,例如A%*%x == y会正常工作。但是,R似乎并不喜欢A-D——“s4 对象不可减”。如何解决这个问题?

4

1 回答 1

0

我认为你可以这样做:

B <- Variable(3,3)

并添加约束B[1,1] == 0, B[2,2] == 0, B[3,3] == 0, B %*% x == y.

于 2020-04-29T09:30:08.053 回答