Skip to content

Releases: JuliaReach/LazySets.jl

v1.5.3

17 Jan 14:14
a5c6791
Compare
Choose a tag to compare

Announcements

Note: this release is fully compatible with Julia v0.7/1.0 and also with Julia v0.6.

Features

  • added parallel module with box approximation implementation (#905)
  • added UnionSet type (#922)
  • added numeric conversion of HalfSpace (#985)
  • added binary convex hull (polygons, v-polytopes) (#953)

Bug fixes

  • accept arbitrary vectors in σ for HPolyhedron/HPolytope (#1013)

Enhancements

  • allow abstract vector in Singleton (#970)
  • make low/high methods of Interval faster (#971)
  • added copy method to the LazySet interface (#1002)
  • added comparisons in floating point with approximately-zero checks (#929)
  • added faster box approximation of a Zonotope (#1019)
  • faster conversion from Zonotope to HPolytope (#958)

v1.5.2

04 Jan 16:48
b64b9cb
Compare
Choose a tag to compare

Note: this release is fully compatible with Julia v0.7/1.0 and also with Julia v0.6.

Features

  • added constrained_dimensions method for HPolyhedron (#933)
  • binary concrete convex_hull now removes redundant vertices (#944)
  • added ρ for unbounded Hyperplane and HalfSpace (#940)
  • added isbounded methods for all set types (#956)

Bug fixes

  • fixed issubset and box approximation methods for EmptySet (#931)

Minor changes

  • added lazy decompose method using LinearMap (#935)
  • added dimensionality assertions in convex_hull (#945)
  • remove redundant vertices by default in higher-dimensional convex hull with Polyhedra (#944)
  • update plotting recipes for polytopes (#937)
  • low/high for Interval is now consistent with corresponding methods for other AbstractHyperrectangle set types; use min/max for the old behavior (#959)

v1.5.1

28 Nov 12:31
5c72799
Compare
Choose a tag to compare

Note: this release is fully compatible with Julia v0.7/1.0 and also with Julia v0.6.

Features

  • added concrete intersection of Intervals (#890)
  • added rand for creating random sets (#870)

Bug fixes

  • fixed radius hyperrectangle of interval (#866)
  • fixed one and two vertex corner cases of convex hull (#889)
  • fixed concrete intersection of HPpolygons (#884)
  • fixed usage of isdefined when importing from different modules (#910)
  • fixed vertices_list of polygon with infeasible constraints (#919)

Minor changes

  • constraints of new HPolygons are now sorted by default (#896)

v1.5.0

02 Nov 22:48
bda62ac
Compare
Choose a tag to compare

Announcements

This is the last release that supports Julia v0.6.

Features

  • added tohrep/tovrep for HPolytope/VPolytope (also fixes σ for VPolytope) (#603)
  • added == comparison between set types (#604)
  • added conversion from an AbstractHyperrectangle to a polygon or a polytope in constraint representation (#615)
  • added low and high methods for all AbstractHyperrectangle types (#618)
  • added emptiness check for HPolytopes/VPolytopes and their intersection (#624)
  • added a function to control the backend for Polyhedra.jl-related operations (default for Rational numeric types: :exact) (#625)
  • added concrete intersection for HPolytope and VPolytope (#633), for polytopic sets (relying on Polyhedra.jl) (#646), for HPolygons (#651), for HalfSpace and HPolytope (#765), and for HPolyhedron and AbstractPolytope (#774)
  • added empty intersection check for a compact set with Hyperplane (#650), a HalfSpace (#659), and an HPolytope (#713), and for two HalfSpaces (#782)
  • added many convert methods for polytopes (#636)
  • added vertices_list for CartesianProduct(Array), LinearMap, and ExponentialMap (#670)
  • added lazy intersection (support function only) for a compact set with a HalfSpace and Hyperplane (#677, #685, #694)
  • added overapproximate for lazy intersection (support function only) of a polytope with a compact set (#688) and a HalfSpace (#784)
  • added support function for most lazy operations (#716, #717, #719)
  • added conservative emptiness check option for Intersection (#723)
  • added constraints_list methods for VPolygon/VPolytope (#726), LineSegment (#728), Zonotope (#732), Ball1 (#735), HalfSpace (#763), and CartesianProduct(Array) (#761)
  • added isempty method for EmptySet (#741)
  • added constrained_dimensions method for unbounded sets (#760)
  • added HPolyhedron set type (#767)
  • added swap method for Intersection (#819)
  • added isempty methods for most set types (#859)

Bug fixes

  • renamed intersect to intersection for HPolytope/VPolytope (to be consistent with other concrete intersections) (#596)
  • fixed support for Julia v1.0 (#668)
  • fixed vertices_list for Zonotopes in non-2D dimensions (#673)
  • fixed support vector for HalfSpace (#748)
  • fixed binary method ambiguities (#857, #860)

Minor changes

  • renamed interfaces AbstractPointSymmetric and -Polytope to AbstractCentrallySymmetric and -Polytope (#588)
  • Improved norm for hyperrectangular sets (#592)
  • Faster vertices_list implementation for centrally symmetric polytopes with radius 0 (#590)
  • revised plotting of polytopic set types (enabled plotting of 2D VPolytopes without loading Polyhedra.jl; always plot the exact polytope by default (instead of a box approximation)) (#602)
  • removed dependencies Plots.jl and GR.jl (#648)
  • added aliases CompactSet and NonCompactSet (#649)
  • added alias isdisjoint for is_intersection_empty (#655)
  • linear_map tries to preserve the input type for polytopes (#636)
  • made Interval an AbstractHyperrectangle (#687)
  • added boundedness check for support vector of polytope (#711)
  • added constraints_list to AbstractPolytope interface (#734)
  • support vector for empty HPolytope now raises an error message (#752)
  • added a cache to Intersection; now emptiness is determined only once (#796)
  • generalized default is_intersection_empty method (#850)
  • avoid array insertion in iterative refinement (#863)

v1.4.0

23 Aug 15:04
67426ec
Compare
Choose a tag to compare

Announcements

  • We added support for the new Julia version (v0.7/v1). The previous Julia version (v0.6) is still supported.

Features

  • added binary search option to addconstraint! and σ of HPolygon/HPolygonOpt (#379)

Bug fixes

  • fixed membership check of ExponentialMap (#485)
  • fixed inconsistent index caching of HPolygonOpt (#553)
  • fixed error tolerance for Rational types in iterative refinement (#567)

Minor changes

  • renamed is_subset to (#457)
  • made LineSegment a subtype of AbstractPointSymmetricPolytope (#448)
  • made VPolytope's constructor from a VPolygon copy the vertices (instead of sharing) (#464)
  • reordered and added type parameters of LinearMap (#472)
  • unified signature of σ, particularly by requiring the same numeric type for direction and set (#478)

v1.3.0

01 Aug 13:46
53b2e09
Compare
Choose a tag to compare

Features

  • added benchmarking capabilities (#356)
  • added an_element function for LinearMap (#374)
  • added concrete linear_map functions for polytopes and singletons (#373)
  • added lazy IntersectionArray type (#390)
  • added functions to convert into HPolygon from VPolygon, AbstractSingleton, and LineSegment (#376)
  • added concrete intersection of two hyperrectangles (#399)

Bug fixes

  • fixed performance regression in LinearMap (#205)
  • fixed caching issue in CacheMinkowskiSum (#367)
  • fixed crash when printin error message in VPolygon (#393)
  • fixed change of numeric type in LinearMap of ZeroSet (#413)
  • fixed vertices_list of HPolytope (#425)
  • fixed intersect to fall back to Intersection only for LazySet types (#429)
  • fixed SymmetricIntervalHull's radius_hyperrectangle function (#421)

Minor changes

  • fixed Julia v0.7 deprecation warnings (#358, #403, #404)
  • fixed inconsistency in VPolygon (renamed vertices_list field to vertices) (#385)
  • replaced explicit error checks for function inputs by @assert (#392)
  • added fixed version numbers for package in REQUIRE (#418)
  • changed numeric type of Ellipsoid to AbstractFloat (#434)
  • changed return type of intersection of two Lines to a Singleton (#408)

v1.2.2

27 May 19:33
92e7920
Compare
Choose a tag to compare

Features

  • added an interface to define template directions (#330, #334, #352)
  • added a caching lazy Minkowski sum type (#349, #354)

Bug fixes

  • fixed constructor for rational Interval (#325)
  • fixed conversion from HPolytope to HPolygon (#341)
  • add Compat to the REQUIRE file, LazySets now precompiles in v0.7 (#353) (but tests fail)

Minor changes

  • made overapproximate with the same type for any LazySet a no-op (#328)
  • updated the installation note, since LazySets is now registered in METADATA, the repository of registered Julia packages (#327)
  • fixed deprecations for concrete polyhedra doctests (#329)

v1.2.1

13 May 17:50
59b2036
Compare
Choose a tag to compare

Bug fixes

  • fixed vector-set multiplication (#321)

v1.2.0

08 Apr 14:52
3b87093
Compare
Choose a tag to compare

Features

  • added intersection check for Zonotope and Hyperplane (#208)
  • added order reduction for Zonotopes (#211)
  • added default an_element function implementation (#216)
  • added VPolytope (#217)
  • added array getter for n-ary operations (#226)
  • added conversion between some set types (#225, #227)
  • added PolynomialZonotope (#184), then moved to PolynomialZonotopes.jl
  • added a convex hull of zonotopes overapproximate method into a zonotope (#229)
  • added LineSegment (#231)
  • generalized decomposition into arbitrary block structures (#259, #282)
  • added Interval (#277, #316)

Bug fixes

  • fixed scalar multiplication of LinearMap (#204)
  • fixed sparse direction in support vector computation of ExponentialMap (#207)
  • fixed plotting of a vector of Zonotopes (2e779b9)
  • fixed membership test for Zonotopes (#247)
  • fixed singleton_list function (#252)
  • fixed containment of CartesianProductArray (#252)
  • fixed assertion error in iterative refinement (#260)
  • fixed plot recipes for polytopes (#276)
  • fixed slowdowns with support vector functions (#291, #294)
  • fixed creation of empty HPolygons/HPolytopes (#320)

Minor changes

  • Line became a LazySet type (#233)
  • better error message for support vector of empty HPolytope (#252)
  • more consistent array set types (#236, #268)
  • overapproximate(S) now returns an n-dimensional Hyperrectangle (#271, #289)
  • changed output type of ExponentialMap's get_rows/get_columns to dense matrices (#304)
  • revised SparseMatrixExp (#307, #309, #312, #313)

v1.1.0

28 Jan 14:56
db2f42a
Compare
Choose a tag to compare

Features

  • added is_intersection_empty for two Ball2s
  • added (high-dimensional) HPolytope type
  • added (partial) lazy Intersection type
  • added lazy SymmetricIntervalHull type
  • added Ellipsoid type
  • added Hyperplane and HalfSpace types
  • added ConvexHullArray type
  • added concrete operations on zonotopes
  • added external Polyhedra library
  • improved support for numeric types such as Rational

Bug fixes

  • fixed 2D Hyperrectangle decomposition
  • fixed inverted behavior of is_intersection_empty
  • fixed some plot recipes for numeric types
  • fixed partial y-axis labels in documentation plots
  • fixed support vector for Ball1
  • fixed method ambiguities for is_subset and is_intersection_empty

Minor changes

  • added an assertion to check congruence to the LinearMap constructor
  • added required numeric type to LazySet and all subtypes