-
-
Notifications
You must be signed in to change notification settings - Fork 128
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 Lineax operators for the vector field of ControlTerm #370
Comments
Yup, with the release of Lineax this is something I've been considering! This also dovetails nicely with #364, so that we may wish to also introduce a type parameter for the return type of the vector field. (One very nitty concern I do have is that mathematically speaking, we tend to interpret I'd want to be sure that this works correctly with:
In principle all of those things should be solvable -- Diffrax allows the result of the vector field to be arbitrary -- I just think we'd want to explicitly test them. I'd be happy to take a pull request on this! |
I have a branch started for this, but I want to know the scope of the change you are looking for here. Having spent (a little) time thinking about it I see a couple options, in increasing impact on the package
I'm sure there are more nuanced or totally different options, but I'm just looking to get a feel on the scope you want with this change so I don't do a lot of unnecessary work. |
For context, the simplest sort of approach to 1. is shown in #434 (needs more tests/docs/whatever but the core idea of just making minimal change to allow lineax in control terms is there) |
I really like the look of #434! I think this is pretty much exactly what I had in mind. I think if we were designing from scratch then we'd probably go with option 2 That said I think it might be worth marking
|
By providing support for
lineax.AbstractLinearOperators
in the vector field of a ControlTerm it may be possible to reduce the need forWeaklyDiagonalControlTerm
and/or any other such specialised control terms.The following gives a MWE:
Not sure if this is something you want to support, but it occurred to me that the operator tags might also be useful for some of the diffrax solvers?
The text was updated successfully, but these errors were encountered: