'Temporary method to determine whether the given Problem object is suitable for LS solver.'

def suitable(self, prob):

    import cvxpy.constraints.eq_constraint as eqc
    import cvxpy.expressions.variables as var
    allowedVariables = (var.variable.Variable, var.symmetric.SymmetricUpperTri)
    return (prob.is_dcp() and prob.objective.args[0].is_quadratic() and (not prob.objective.args[0].is_affine()) and all([isinstance(c, eqc.EqConstraint) for c in prob.constraints]) and all([(type(v) in allowedVariables) for v in prob.variables()]) and all([(not v.domain) for v in prob.variables()]))
