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

use abstraction layer for linear system solvers, perform QR-based preprocessing #74

Merged
merged 20 commits into from
Oct 8, 2018

Conversation

chriscoey
Copy link
Collaborator

@chriscoey chriscoey commented Oct 3, 2018

this is a major PR with changes across the board

  • create abstraction layer for linear system solvers
  • add naive dense linear system methods
  • cleanup tests and test different linear system methods
  • enforce requirement that primitive cone indices be unit ranges (just requires that rows of G and h be reordered)
  • add indirect linear system solver (implementation not optimized)
  • add preprocessing functions (optional; and try to reuse one qr factorization for QR+Chol) to pass MOI tests; originally in WIP: preprocessing using QR factorizations #73
  • reuse QR decompositions inside preprocessing function and also optionally for creating a QR-based linsys cache
  • enable MOI tests to be sparse
  • refac 2 QR-based linsys caches
  • change examples to just return data (not preprocessed) rather than an optimizer object, and modify tests accordingly
  • restructure tests to be like MOI tests: one function per model
  • add native interface tests for preprocessing
  • debug strange failing MOI test for dense A (fixed by always stepping in interior direction when finding initial iterate)
  • get hessians more efficiently
  • create function for doing check, preprocess, solve all in one (like optimize function in MOI already does)

@chriscoey
Copy link
Collaborator Author

all MOI linear and conic tests are now passing! (bar SDP, logdet, rootdet for which we must wait for jump-dev/MathOptInterface.jl#531)

@chriscoey
Copy link
Collaborator Author

all tests passing! some example tests are currently commented out because they are too large/inconvenient to run often

@chriscoey chriscoey changed the title use abstraction layer for linear system solvers use abstraction layer for linear system solvers, perform QR-based preprocessing Oct 8, 2018
@chriscoey chriscoey deleted the linsyscaches branch February 7, 2019 21:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

1 participant