-
Notifications
You must be signed in to change notification settings - Fork 4
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
Fix crashes in Schur transformation #689
Conversation
@@ -79,6 +88,17 @@ function schur_transform(problem::InitialValueProblem{PT, ST} | |||
invariant_new = Universe(n) | |||
end | |||
|
|||
system_new = (A_new, I(n), invariant_new, U_new) | |||
return InitialValueProblem(PT(system_new), X0_new) | |||
system_new = _wrap_system(PT, A_new, B_new, invariant_new, U_new) |
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.
The helper function _wrap_system
is necessary because the type parameters of PT
may change. For instance, B
could be an IdentityMultiple
, but then its transformation is a proper Matrix
.
17ee32d
to
0a5a42f
Compare
|
||
The transformation is implemented with a lazy `LinearMap`. | ||
""" | ||
function backtransform(Rsets, options::Options) |
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.
The type of Rsets
should be ReachSolution
, but that type is not available in this module because it is only defined later in the ReachSets
module.
0a5a42f
to
af48d59
Compare
My test below shows that there is still something missing to back-transform the result. But I think this PR still improves the state by not crashing anymore.
EDIT: side note: There is something very wrong with our axis labels 😄