Skip to content

Release #23

@blegat

Description

@blegat

Hi @mforets and @schillic. Sorry for being so slow at this but I would like to finally start integrating this package.
I think what's hard for this package is to decide what could be on it.
The obvious candidates are space_dimension and dimension since that is what is needed by MathematicalSets to check that he sets he receives have the right dimension.
For volume and surface_area, there might be bikeshedding on what it would mean for lower-dimensional objectsbut we can keep it as zero for these functions and not define any other function for these lower-dimensional objects for now.
Maybe we can keep it simple at first, keep these 4 functions and add MathematicalSets as a dependency for LazySets, SemialgebraicSets, Polyhedra, SetProg, ... Once this is done, we can add it to MathematicalSystems and use it to check input.
Then we'll see later one if we can integrate more things one by one but a small packages is also fine.

About union, intersections, etc..., if LazySets plans to support nonconvex sets at some point then it's best to leave these lazy operations in LazySets and we don't have to define them here and Dionysos/SetProg will use LazySets for that.

One other set that could be useful is SemialgebraicSets.FullSpace because I often need it and having SemialgebraicSets as dependency for that is a bit silly.
In SemialgebraicSets, there is no dimension but we could give one so that we can implement dimension.
Of course, we could decide whether it is R^n or C^n but we may just leave if ambiguous for now, it's just a set such that Base.in always returns true, Base.intersect is a no-op and Base.union absorbs.
This could be use as returned value for state_set of unconstrained systems for instance.

What do you think ? If you are fine with it, I can make a PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions