Skip to content

Releases: JuliaReach/LazySets.jl

v2.7.4

17 Apr 11:30
22d42b1
Compare
Choose a tag to compare

LazySets v2.7.4

Diff since v2.7.3

Announcements

Contributors for this release:

Features

  • Add support function for SparsePolynomialZonotope (#3073)
  • Add sample method for DensePolynomialZonotope (#3268)

Enhancements

  • Faster brute-force search in support-vector computation of VPolygon (#3277)
  • Add Real type restriction to normalize (resolves an ambiguity with Julia v1.9) (#3298)
  • Fix warnings reported by VSCodium (#3273)

Bug fixes

  • Fix error message in split with zero argument (#3273)
  • Fix for Tetrahedron when point is on the boundary (#3304)

Internal changes

  • Add dependabot (#3285) and bump scripts (#3286, #3287)
  • Also run CompatHelper in test folder (#3288)
  • Add invalidations CI script (#3290)
  • Update README and CI scripts (#3294)
  • Outsource LP-solver code to separate file (#3292)

Closed issues:

  • Union-splitting in concrete intersection of hyperrectangles (#533)
  • Clustering function (#584)
  • Specialized support function computations (#600)
  • Follow up lazy intersection polytope vs polytope (#689)
  • Lazy Overapproximation operation (#707)
  • Default is_intersection_empty between lazyset and abstract polytope (#724)
  • Remove redundant constraints when using template directions (#757)
  • Generation of arrays of random sets (#899)
  • Memory use of parallel box overapproximation (#987)
  • Add concrete and abstract traits (#991)
  • Simplify overapproximations API (#1020)
  • Add benchmarks for linear map (#1084)
  • Constraints list should return a copy (#1118)
  • Use MathOptInterface (#1493)
  • Inconsistent point in tetrahedron check (#3303)

Merged pull requests:

v2.7.3

06 Apr 12:39
2f80fdc
Compare
Choose a tag to compare

LazySets v2.7.3

Diff since v2.7.2

Announcements

Contributors for this release:

Features

  • Add complement methods for EmptySet and Universe (#3256)
  • Add ngens methods for BallInf, Interval and LineSegment (#3255)
  • Add reflect methods for EmptySet, Interval, ZeroSet, VPolytope and Universe (#3254)
  • Add option to delaunay to get 2D Delaunay triangulation for 3D sets (#3260)
  • Add new Tetrahedron set type (#3263)
  • Membership check for Tetrahedron (#3267)

Enhancements

  • Let generators of LineSegment return an iterator (#3257)
  • Generalize exponential backend in symmetric_interval_hull methods (#3253)
  • Remove unused AbstractStar interface (#3261)
  • Add some simple methods for DensePolynomialZonotope (#3262)
  • Let overapproximate of SimpleSparsePolynomialZonotope with a Zonotope always return a Zonotope (#3262)
  • Add overapproximate method for DensePolynomialZonotope with a Zonotope (#3262)

Bug fixes

  • Fix function error (raise -> throw) (#3252)

Internal changes

  • Revise interface tests (#3264)
  • Use short form IA of IntervalArithmetic consistently (#3265)
  • Remove constructor lists from documentation (#3266)

Closed issues:

  • Overapproximate polynomial zonotope with zonotope (#230)
  • Add examples for constructors and remove code copy (#232)
  • Support vector computation for a polynomial zonotope (#239)
  • Document formatter=identity (#305)
  • Caching lazy set operations (#351)
  • Forbid degenerate cases (#422)
  • Zonotope-zonotope intersection emptiness in 3D (#1267)
  • Generalize exponential backend in symmetric_interval_hull methods (#3117)
  • AbstractStar is recognized as a concrete set type (#3194)
  • Implement Tetrahedron type (#3258)
  • Implement efficient point in tetrahedron check (#3259)

Merged pull requests:

v2.7.2

01 Apr 23:33
e8785f0
Compare
Choose a tag to compare

LazySets v2.7.2

Diff since v2.7.1

Announcements

Contributors for this release:

Enhancements

  • Generalize outer array container for VPolytope (#3250)

Closed issues:

  • Generalize VPolytope container type (#3249)

Merged pull requests:

  • Generalize outer array container of VPolytope (#3250) (@mforets)

v2.7.1

30 Mar 15:12
cbb36a5
Compare
Choose a tag to compare

LazySets v2.7.1

Diff since v2.7.0

Announcements

Contributors for this release:

Enhancements

  • Add linear_map for general polyhedral sets (#3246)
  • Add reflect methods for AbstractZonotope, AbstractHyperrectangle, AbstractSingleton (#3248)

Internal changes

  • Add missing backslash in docstring (#3247)

Closed issues:

  • Add common polytopic methods to lazy operations (#996)

Merged pull requests:

v2.7.0

17 Mar 18:18
f1a3956
Compare
Choose a tag to compare

LazySets v2.7.0

Diff since v2.6.0

Announcements

Contributors for this release:

Breaking changes

  • Revise HParallelotope: add consistency check to constructor and use cheap isempty method (#3219)

Features

  • Generalize isempty from HPolyhedron to (polyhedral) LazySet (#3235)
  • Add is_polyhedral for IntersectionArray (#3235)

Enhancements

  • Remove remaining N<:Real annotations (#3236)
  • Make sure rand of HParallelotope returns a nonempty set (#3221)
  • Remove dependency on JuMP.MOI (#3245)

Internal changes

  • Update manual ("Getting started") (#3243)
  • Move some code to interface files (#3244)

Closed issues:

  • Generalize methods to AbstractPolyhedron (#1078)
  • Conversion from simple HRep to list of constraints (#1610)
  • Remove N<:Real annotation (#2219)
  • vertices_list of an empty HParallelotope is non-empty (#2786)
  • Random parallelotope generation often returns an empty set (#3203)
  • Documentation Update section causes error (#3242)

Merged pull requests:

v2.6.0

23 Feb 18:18
937404d
Compare
Choose a tag to compare

LazySets v2.6.0

Diff since v2.5.0

Announcements

Contributors for this release:

Features

  • Add overapproximate for Intersection of AbstractZonotope and Hyperplane (#3201)
  • Add volume for HParallelotope (#3204)
  • Add order-reduction method with parallelotope (#3205)
  • Generalize polyhedron to polyhedral LazySets (#3223)

Enhancements

  • Faster support function and support vector for CartesianProduct and CartesianProductArray (#3199)
  • Improved bound for line search (#3214)
  • Concrete Minkowski difference for zonotopes (#3206)
  • Fix compatibility with JuMP v1.8 (#3239)

Bug fixes

  • Fix support vector of Ball2 in zero direction (#3200)
  • Use rng in all calls to rand etc. (#3224)
  • Fix check for elimination algorithm in minkowski_sum (#3227, #3230)
  • Fix undefined variable in overapproximate with HPolyhedron (#3228)
  • Fix CartesianProduct constructor with EmptySet (#3208)
  • Fix linear_map of polyhedra (vrep_chull algorithm) (#3207)
  • Fix constraints_list of flat zonotopes (#3210)
  • Fix automatic generation of template-direction instances (#3211)
  • Fix support vector of unbounded HPolyhedron (#3234)
  • Fix binary search in addconstraint! for (H-)polygons (#3213)

Internal changes

  • Use newer version of Makie in tests (#3220)
  • Add publications (#3222)
  • Fix warning with Polyhedra in test (#3225)
  • Pull out documentation from requires blocks (#3217)
  • Add test for MiniQhull (#3216)
  • Simplify remove_redundant_constraints! (#3218)
  • Make names dir/dirs consistent (#3229)
  • Update Symbolics in tests (#3232)
  • Remove invoke calls (#3233)

Closed issues:

  • Concrete Minkowski difference for zonotopes (#586)
  • HPolygon's addconstraint! should ignore/replace constraints with same normal direction (#653)
  • HPolytope's removehredundancy! removes non-redundant constraints (#754)
  • Iterative refinement of HPolygon with redundant constraint adds unexpected constraint (#895)
  • tohrep(::VPolytope) results in unbounded polytope (#1234)
  • Overapproximation of zonotope with polyhedron in constraint representation (#1328)
  • Different result for intersection using HPolyhedron or HPolytope (#1348)
  • HPolygon should not reorder already-sorted constraints (#1393)
  • Convert AbstractPolyhedron to Polyhedra.polyhedron (#1505)
  • Docstrings with kwargs (#1650)
  • Faster support function for CPA and canonical vectors (#1758)
  • Add test for MiniQhull optional dependency (#2077)
  • Documentation redefinition in require blocks (#2080)
  • Fix warnings with Polyhedra (#2162)
  • addconstraint! for HPolygon differs with linear_search option (#2426)
  • Error when passing LP solver to Polyhedra (#2542)
  • AssertionError in is_tighter_same_dir_2D (#2582)
  • Checking equality of Complements Unexpected Behavior. (#2686)
  • Fix links in documentation (#2721)
  • Undefined LP in remove_redundant_constraints (#2732)
  • Overapproximation with zonotope and PolarDirections (CPA algorithm) crashes (#2833)
  • MethodError in eps close approx of Bloating (#2894)
  • rand doesn't work with Rational{Int} (#3019)
  • isdisjoint of flat zonotope with polyhedron returns wrong answer (#3038)
  • Generalize polyhedron to AbstractPolyhedron (#3060)
  • EmptySet is not quite the absorbing operation for CartesianProduct (#3078)
  • Support vector of Ball2 in zero direction (#3198)
  • constraints_list of flat zonotopes is wrong (#3209)
  • Depend on MathOptInterface directly instead of referencing the internal variable of JuMP (#3238)

Merged pull requests:

v2.5.0

18 Nov 22:22
2b0f823
Compare
Choose a tag to compare

LazySets v2.5.0

Diff since v2.4.0

Announcements

Contributors for this release:

Breaking changes

  • Generalize ConvexSet to LazySet in lazy operations (#3195)

Merged pull requests:

v2.4.0

14 Nov 18:09
dd8db00
Compare
Choose a tag to compare

LazySets v2.4.0

Diff since v2.3.0

Announcements

Contributors for this release:

Breaking changes

  • Rename VPolygonNC to Polygon (#3138)
  • Translation of EmptySet and Universe are now simplified automatically (absorbing elements) (#3184)

Features

  • Add some functionality for VPolygonNC (#3127)
  • Add unary convex hull of general sets with a vertices_list method (#3148)
  • Add is_polyhedral for Bloating (#3154)
  • Add isboundedtype for CachedMinkowskiSum (#3170)

Enhancements

  • Revise iterative_refinement code (#3121)
  • Revise template_directions code (#3122)
  • Generalize plotting to LazySet (#3127)
  • Revise decompositions code (#3128)
  • Revise distance code and generalize to LazySet (#3129)
  • Revise exact_sum code (#3130)
  • Revise isstrictsubset code and generalize to LazySet (#3131)
  • Revise linear_combination code (#3132)
  • Revise minkowski_difference code and generalize to LazySet (#3133)
  • Revise difference code and generalize to LazySet (#3134)
  • Revise cartesian_product code and generalize to LazySet (#3135)
  • Revise plot recipes (#3139)
  • Change default overapproximation of polynomial zonotopes (#3139)
  • Revise AbstractSingleton code (in particular, the membership check is now approximate) (#3143)
  • Remove unused type parameters (#3141)
  • Revise overapproximate code and generalize to LazySet (#3140)
  • Add some sets to unions CompactSet and NonCompactSet (#3142)
  • Revise AbstractPolytope code (#3144)
  • Revise minkowski_sum code and generalize to LazySet (#3145)
  • Revise intersection code and generalize to LazySet (#3147)
  • Revise LazySet code (#3149)
  • Revise AbstractPolygon code (#3151)
  • Revise convex_hull code and generalize to LazySet (behavioral change: vertices are sorted in 1D) (#3148)
  • Revise AbstractPolyhedron code (#3150)
  • Revise AbstractCentrallySymmetric code (#3152)
  • Revise AbstractCentrallySymmetricPolytopic code (#3153)
  • Revise issubset code and generalize to LazySet (behavioral change: use some approximate equality checks) (#3154)
  • Revise Bloating code (#3103)
  • Revise isdisjoint code and generalize to LazySet (#3156)
  • Revise AbstractHyperrectangle code (#3157)
  • Revise convert code and generalize to LazySet (#3159)
  • Revise AbstractPolyhedron code (#3161)
  • Revise HPolyhedron code (#3162)
  • Revise AbstractAffineMap code (#3163)
  • Revise HPolygon, HPolygonOpt, and AbstractHPolygon code (#3164)
  • Revise macros code (#3165)
  • Revise DensePolynomialZonotope code (#3166)
  • Revise SimpleSparsePolynomialZonotope code (#3167)
  • Revise AffineMap code (#3168)
  • Revise CachedMinkowskiSum code (#3170)
  • Revise CartesianProductArray code (#3171)
  • Revise ConvexHullArray code and generalize to LazySet (#3172)
  • Revise IntersectionArray code (#3173)
  • Revise MinkowskiSumArray code (#3174)
  • Revise UnionSetArray code and generalize to LazySet (#3175)
  • Revise CartesianProduct code (#3176)
  • Revise ConvexHull code and generalize to LazySet (#3177)
  • Revise Intersection code (#3178)
  • Revise MinkowskiSum code (#3179)
  • Revise UnionSet code and generalize to LazySet (#3180)
  • Revise InverseLinearMap code (#3181)
  • Revise QuadraticMap code (#3182)
  • Revise ResetMap code (#3183)
  • Revise Translation code (#3184)
  • Generalize ConvexSet methods to LazySet (#3185)
  • Revise SymmetricIntervalHull code and generalize to LazySet (#3187)
  • Revise LinearMap code (#3188)
  • Revise ExponentialMap code (#3189)
  • Revise SparsePolynomialZonotope code (#3190)
  • Revise AbstractZonotope code (#3191)
  • Revise Rectification code (in particular finish the implementation) and generalize to LazySet (#3192)

Bug fixes

  • Fix plotting of 3D singletons via plot (#3143)
  • Fix empty intersection of two VPolygons/VPolytopes (#3147)
  • Fix a crash in ⊆(::LazySet, ::UnionSetArray) (#3154)
  • Let the InverseLinearMap constructors from ZeroSet and EmptySet produce consistent dimensions (#3181)
  • Make dim of ConvexHullArray and UnionSetArray consistent with other array set types (#3172, #3175)
  • LinearMap of an EmptySet now correctly changes the dimension (#3188)
  • ExponentialMap of an EmptySet now correctly changes the dimension (#3189)

Internal changes

  • Outsource ExponentialProjectionMap to its own file (#3189)
  • Outsource FallbackGeneratorIterator to ReachabilityBase (now called ColumnIterator)

Closed issues:

  • Restrict generic inclusion between line segment and lazy sets to convex type (#1856)
  • Extend LazySet to non-convex sets (#1895)
  • Unary convex hull (#2755)
  • Rename VPolygonNC to Polygon (#3137)

Merged pull requests:

Read more

v2.3.0

12 Oct 20:44
829fd1b
Compare
Choose a tag to compare

LazySets v2.3.0

Diff since v2.2.1

Announcements

Contributors for this release:

Breaking changes

  • The normalize option in the Line constructor now defaults to false (#3086)
  • symmetric_interval_hull of an Interval now also returns a Hyperrectangle (makes the function type stable) (#3118)

Features

  • Add reduce_order for SparsePolynomialZonotope (#3069)
  • Add overapproximate of a QuadraticMap of a SparsePolynomialZonotope with a SparsePolynomialZonotope (#3056)
  • Add translate for UnionSetArray (#3070)
  • Add non-convex polygon type VPolygonNC (#3116)

Enhancements

  • Generalize reduce_order to AbstractZonotope (#3071)
  • Generalize box_approximation to LazySet (#3072)
  • Generalize low, high, extrema to LazySet (#3074)
  • Generalize some overapproximate methods to LazySet (#3075)
  • Let box_approximation use extrema, which is sometimes more efficient (#3076)
  • Revise EmptySet code (#3079, #3080)
  • Revise HalfSpace code (#3081)
  • Revise Interval code (#3084, #3087)
  • Revise HParallelotope code (#3085, #3087)
  • Revise Line2D code (#3088)
  • Revise LineSegment code (#3089)
  • Revise Line code (#3086)
  • Revise Hyperplane code (#3090)
  • Revise RotatedHyperrectangle code (#3091)
  • Revise Singleton code (#3092)
  • Revise ZeroSet code (#3093)
  • Revise Universe code (#3094)
  • Revise Hyperrectangle code (#3095)
  • Revise Star code; in particular, rand now returns a more general set (#3096)
  • Revise Zonotope code (#3097)
  • Generalize Javis and Polyhedra interfaces to LazySet (#3098)
  • Revise QuadraticMap code (#3099)
  • Revise sampling code and generalize to LazySet (#3100)
  • Revise HPolytope code (#3102)
  • Add isbounded method for list of constraints (#3102)
  • Revise VPolygon code (#3106)
  • Revise AbstractPolynomialZonotope and AbstractStar code (#3109)
  • Revise helper functions and generalize to LazySet (#3110)
  • Revise Parallel code and generalize to LazySet (#3112)
  • Revise paraview code and generalize to LazySet (#3113)
  • Revise plot3d code and generalize to LazySet (#3114)
  • Revise Complement code and generalize to LazySet (#3104)
  • Revise VPolytope code (#3107)
  • Revise box_approximation ballinf_approximation and symmetric_interval_hull code (#3118)
  • concretize(::SymmetricIntervalHull) does not call concretize recursively anymore (#3118)
  • Revise some Approximations code, in particular extend underapproximate via support-vector queries in given directions to unbounded sets (at least in principle; many sets throw an error in these cases) (#3119)

Bug fixes

  • Fix output dimension of linear_map for an EmptySet (#3079)
  • Fix project of Line2D with block [2, 1] (#3088)
  • Fix normalize option in Line constructor (#3086)
  • Fix linear_map for Line (could fail if the result was a singleton) (#3086)
  • Fix linear_map for ZeroSet (always returned a Float64 set) (#3093)
  • Fix genmat for Hyperrectangles with sparse vectors (#3095)
  • Fix project of VPolygon (#3106)
  • Fix (de)activate_assertions (#3111)
  • Fix translate!, project, and tohrep for VPolytope (#3107)
  • Fix underapproximate with a Hyperrectangle (sometimes crashed) (#3119)

Internal changes

  • Move docstrings for sparse polynomial zonotopes and code of exact_sum to files for binary operations (#3067)
  • Update packages using LazySets (#3066)
  • Reorder polynomial zonotopes in docs (#3083)
  • Remove box_approximation_helper (#3118)

Closed issues:

  • Create single generator for approximately flat LineSegment (#2001)
  • Errors when computing intersection(HPolytope, Zonotope) (#3059)

Merged pull requests:

Read more

v2.2.1

27 Aug 13:29
1cb26f9
Compare
Choose a tag to compare

LazySets v2.2.1

Diff since v2.2.0

Announcements

Contributors for this release:

Features

  • Add minkowski_sum for SparsePolynomialZonotopes (#3057)
  • Add translate for SparsePolynomialZonotope (#3058)

Enhancements

  • Revise BallInf code (#3063)
  • Revise Ellipsoid code (#3065)

Bug fixes

  • Pass @__MODULE__ to require function explicitly (this avoids problems when used from within other modules) (#3064)

Closed issues:

  • ERROR: AssertionError: package 'Polyhedra' not loaded (it is required for executing tohrep) despite it being present (#3062)

Merged pull requests: