Releases: JuliaReach/LazySets.jl
Releases · JuliaReach/LazySets.jl
v2.11.0
v2.10.0
LazySets v2.10.0
Announcements
Contributors for this release:
Breaking changes
- Remove confusing constructor method of a
Line2D
from aHalfSpace
(#3366)
Features
- Add
intersection
ofCartesianProduct
with polyhedron (#3361) - Add
area
forBall2
(#3365) - Add
difference
ofInterval
andHalfSpace
(#3351) - Add
AbstractBallp
interface with internal functionsradius_ball
andball_norm
to share common code between p-norm balls. This also adds some new methods and improves some old methods for p-norm balls. (#3368)
Enhancements
constraints_list
: faster forAbstractHyperrectangle
and alternative forAbstractSingleton
(#3363)- Better
linear_map
ofAbstractZonotope
for 1D output (#3364) - Faster
area
forBallInf
andAbstractHyperrectangle
(#3365) - Add
normalize
option toLine
constructor (#3367) - Simplify
intersection
result with unions (#3352)
Bug fixes
- Fix
issubset
of interval in union (#3351)
Internal changes
Closed issues:
- Add interface for balls (#1629)
- Concrete Minkowski sum of balls (#1630)
- Update "How to cite" in manual (#3347)
Merged pull requests:
- difference of Interval and HalfSpace & fix issubset of interval in union (#3351) (@schillic)
- Remove empty sets from intersection with union (#3352) (@schillic)
- #3347 - Add link to CITATION.bib to manual (#3354) (@schillic)
- intersection of CartesianProduct with polyhedron (#3361) (@schillic)
- constraints_list: faster for AbstractHyperrectangle and alternative for AbstractSingleton (#3363) (@schillic)
- Better linear_map of AbstractZonotope for 1D output (#3364) (@schillic)
- area: add for Ball2 and faster for BallInf and AbstractHyperrectangle (#3365) (@schillic)
- Line2D: merge docs, remove method from HalfSpace (#3366) (@schillic)
- Line: merge constructor docs to struct docs, add normalize option (#3367) (@schillic)
- Add AbstractBallp interface (#3368) (@schillic)
- Automatic JuliaFormatter.jl run (#3372) (@github-actions[bot])
- Update Project.toml (#3373) (@mforets)
v2.9.0
LazySets v2.9.0
Announcements
Contributors for this release:
Features
- Revise binary and n-ary lazy operations (#3358)
- new exported functions:
flatten
;length
andgetindex
for binary operations;iterate
- define a default
∈
(for getting an error message instead of a wrong default via iterate) - new internal features (not exported):
@declare_binary_operation
(some internal convenience definitions);first
andsecond
for binary operations;concrete_function
(allows to defineconcretize
only once)
- new exported functions:
Enhancements
- Better
constraints_list
of 1D and 2DVPolytopes
(#3350) - Switch from thread-local to task-local LP solvers (#3356)
- Fix plot of
UnionSet
andUnionSetArray
(#3355, #3359) - Generalize
linear_map_inverse
toaffine_map_inverse
(both unexported functions) (#3360)
Internal changes
Closed issues:
- Add interfaces for operation set types (#269)
- Add decomposition for HalfSpaces (#1086)
- Extra allocation in inclusion test for UnionSet (#1857)
- Extra allocs in disjointness checks for unions (#1858)
Merged pull requests:
- Better constraints_list of 1D/2D VPolytopes (#3350) (@schillic)
- Fix plot of union (#3355) (@schillic)
- Switch from thread-local to task-local LP solvers (#3356) (@Zinoex)
- Replace ColumnIterator with eachcol (#3357) (@schillic)
- Revise binary and n-ary lazy operations (#3358) (@schillic)
- Fix plotting (#3359) (@schillic)
- Generalize linear_map_inverse to affine_map_inverse (#3360) (@schillic)
- Automatic JuliaFormatter.jl run (#3362) (@github-actions[bot])
- Adapt to ReachabilityBase v0.2 (#3369) (@schillic)
- v2.9.0 (#3371) (@schillic)
v2.8.0
LazySets v2.8.0
Announcements
Contributors for this release:
- Marcelo Forets (@mforets)
- Christian Schilling (@schillic)
- Frederik Baymler Mathiesen (@Zinoex)
- Peng Yu (@yupbank)
Features
- Add
linear_map
andaffine_map
forEllipsoid
(#3323) - Add support vector and support function for
Polygon
(#3325) - Add some
scale
andscale!
methods (#3326) - Add inclusion check for nonconvex sets and zonotopic sets in a polyhedron (#3328)
- Add
tohrep
/tovrep
for general polyhedral sets (#3329) - Add
isfeasible
check for a list of linear constraints (#3338)
Enhancements
- Do not use
GLPK
's presolver for removing redundant vertices (printed expected warnings about infeasibility) (#3333) - Faster disjointness check between zonotopic sets and polyhedra (#3334)
- Added generic
overapproximate
by falling back toconvert
(#3335) - Overhaul usage of LP solver (cache default LP model, allow to pass a
JuMP
model directly, faster constraint generation) (#3340) - Support additional LP-solver status and throw
ArgumentError
for infeasible LP (#3344)
Bug fixes
- Fix special cases in
linear_map_inverse
(#3348)
Internal changes
- Simplify code in 2D
minkowski_sum
(#3327) - 2D zonotope vertex enumeration with linear complexity (currently unused) (#2288)
- Example for
ExponentialProjectionMap
docs (#3330) - Code polishing related to
one
/ones
(#3339)
Closed issues:
- Use SingleEntryVector type (#538)
- Add an example in the ExponentialProjectionMap type (#960)
- Add function to check the feasibility of a list of linear constraints (#1057)
- Fallback tovrep implementation (#1134)
- Generic overapproximate by falling back to convert (#1229)
- Fast disjointness test for zonotope and half-space (#1286)
- Add more methods for scale (#2610)
- Simplify code in 2D minkowski_sum (after Julia error gets fixed) (#2778)
- glp_simplex warning in remove_redundant_vertices (#3226)
- Use autoformatter? (#3251)
- Support vector of Polygon (#3324)
- Caching the JuMP model in linprog (#3336)
Merged pull requests:
- General 2d Zonotope vertex enumeration with linear complexity (#2288) (@yupbank)
- Add linear_map and affine_map for Ellipsoid (#3323) (@schillic)
- #3324 - Support vector/function for Polygon (#3325) (@schillic)
- #2610 - Add scale and scale! methods (#3326) (@schillic)
- #2778 - Simplify code in 2D minkowski_sum (#3327) (@schillic)
- Inclusion check for nonconvex sets and zonotopic sets in polyhedron (#3328) (@schillic)
- #1134 - tohrep/tovrep for general polyhedral sets (#3329) (@schillic)
- #960 - Add example to ExponentialProjectionMap docs (#3330) (@schillic)
- Do not use GLPK's presolver for removing redundant vertices (#3333) (@schillic)
- Specialized disjointness check between zonotope and polyhedron (#3334) (@schillic)
- #1229 - Generic overapproximate by falling back to convert (#3335) (@schillic)
- Auto-format script (#3337) (@schillic)
- #1057 - Feasibility test for a list of linear constraints (#3338) (@schillic)
- Minor code polishing (#3339) (@schillic)
- #3336 - Cache default LP model (#3340) (@Zinoex)
- Add package bounds to test/Project.toml (#3343) (@schillic)
- Support additional solver status and throw ArgumentError (#3344) (@schillic)
- Format and rearrange code (#3346) (@schillic)
- Fix special cases in linear_map_inverse (#3348) (@schillic)
- Update Project.toml (#3349) (@mforets)
v2.7.6
v2.7.5
LazySets v2.7.5
Announcements
Contributors for this release:
Features
- 3D plot recipe with
Plots
for polytopic sets (#3281) minkowski_difference
for hyperrectangular sets (#3269)volume
for polygons (#3295)- Allow scalar argument for
linear_map
(falls back toscale
) andaffine_map
(#3284) - Add
minkowski_difference
for zonotopes in 1D and 2D (#3270) - Maximum volume
Ellipsoid
in a polyhedral set (#3293) - Add
□
and○
convenience functions (#3314) - Convenience constructor of
ExponentialMap
from sparse matrix (#3296) - Convenience constructors for some n-ary lazy operations (#3316)
Enhancements
- Specialized support function for
VPolytope
(#3276) - Allow to pass kwargs to
_expmv
and add method with default backend (#3310) - Faster
concretize
ofConvexHullArray
of polytopes (#3307) - Faster
area
forVPolygon
(#3295) - Condition shortcut in
same_side
(#3306) - Specialized support function for
Ball1
andBall1
(#3274) - Specialized support function for
LineSegment
(#3275) - Specialized support function for
ExponentialProjectionMap
(#3280) - Define
convert
methods toHPolygon
in eval loop (#3291) - More efficient support vector for
UnionSet
andUnionSetArray
(#3308) - Define
==
forIntersection
to ignore the cache (#3316) - Quick sufficient
isdisjoint
check (#3283) - Make membership check in
AbstractZonotope
more efficient (#3321)
Bug fixes
- Fix
intersection
ofUnionSetArray
andInterval
(#3313) - Fix kwargs in
default_lp_solver_polyhedra
(#3320)
Internal changes
- Fix typos (#3305)
- Require
PkgVersion
in tests (#3289) - Helper functions to simplify witness code (#3279)
- Change error in
SparseMatrixExp
constructor toArgumentError
(#3309) - Format code (#3320)
Closed issues:
- Recipes for 3D Plots (#35)
- Use some more unicode operators as short hands (#822)
- ExponentialMap constructor from SparseMatrixCSC and set (#823)
- Concrete convex hull from ConvexHull(Array) of polytopes (#948)
- More efficient support vector/function for UnionSetArray (#993)
- Revise supp function of lazy intersection of polyhedra (#1127)
- Annotate block_options in decompose (#1202)
- Maximum volume ellipsoid in a polyhedral set (#1712)
- Concrete minkowski difference for hyperrectangular sets (#1721)
- typos and spelling (#3302)
Merged pull requests:
- #1721 - Concrete minkowski difference for hyperrectangular sets (#3269) (@schillic)
- Add minkowski_difference for zonotopes in 1D and 2D (#3270) (@schillic)
- #600 - Specialized support function for Ball1 and Ballp (#3274) (@schillic)
- #600 - Specialized support function for LineSegment (#3275) (@schillic)
- #600 - Specialized support function for VPolytope (#3276) (@schillic)
- Helper functions to simplify witness code (#3279) (@schillic)
- #600 - Specialized support function for ExponentialProjectionMap (#3280) (@schillic)
- #35 - 3D plot recipe for polytopes (#3281) (@schillic)
- Quick sufficient isdisjoint check (#3283) (@schillic)
- Allow linear_map and affine_map with a scalar (#3284) (@schillic)
- Better test for package version (#3289) (@schillic)
- Define convert methods to HPolygon in eval loop (#3291) (@schillic)
- #1712 - Maximum volume ellipsoid in a polyhedral set (#3293) (@schillic)
- Volume for polygons and faster area for VPolygon (#3295) (@schillic)
- #823 - Convenience constructor of ExponentialMap from sparse matrix (#3296) (@schillic)
- #3302 - Fix typos (#3305) (@schillic)
- Condition shortcut in same_side (#3306) (@schillic)
- #948 - Faster concretize of ConvexHullArray of polytopes (#3307) (@schillic)
- #993 - More efficient support vector for UnionSet and UnionSetArray (#3308) (@schillic)
- Change error to ArgumentError (#3309) (@schillic)
- Allow to pass kwargs to _expmv and add method with default backend (#3310) (@schillic)
- Fix intersection of UnionSetArray and Interval (#3313) (@schillic)
- #822 - Unicode operators (#3314) (@schillic)
- Convenience constructors and == for Intersection (#3316) (@schillic)
- Update CI scripts (#3318) (@schillic)
- Update docs (#3319) (@schillic)
- Format code (#3320) (@schillic)
- More efficient membership check in AbstractZonotope (#3321) (@schillic)
v2.7.4
LazySets v2.7.4
Announcements
Contributors for this release:
- Marcelo Forets (@mforets)
- Christian Schilling (@schillic)
- Luca Ferranti (@lucaferranti)
Features
- Add support function for
SparsePolynomialZonotope
(#3073) - Add
sample
method forDensePolynomialZonotope
(#3268)
Enhancements
- Faster brute-force search in support-vector computation of
VPolygon
(#3277) - Add
Real
type restriction tonormalize
(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
∈
forTetrahedron
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:
- support function for SPZ (#3073) (@lucaferranti)
- Add sample method for DensePolynomialZonotope (#3268) (@schillic)
- Fix warnings raised by linter (#3273) (@schillic)
- Faster brute-force search in support-vector computation of VPolygon (#3277) (@schillic)
- Add dependabot (#3285) (@schillic)
- Bump actions/checkout from 2 to 3 (#3286) (@dependabot[bot])
- Bump codecov/codecov-action from 2 to 3 (#3287) (@dependabot[bot])
- Also run CompatHelper in test folder (#3288) (@schillic)
- Add invalidations CI script (#3290) (@schillic)
- Outsource solver code to separate file (#3292) (@schillic)
- Update README and scripts (#3294) (@schillic)
- Change normalize to resolve ambiguities in v1.9 (#3298) (@schillic)
- Generalize check if point is in hyperplane (#3304) (@mforets)
v2.7.3
LazySets v2.7.3
Announcements
Contributors for this release:
Features
- Add
complement
methods forEmptySet
andUniverse
(#3256) - Add
ngens
methods forBallInf
,Interval
andLineSegment
(#3255) - Add
reflect
methods forEmptySet
,Interval
,ZeroSet
,VPolytope
andUniverse
(#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
ofLineSegment
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
ofSimpleSparsePolynomialZonotope
with aZonotope
always return aZonotope
(#3262) - Add
overapproximate
method forDensePolynomialZonotope
with aZonotope
(#3262)
Bug fixes
- Fix function error (
raise
->throw
) (#3252)
Internal changes
- Revise interface tests (#3264)
- Use short form
IA
ofIntervalArithmetic
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:
- Fix function error (raise -> throw) (#3252) (@schillic)
- #3117 - Generalize exponential backend in symmetric_interval_hull methods (#3253) (@schillic)
- More reflect methods and docs/tests (#3254) (@schillic)
- Add ngens methods (#3255) (@schillic)
- Add complement methods (#3256) (@schillic)
- Let generators of LineSegment return an iterator (#3257) (@schillic)
- Add option to get 2D Delaunay triangulation for 3D sets (#3260) (@schillic)
- #3194 - Remove AbstractStar interface (#3261) (@schillic)
- #230 - Overapproximate DensePolynomialZonotope with Zonotope (#3262) (@schillic)
- Add Tetrahedron set type (#3263) (@mforets)
- Revise interface tests (#3264) (@schillic)
- import IntervalArithmetic as IA (#3265) (@schillic)
- #232 - Remove constructor lists from docs (#3266) (@schillic)
- Membership check for Tetrahedron (#3267) (@mforets)
v2.7.2
v2.7.1
LazySets v2.7.1
Announcements
Contributors for this release:
Enhancements
- Add
linear_map
for general polyhedral sets (#3246) - Add
reflect
methods forAbstractZonotope
,AbstractHyperrectangle
,AbstractSingleton
(#3248)
Internal changes
- Add missing backslash in docstring (#3247)
Closed issues:
- Add common polytopic methods to lazy operations (#996)
Merged pull requests: