CVXQUAD

对于log,exp等函数,CVX采用的是不可靠的Successive Approximation method对函数近似,而CVXQUAD采用更可靠的Pade Approximation。

更新CVX的版本到CVX 2.2。除了要用到Quantum (Matrix) Entropy和 Matrix Logarithm相关的函数,必须要用CVXQUAD准确求解。如果使用CVX 2.2+Mosek 9.x求解器,就可以无需安装CVXQUAD,因为CVX可以利用Mosek 9.x本地的指数锥方法,而避免CVX的Successive Approximation method和消除CVXQUAD的使用优势。

A)安装CVXQUAD
CVXAUQD是一个函数集合,它同基于matlab的凸优化工具CVX一起使用。对于指数锥等多种函数,它使用不同于CVX采用的新近似方法。

首先解压 https://github.com/hfawzi/cvxquad/archive/master.zip 下载下来的压缩包,我将该文件放在了matlab安装的bin目录下,然后在matlab的命令框里面输入:
添加绝对路径: addpath(genpath(‘F:\Matlab2018b\bin\cvxquad-master’))
将文件夹添加到matlab路径(!!!困扰我很久)

然后将的文件夹里面 “exponential/exponential.m” 复制到CVX安装目录下的文件夹“sets”中(可以将原本的exponential.m文件复制到其他地方保存,以防以后还会使用到Successive Approximation method方法)

可以运行以下使用了CVXQUAD中函数quantum_rel_entr的代码(为给定矩阵M计算最近的相关矩阵),检验CVXQUAD是否成功安装运行。

n = 4;
M = randn(n,n);
M = M*M’;
cvx_begin
variable X(n,n) symmetric
minimize quantum_rel_entr(M,X)
subject to
diag(X) == ones(n,1)
cvx_end

更详细的内容请参照网页:https://github.com/hfawzi/cvxquad。
http://ask.cvxr.com/t/cvxquad-how-to-use-cvxquads-pade-approximant-instead-of-cvxs-unreliable-successive-approximation-for-gp-mode-log-exp-entr-rel-entr-kl-div-log-det-det-rootn-exponential-cone-cvxquads-quantum-matrix-entropy-matrix-log-related-functions/5598
以上翻译基于本人自身见解,若有不正之处,敬请提出,本人将不尽感激!

  • 12
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值