'Returns the result of the call to the solver.
Parameters
objective : LinOp
The canonicalized objective.
constraints : list
The list of canonicalized cosntraints.
cached_data : dict
A map of solver name to cached problem data.
warm_start : bool
Not used.
verbose : bool
Should the solver print output?
solver_opts : dict
Additional arguments for the solver.
Returns
tuple
(status, optimal value, primal, equality dual, inequality dual)'

def solve(self, objective, constraints, cached_data, warm_start, verbose, solver_opts):

    import ecos
    data = self.get_problem_data(objective, constraints, cached_data)
    data[s.DIMS]['e'] = data[s.DIMS][s.EXP_DIM]
    results_dict = ecos.solve(data[s.C], data[s.G], data[s.H], data[s.DIMS], data[s.A], data[s.B], verbose=verbose, **solver_opts)
    return self.format_results(results_dict, data, cached_data)
