Esempio n. 1
0
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
Esempio n. 2
0
 def __le__(self, other):
     """Inequality : Creates an inequality constraint ``self <= other``.
     """
     return Inequality(self, other)