Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update SCS solver syntax #16

Merged
merged 7 commits into from
Dec 30, 2020
Merged

Update SCS solver syntax #16

merged 7 commits into from
Dec 30, 2020

Conversation

matthewware
Copy link
Collaborator

Would also like to use Convex.ComplexVaraible but the "Objective cannot be a complex expression"

@matthewware
Copy link
Collaborator Author

Maximal dnorm tests are failing in 4 cases. Calculations are accurate to 1e-4 but not to 1e-5.

@matthewware
Copy link
Collaborator Author

@marcusps seems the dnormcptp problem cast as an min of an operator norm is taking many more iterations to converge over the maximization of the trace (if it converges at all). I was still having failures up to 30_000 for random unitaries. This branch uses dnormcptp2 for ddist. Any objections to this?

Also, I tried to switch to Convex.jl support for complex variables. Unfortunately they only seem to work for constraints and can't be in the objective function: https://github.com/jump-dev/Convex.jl/blob/621c212b092b86bea3a3e14c4468a6120d4591ce/src/problems.jl#L11

@marcusps
Copy link
Collaborator

marcusps commented Dec 31, 2020

@matthewware Thanks for fixing this. The two formulations are duals (both are described in Section 4 of arxiv:0901.4709), so I am not sure why one would converge but not the other.

It may be worthwhile to look into implementing the SDPs from arxiv:1207.5726, but since Watrous does not discuss the numerical properties of the algorithms, we'd have to assess any potential advantages/disadvantages empirically. Nevermind, that paper discussed the general case, not the specialization to CPTP maps. It would be nice to run a performance analysis between the '09 algorithm for CPTP maps and the '12 algorithm for arbitrary linear maps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants