Comments (4)
Original comment by Pieter Collins (Bitbucket: pietercollins, GitHub: pietercollins)
Supported auxiliary variables for (hybrid) enclosures.
from ariadne.
Original comment by Luca Geretti (Bitbucket: lgeretti, GitHub: lgeretti)
First, I think it could be useful to be able to discretize with respect to time, so I would provide the capability.
Second, I agree on the second option. I do not see use cases where mixed operations with subspaces are needed, that cannot be dealt with by rather working on a projection.
As for the HybridFlowTube, I guess every objectification is welcome.
from ariadne.
Original comment by Pieter Collins (Bitbucket: pietercollins, GitHub: pietercollins)
I have working code for this, but would like some advice as to the semantics of HybridEnclosure operations of discretising and drawing.
- We should decide which "space" the enclosure, considered as a set, lies in. We have three kinds of variables, state, time and auxiliary.
- From the point of view of drawing, it is useful (and no difficulty) to have access to all these variables, including time.
- From the point of view of discretising, we may sometimes want to discretise with respect to the state space, sometimes with respects to state and (some of the) auxiliary variables, but rarely with respect to time.
For drawing, I think it's clear that we can just have access to all these variables. For discretising (and other set-based operations) I see a number of options:
- We could treat the enclosure as lying in one of (state), (state,auxiliary) or (state,time,auxiliary) space. If we want to discretise on a subset of variables, we need to explicity project().
- We could say the enclosure is "compatible" with any subset of its variables. This means we could (say) adjoin to a paving with just state variables, or with both state and auxiliary variables.
At the moment, I'm leaning towards saying the space is (state,time,auxiliary) and we must explicitly project() to subspaces. This gives maximal drawing flexibility, and keeps consistency between drawing and discretising.
Note that at some point (soon), I would like to move to using HybridFlowTube, which provides a set (usually empty or singleton) of reachable points given the initial state and the time.
from ariadne.
Original comment by Pieter Collins (Bitbucket: pietercollins, GitHub: pietercollins)
Currently, only state variables are carried over in the Enclosure, but I think it's worth putting auxiliary variables in as well. This may require changes to the integration routines, so be nontrivial to do.
from ariadne.
Related Issues (20)
- Fix bug in multiplication of Taylor models HOT 1
- shared_ptr::unique not available anymore in C++20 HOT 1
- Segmentation fault in VectorFieldSimulator HOT 1
- Implement inner Enclosure approximations
- Add drawer.hpp to ariadne.hpp
- Implement constraint-based tuning of reachability properties
- pytest not found under macOS HOT 1
- Simplify results of Integrators
- Improving grid method scalability
- Installation issues from the repository HOT 13
- Python examples not updated
- Segmentation fault and extracting solution HOT 2
- Python extraction of HybridEnclosure from HybridEnclosureListSet segfaults
- Python import issues under gcc12
- Naming and documentation of optimisation solvers
- Improved linear equation solving
- Fix bugs in nonlinear optimisation solvers
- chrono library not properly working under Ubuntu Clang HOT 1
- Path issues for Python
- Relax GCC -Wshadow warning to -Wshadow=local
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ariadne.