Skip to content

Conversation

@samuelpowell
Copy link
Contributor

This reduces allocations in the IDRS inner loop, ref #186.

  • I am unfamiliar with the algorithm and have thus made minimum changes.
  • I am unsure of the reason for splatting the operator into the linsys_op function. Tests pass but perhaps I've misunderstood this implementation choice.

@andreasnoack andreasnoack requested a review from haampie January 4, 2018 10:10
@mschauer
Copy link
Member

mschauer commented Jan 4, 2018

The design comes from a time where https://github.com/Jutho/LinearMaps.jl was not yet a thing and I wanted solve Lyapunov type equations. See https://github.com/mschauer/IDRsSolver.jl/blob/master/src/IDRsSolver.jl#L47 . Aligning the code with the other solvers is a good idea.

@haampie
Copy link
Member

haampie commented Jan 4, 2018

Looks good to me! The splatting shouldn't be necessary when LinearMaps is used.

@haampie haampie merged commit b8056b2 into JuliaLinearAlgebra:master Jan 4, 2018
@samuelpowell
Copy link
Contributor Author

@mschauer ahh yes, that makes sense. Indeed, LinearMaps.jl is incredibly useful for this kind of thing.

@haampie thanks for review.

@samuelpowell samuelpowell deleted the idrsalloc branch January 4, 2018 11:30
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.

3 participants