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

Nonlinear SDP interior point meta-algorithm #106

Merged
merged 25 commits into from
Aug 29, 2021
Merged

Nonlinear SDP interior point meta-algorithm #106

merged 25 commits into from
Aug 29, 2021

Conversation

pizhn
Copy link
Collaborator

@pizhn pizhn commented Aug 15, 2021

No description provided.

test/sdp.jl Outdated Show resolved Hide resolved
src/Nonconvex.jl Outdated Show resolved Hide resolved
src/Nonconvex.jl Outdated Show resolved Hide resolved
src/Nonconvex.jl Outdated Show resolved Hide resolved
Co-authored-by: Mathieu Besançon <mathieu.besancon@gmail.com>
src/Nonconvex.jl Outdated Show resolved Hide resolved
src/algorithms/sdp.jl Outdated Show resolved Hide resolved
src/algorithms/sdp.jl Outdated Show resolved Hide resolved
src/algorithms/sdp.jl Outdated Show resolved Hide resolved
src/algorithms/sdp.jl Outdated Show resolved Hide resolved
src/algorithms/sdp.jl Outdated Show resolved Hide resolved
src/algorithms/sdp.jl Outdated Show resolved Hide resolved
src/algorithms/sdp.jl Outdated Show resolved Hide resolved
src/algorithms/sdp.jl Outdated Show resolved Hide resolved
@pizhn
Copy link
Collaborator Author

pizhn commented Aug 22, 2021

Refactored following advised by @mohamed82008 . But still debugging the StackOverflow Error.

src/algorithms/sdp.jl Outdated Show resolved Hide resolved
src/algorithms/sdp.jl Outdated Show resolved Hide resolved
src/algorithms/sdp.jl Outdated Show resolved Hide resolved
@pizhn pizhn changed the title First version sdp. (need help) First version sdp Aug 28, 2021
@pizhn
Copy link
Collaborator Author

pizhn commented Aug 28, 2021

Notifying @matbesancon as well

src/algorithms/sdp.jl Outdated Show resolved Hide resolved
Co-authored-by: Mohamed Tarek <mohamed82008@gmail.com>
src/models/model.jl Outdated Show resolved Hide resolved
src/algorithms/sdp.jl Outdated Show resolved Hide resolved
test/sdp.jl Outdated Show resolved Hide resolved
test/sdp.jl Outdated Show resolved Hide resolved
@mohamed82008
Copy link
Member

Once the minor comments above are addressed and the tests pass, please add documentation on this. Then I am ready to merge this.

@mohamed82008 mohamed82008 merged commit 0e6c64d into master Aug 29, 2021
@mohamed82008
Copy link
Member

let's have a separate PR for docs.

@mohamed82008
Copy link
Member

thanks @noilreed, great PR 🎉

@@ -100,7 +100,7 @@ end
function sd_objective(objective0, sd_constraints, c::AbstractArray)
function _objective(args)
target = objective0(args)
barrier = sum(c .* -logdet.(sd_constraints.fs.(args)))
barrier = sum(c .* -logdet.(map(f -> f(args), sd_constraints.fs)))
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mohamed82008 What makes this different? I found weird thing in my local version test yesterday before went to bed and I haven't pushed it, not sure if that's a bug. That if two MvNormal applied to one optimization then the first one is not well optimized, is this the reason?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, broadcasting a function calls it element-wise on the arguments. We need to call each function with all the arguments as input, hence the map.

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.

4 participants