correct lipshitz bound for stl predicates
This commit is contained in:
parent
6489667970
commit
0d4a703dcc
1 changed files with 5 additions and 5 deletions
10
stl/utils.py
10
stl/utils.py
|
|
@ -121,12 +121,12 @@ def from_mtl(phi:MTL, ap_map:Dict[AtomicPred, LinEq]) -> STL:
|
||||||
focus = AP_lens(phi)
|
focus = AP_lens(phi)
|
||||||
return focus.modify(ap_map.get)
|
return focus.modify(ap_map.get)
|
||||||
|
|
||||||
|
def _lineq_lipschitz(lineq):
|
||||||
|
return sum(map(abs, lens(lineq).terms.each_().coeff.get_all()))
|
||||||
|
|
||||||
def linear_stl_lipschitz(phi):
|
def linear_stl_lipschitz(phi):
|
||||||
r = max(abs(c) for c in terms_lens(phi).coeff.get_all())
|
"""Infinity norm lipschitz bound of linear inequality predicate."""
|
||||||
try:
|
return float(max(map(_lineq_lipschitz, lineq_lens(phi).get_all())))
|
||||||
return float(r)
|
|
||||||
except TypeError:
|
|
||||||
return r
|
|
||||||
|
|
||||||
# EDSL
|
# EDSL
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue