-
-
Notifications
You must be signed in to change notification settings - Fork 54
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
Support SciMLOperators in LinearSolve #270
Conversation
This looks good, I like the direct ldiv! route. Just needs some clean up and upstream merges first. |
…iagonal matrices are always square.
Codecov Report
@@ Coverage Diff @@
## main #270 +/- ##
===========================================
+ Coverage 38.51% 71.09% +32.57%
===========================================
Files 13 14 +1
Lines 810 858 +48
===========================================
+ Hits 312 610 +298
+ Misses 498 248 -250
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
gotta put |
rerunning CI. some tests were cancelled. |
@@ -4,7 +4,7 @@ using HYPRE.LibHYPRE: HYPRE_Complex | |||
using HYPRE: HYPRE, HYPREMatrix, HYPRESolver, HYPREVector | |||
using IterativeSolvers: Identity | |||
using LinearSolve: HYPREAlgorithm, LinearCache, LinearProblem, LinearSolve, | |||
OperatorAssumptions, default_tol, init_cacheval, issquare, set_cacheval | |||
OperatorAssumptions, default_tol, init_cacheval, __issquare, set_cacheval |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we need to be careful with this release.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes. good we have CI test for 1.9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tests passing with lts, release, beta locally.
reexport scimlops now that `issquare` name conflict is fixed in SciML/LinearSolve.jl#270
Plan: SciML/SciMLOperators.jl#142
Merge these first:
SciML/SciMLBase.jl#377
#269
The changes in the PR are as follows:
AbstractDiffEqOperator
withAbstractSciMLOperators
.DirectLdiv! <: AbstractLinearSolveAlgorithm
so that types that have aldiv!
defined may skip a second factorization step and simply use theirldiv!
. Example, whenA isa Factorization,
or aBiDiagonal
, or aSciMLOperator
withhas_ldiv!(A) == true
.InvPreconditioner
, as it is no longer needed: fill out residual in output stats JuliaSmoothOptimizers/Krylov.jl#612 (comment).ComposePreconditioner
as it is used inOrdinaryDiffEq
IterativeSolvers.I
withSciMLOperators.IdentityOperator{N}()
as identity matrix placeholder. wrote static method_isidentity_struct
for checking.TODO
's for future changes WRT plan, someOperatorAssumptions
notes.