Releases: JuliaReach/LazySets.jl
Releases · JuliaReach/LazySets.jl
v1.23.0
v1.22.0
v1.22.0 (2019-10-28)
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: optionuse_inv
is now part of the more general optionalgorithm
(#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 andBall2
(#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
v1.21.0
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
AbstractVector
s inHyperrectangle
fields (#1717) - apply a convex-hull algorithm (which removes duplicates) when computing the
vertices_list
of anHPolygon
by default (#1719)
Features
- added functions to (de)activate assertions (#1732)
- added
isoperation
andisoperationtype
functions (#1734) - added conversion between
LazySets.Interval
andIntervalArithmetic.Interval
(#1764)
Enhancements
- faster method for
isdisjoint(::CartesianProductArray, ::HalfSpace)
(#1730) - made
box_approximation
andballinf_approximation
aliases ofoverapproximate
(#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
toLazySets.Hyperrectangle
now preserves the representation of intervals as static arrays (#1763) - various documentation improvements (#1762, #1750)
Bug-fixes
v1.20.0
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
Breaking changes
- downgraded dependency
Distributions.jl
due to upstream incompatibilities (#1665)
Features
- rejection sampling for an arbitrary
LazySet
(#1612) - overapproximation of
ResetMap
byCartesianProductArray
(#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
Zonotope
s toAbstractZonotope
(#1681)
Bug-fixes
- fixed a 4-point convex-hull special case when the points are aligned (#1673)
v1.18.1
v1.18.0
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
betweenCartesianProductArray
andAbstractPolyhedron
(#1608) - added concrete
convex_hull
of polytopic sets (#1637) - added
implementing_sets
function to obtain the list ofLazySet
types that implement a set operation (#1616) - added concrete
linear_map
for polyhedralCartesianProduct
s andCartesianProductArray
s (#1618)
Bug-fixes
v1.17.0
Announcements
First-time contributors:
Breaking changes
- removed
CartesianProduct
constructor from an array; useCartesianProductArray
instead (#1580) - the previous
default_lp_solver
got renamed todefault_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 toFloat64
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 theLazySets.Approximations
module (#1571) - more efficient
ngens
method forAbstractHyperrectangle
(#1573) - robust set membership for AbstractHyperrectangle (#1577)
- make
Translation
ofLinearMap
anAffineMap
(#1553) - the default LP solver is now chosen centrally in
default_lp_solver
, which uses an:Exact
solver forRational
s (#1620)
Bugfixes
- fixed the concrete minkowski sum of polygons with small number of vertices (#1601)
- fixed
CDDLib
interface forRational
numbers (#1596) - fixed the
minkowski_sum
method for generalLazySets
(#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
This release was prepared during JuliaReachDays1.
Announcements
- the functionality of the
Approximations
module is now exported (this adds the new package requirementReexport
) (#1567)
Breaking changes
- we now return a
Diagonal
matrix forget_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
andisbounding
methods forAbstractDirections
(#1293) - added concrete rectification for hyperrectangular sets (#1552)
- added
constraints_list
of a polyhedralMinkowskiSum
(#1569)
Enhancements
- generalized some
is_intersection_empty
methods toAbstractPolyhedron
(#1501) - added internal methods
right_turn(u, v)
andis_right_turn(O, u, v)
(#1514) - defined absorbing elements for map types (#1519)
- generalized
isdisjoint(::CPA, ::HPolyhedron)
toAbstractPolyhedron
(#1502) - declared neutral element of
UnionSet
(#1516) - asserted compactness in some support-function methods of
Intersection
and generalized toAbstractPolyhedron
(#1517) - faster intersection check between
CartesianProductArray
andAbstractHyperrectangle
(#1458) - faster support vector/function for
BallInf
(#1466) - use
LazySets._rtol
in theApproximations
module instead ofTOL
(#1554) - faster
vertices_list
forAbstractHyperrectangle
s (particularly flat ones) (#1467) - remove redundancies in zonotope's vertices list (#1550)
- generalized inclusion check of a
LazySet
in a polyhedralLazySet
(previously:LazySet
in anAbstractPolyhedron
) (#1566) - concrete
minkowski_sum
of twoAbstractHyperrectangle
s now returns aHyperrectangle
(#1568)
Bug fixes
v1.15.0
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 ofVPolytope
(#1530)
Features
- added Muller's algorithm to uniformly sample balls and spheres, and application to sample a
Ball2
(#1503) - added
isflat
method forBallInf
andHyperrectangle
(#1524) - added
swap
methods to binary lazy set operations (#1526) - added 3D plotting with Makie and Polyhedra's
Mesh
(#1260)