Source code for cpsim.formal.half_space

import matplotlib.pyplot as plt
import numpy as np


[docs] class HalfSpace: """ normal vector - l The half space is defined as l^T x > b """ def __init__(self, l: np.ndarray, b: [int, float]): self.l = l self.b = b self.dim = l.shape[0]
[docs] def plot(self, x1, x2, fig=None): if self.dim != 2: return NotImplemented y1 = (self.b - x1 * self.l[0]) / self.l[1] y2 = (self.b - x2 * self.l[0]) / self.l[1] if fig is None: fig = plt.figure() X = [x1, x2] Y = [y1, y2] plt.plot(X, Y) if fig is None: plt.show() return fig