diff --git a/stl/utils.py b/stl/utils.py index c5fa732..2d4a7e4 100644 --- a/stl/utils.py +++ b/stl/utils.py @@ -122,12 +122,12 @@ def from_mtl(phi:MTL, ap_map:Dict[AtomicPred, LinEq]) -> STL: return focus.modify(ap_map.get) -def lineq_lipschitz(lineq): - """1 norm lipschitz bound of linear inequality predicate.""" - return sum(map(abs, lens(lineq).terms.each_().coeff.get_all())) - def linear_stl_lipschitz(phi): - return max(map(lineq_lipschitz, lineq_lens(phi).get_all())) + r = max(abs(c) for c in terms_lens(phi).coeff.get_all()) + try: + return float(r) + except TypeError: + return r # EDSL