Skip to content

Releases: JuliaReach/LazySets.jl

v1.23.0

23 Nov 17:19
v1.23.0
dc391a1
Compare
Choose a tag to compare

Announcements

This release is compatible with the current stable Julia v1.2 and the upcoming Julia v1.3.

Features

  • Set difference between axis-aligned boxes (#1790)

v1.22.0

28 Oct 02:02
v1.22.0
375c103
Compare
Choose a tag to compare

v1.22.0 (2019-10-28)

Diff since v1.21.0

Announcements

This release is compatible with the current stable Julia v1.2 and the upcoming Julia v1.3.
Upper bounds have been added to all dependencies (#1782), as required by the new automatic merging mechanism for the General registry.

Breaking changes

  • changed interface of linear_map for polyhedra: option use_inv is now part of the more general option algorithm (#1713) and the default algorithm is chosen consistently (in particular we check for full row rank for "division" algorithm) (#1777)

Features

  • added chebyshev_center function for polyhedra and Ball2 (#1696)
  • added lazy Bloating operation (#1778)

Enhancements

  • added options to linear_map for 1) using the constraint representation without invertibility check, 2) using the vertex representation for invertible matrices, and 3) passing the inverse matrix directly (#1713)
  • overload overapproximate for the reduction of the order of a zonotope (#1766)

Bug-fixes

  • fixed division by zero in constraints_list of Zonotopes (#1773)
  • fixed constraints_list of Zonotopes with sparse generator matrix (#1774)

v1.21.0

10 Oct 19:29
v1.21.0
bbda6f2
Compare
Choose a tag to compare

Announcements

This release is compatible with the new Julia version 1.2 and the upcoming Julia version 1.3.
Continuous integration under Windows has been added (#1739).

First-time contributors:

Breaking changes

  • allow AbstractVectors in Hyperrectangle fields (#1717)
  • apply a convex-hull algorithm (which removes duplicates) when computing the vertices_list of an HPolygon by default (#1719)

Features

  • added functions to (de)activate assertions (#1732)
  • added isoperation and isoperationtype functions (#1734)
  • added conversion between LazySets.Interval and IntervalArithmetic.Interval (#1764)

Enhancements

  • faster method for isdisjoint(::CartesianProductArray, ::HalfSpace) (#1730)
  • made box_approximation and ballinf_approximation aliases of overapproximate (#1716)
  • added option to compute support function for lazy Intersection containing a polyhedron with the (imprecise but cheap) fallback implementation (#1749)
  • inner constructor check in SparseMatrixExp (#1743)
  • faster support function/vector for CartesianProductArray and sparse direction vector (#1735)
  • conversion from IntervalArithmetic.IntervalBox to LazySets.Hyperrectangle now preserves the representation of intervals as static arrays (#1763)
  • various documentation improvements (#1762, #1750)

Bug-fixes

  • remove duplicate vertex when applying convex_hull to a set or list consisting of a single point (#1718)
  • fixed constrained_dimensions of a polyhedron without constraints (#1752)
  • fixed concrete intersection of a CartesianProductArray and a polyhedron without constraints (#1754)

v1.20.0

24 Sep 14:40
v1.20.0
d37e8ce
Compare
Choose a tag to compare

Announcements

This release is compatible with the new Julia version 1.2 and the upcoming Julia version 1.3.

Breaking changes

  • upgrade JuMP to v0.20 (#1668)

Features

  • added concrete affine_map operation (#1692)
  • added concrete reflect operation (#1689)
  • added concrete is_interior_point function for error-tolerant membership checks (#1690)

Enhancements

  • fixed compatibility for Julia v1.2 (#1675)
  • allow creation of Polyhedra backend with arbitrary numeric type (#1710)

Bug-fixes

  • fixed plotting of empty polyhedra (#1706)

v1.19.0

11 Sep 08:29
v1.19.0
645799a
Compare
Choose a tag to compare

Breaking changes

  • downgraded dependency Distributions.jl due to upstream incompatibilities (#1665)

Features

  • rejection sampling for an arbitrary LazySet (#1612)
  • overapproximation of ResetMap by CartesianProductArray (#1677)

Enhancements

  • revised lazy-map constructors (#1627)
  • added a dimensional check in the zonotope constructor (#1664)
  • (internal:) changed the directory structure of the package by adding more subdirectories; this change does not affect the programmatic behavior, but (hopefully) simplifies the navigation for developers (#1656)
  • generalized overapproximation methods for Zonotopes to AbstractZonotope (#1681)

Bug-fixes

  • fixed a 4-point convex-hull special case when the points are aligned (#1673)

v1.18.1

30 Aug 13:49
v1.18.1
fb12af3
Compare
Choose a tag to compare

Enhancements

  • generalized Zonotope methods to AbstractZonotope (#1635)

Bug-fixes

  • fixed compilation problems on Windows due to type parameters (#1640)

v1.18.0

30 Aug 09:28
v1.18.0
02e561c
Compare
Choose a tag to compare

Features

  • added hausdorff_distance function to compute the Hausdorff distance between two sets (#1538)
  • added alternative Zonotope overapproximation of the convex hull of two zonotopes (#1397)
  • added concrete intersection between CartesianProductArray and AbstractPolyhedron (#1608)
  • added concrete convex_hull of polytopic sets (#1637)
  • added implementing_sets function to obtain the list of LazySet types that implement a set operation (#1616)
  • added concrete linear_map for polyhedral CartesianProducts and CartesianProductArrays (#1618)

Bug-fixes

  • fixed ambiguities for lazy Intersection of polyhedra (#1354)
  • fixed set membership test for VPolytope (#1646)

v1.17.0

23 Aug 14:42
v1.17.0
c4e52db
Compare
Choose a tag to compare

Announcements

First-time contributors:

Breaking changes

  • removed CartesianProduct constructor from an array; use CartesianProductArray instead (#1580)
  • the previous default_lp_solver got renamed to default_lp_solver_polyhedra (#1620)
  • we use a new default LP solver for Rational numbers, which may break previously-working code; if that causes problems, consider converting to Float64 first (#1620)

Features

  • a new underapproximate function to compute underapproximations of convex sets (#1551)
  • added overapproximate for an interval linear map of a zonotope (#1427)
  • added concrete minkowski_difference for a polyhedron and a compact convex set (#1614)

Enhancements

  • the function project is now exported from the LazySets.Approximations module (#1571)
  • more efficient ngens method for AbstractHyperrectangle (#1573)
  • robust set membership for AbstractHyperrectangle (#1577)
  • make Translation of LinearMap an AffineMap (#1553)
  • the default LP solver is now chosen centrally in default_lp_solver, which uses an :Exact solver for Rationals (#1620)

Bugfixes

  • fixed the concrete minkowski sum of polygons with small number of vertices (#1601)
  • fixed CDDLib interface for Rational numbers (#1596)
  • fixed the minkowski_sum method for general LazySets (#1595)
  • fixed a typo in export minkowsi_sum (#1598)
  • fixed missing type parameter in Translation constructor (could cause an unreachable reached error) (#1553)

v1.16.0

07 Aug 13:54
v1.16.0
8644313
Compare
Choose a tag to compare

This release was prepared during JuliaReachDays1.

Announcements

  • the functionality of the Approximations module is now exported (this adds the new package requirement Reexport) (#1567)

Breaking changes

  • we now return a Diagonal matrix for get_A(::ResetMap) (#1522)
  • added explicit requirement that SymmetricIntervalHull is only applied to a bounded set (#1525)
  • we now explicitly check that low < high in the corresponding
    Hyperrectangle constructor (#1520)

Features

  • optional global tolerance setting for numeric comparisons (#1510)
  • concrete Minkowski sum in halfspace representation (#1508)
  • added lazy AffineMap set type (#1360)
  • support function for Rectification (#1381)
  • added CustomDirections and isbounding methods for AbstractDirections (#1293)
  • added concrete rectification for hyperrectangular sets (#1552)
  • added constraints_list of a polyhedral MinkowskiSum (#1569)

Enhancements

  • generalized some is_intersection_empty methods to AbstractPolyhedron (#1501)
  • added internal methods right_turn(u, v) and is_right_turn(O, u, v) (#1514)
  • defined absorbing elements for map types (#1519)
  • generalized isdisjoint(::CPA, ::HPolyhedron) to AbstractPolyhedron (#1502)
  • declared neutral element of UnionSet (#1516)
  • asserted compactness in some support-function methods of Intersection and generalized to AbstractPolyhedron (#1517)
  • faster intersection check between CartesianProductArray and AbstractHyperrectangle (#1458)
  • faster support vector/function for BallInf (#1466)
  • use LazySets._rtol in the Approximations module instead of TOL (#1554)
  • faster vertices_list for AbstractHyperrectangles (particularly flat ones) (#1467)
  • remove redundancies in zonotope's vertices list (#1550)
  • generalized inclusion check of a LazySet in a polyhedral LazySet (previously: LazySet in an AbstractPolyhedron) (#1566)
  • concrete minkowski_sum of two AbstractHyperrectangles now returns a Hyperrectangle (#1568)

Bug fixes

  • fixed is_intersection_empty of Universe and Hyperplane
    (#1501)
  • conversion from a Polyhedra.Halfspace whose normal direction is ignored (#1542)
  • fixed repeated-constraint removal from list of constraints (#1549)

v1.15.0

30 Jul 20:00
v1.15.0
474691f
Compare
Choose a tag to compare

Breaking changes

  • renamed internal _to_minus_vector -> to_negative_vector function (#1504)
  • added explicit non-zero requirement to normal direction of Line/Hyperplane/HalfSpace (note that this was already required implicitly before) (#1528)
  • removed algorithm argument from support-vector method of VPolytope (#1530)

Features

  • added Muller's algorithm to uniformly sample balls and spheres, and application to sample a Ball2 (#1503)
  • added isflat method for BallInf and Hyperrectangle (#1524)
  • added swap methods to binary lazy set operations (#1526)
  • added 3D plotting with Makie and Polyhedra's Mesh (#1260)

Enhancements

  • added binary search strategy for VPolygon support vector (#1475)
  • added Universe to CompactSet interface (#1529)
  • added negation (unary -) of SingleEntryVector (#1523)
  • use dispatch for isuniversal of unbounded set types (#1527)
  • faster support vector/support function for VPolytope (#1530)