def inequality_canon(expr, real_args, imag_args, real2imag): if imag_args[0] is None and imag_args[1] is None: return [expr.copy(real_args)], None # Fill in missing args with zeros. for i in range(len(imag_args)): if imag_args[i] is None: imag_args[i] = Constant(np.zeros(real_args[i].shape)) imag_cons = [ Inequality(imag_args[0], imag_args[1], constr_id=real2imag[expr.id]) ] if real_args[0] is None and real_args[1] is None: return None, imag_cons else: # Fill in missing args with zeros. for i in range(len(real_args)): if real_args[i] is None: real_args[i] = Constant(np.zeros(imag_args[i].shape)) return [expr.copy(real_args)], imag_cons
def __le__(self, other): """Inequality : Creates an inequality constraint ``self <= other``. """ return Inequality(self, other)