Code Monkey home page Code Monkey logo

cvxquad's People

Contributors

dstahlke avatar hfawzi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cvxquad's Issues

dual cones and conjugate functions

Hi, sorry for the noise but I'm interested in knowing: (1) the dual cones of your recognized cones, and (2) the conjugate functions of your recognized convex functions. I didn't see this in the reference in the readme, so I'm wondering if you can point to any sources that might help me with this.

FYI @lkapelevich and I work on a generic conic interior point solver https://github.com/chriscoey/Hypatia.jl and we want to support some of these cones (and cones constructed from your functions). We think we can construct SC barriers for some cones (eg a matrix entropy perspective cone), and for others we can construct non-SC but probably "good-enough" barriers (eg matrix relative entropy cone).

Thanks!

trace_mpower(matrix,1) returns concave expression instead of affine

Minimum reproducible example of trace_mpower with exponent t = 1 producing concave expression.

cvx_begin
variable A(2,2) semidefinite
trace_mpower(A,1)
ans =
    cvx concave expression (scalar)

In comparison:

trace(A)
ans =
    cvx real affine expression (scalar)

Of course, this bug can be circumvented by using trace instead of trace_mpower if t is known to be 1.

undefined function randRho and Tx

I try to run examples/rel_entr_entanglement.m, but get the following error.

>> rel_entr_entanglement
Undefined function or variable 'randRho'

I've searched the whole repo and cannot find its definition (similar issue for Tx). Could you please provide these functions? thx

CVXQUAD's Pade approximation not used for log_det, but used for entr and rel_entr

I put CVXQUAD;s exponential.m in the CVX sets directory, CVXQUAD's Pade approximation was invoked for entr and rel_entr., as expected.

However, CVX's successive approximation method was used for log_det . I have not looked to see exactly which "exponential cone" inducing functions or circumstances use CVX's successive approximation method rather than CVXQUAD's Pade approximation.

License

I have been attempting to get this ported to Julia's Convex.jl. I believe the maintainer of Convex.jl (or maybe myself) has contacted you about this a while back. He was requesting that we cite the cvxquad license in the Convex.jl license file. Can you please add a license to your code? I believe that either BSD or MIT would be compatible with Convex.jl, though of course it's your software and your choice.

Bug in quantum_rel_entr when 2nd argument is numeric but 1st argument is not

There is a bug in quantum_rel_entr which is triggered when 2nd argument is numeric but 1st argument is not.

Line 69
elseif cvx_isconstant(A) || cvx_isconstant(B)
of quantum_rel_entr.m should not have
|| cvx_isconstant(B)
because
cvx_optval = -quantum_entr(A,m,k) - trace_logm(B,A,m,k);
is triggered by satisfying this, is not correct for that case, and and will trip an error in trace_logm.

I leave it to you whether to add an
elseif cvx_isconstant(B)
with a following appropriate line of code. As far as I know (I could be wrong), that is not necessary, but I leave it to you whether there's a more efficient path than skipping to the affine code at that point.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.