Skip to content

Conversation

@nathanielpritchard
Copy link
Contributor

This pull request implements Iterative Hessian Sketch solver from Pilanci and Wainwright. The commit includes:

  • implementations of the technique and recipe
  • implementation of the complete_solver function
  • implementation of the rsolve! function

@codecov
Copy link

codecov bot commented Jul 11, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@nathanielpritchard nathanielpritchard self-assigned this Jul 11, 2025
@nathanielpritchard nathanielpritchard added the enhancement New feature or request label Jul 11, 2025
Copy link
Contributor

@vp314 vp314 left a comment

Choose a reason for hiding this comment

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

Minor changes requested. One small addition to the code base to check that the rows of the coefficient matrix exceed the columns. Another test change addition to see if everything works when the dimension of the compression is larger than the number of rows of the coefficient matrix.

Comment on lines +219 to +225
solver.R = UpperTriangular(qr!(solver.mat_view).R)
# Compute first R' solver R'R x = g
ldiv!(solver.buffer_vec, solver.R', solver.gradient_vec)
# Compute second R Solve Rx = (R')^(-1)g will be stored in gradient_vec
ldiv!(solver.gradient_vec, solver.R, solver.buffer_vec)
# update the solution
# solver.solution_vec = solver.solution_vec + alpha * solver.gradient_vec
Copy link
Contributor

Choose a reason for hiding this comment

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

We should add "Iterative Hessian Sketch" to the wiki page (either v0.2 or v0.3, your choice). And indicate that we want to allow alternative subsolvers in the inner loop.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants