#20414: Add copy/__copy__ methods to CVXOPT, PPL, InteractiveLP backends
-------------------------------------+-------------------------------------
       Reporter:  mkoeppe            |        Owner:
           Type:  defect             |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-7.2
      Component:  numerical          |   Resolution:
       Keywords:  lp                 |    Merged in:
        Authors:                     |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/mkoeppe/add_copy___copy___methods_to_cvxopt__ppl__interactivelp_backends|  
38c6be9df03439d604f7b6c476cbebd6e606e7fd
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Old description:

> The COIN, CPLEX, GLPK, and Gurobi backends supply a `copy` method.
> But it's not documented as a backend interface method in
> `GenericBackend`, and the CVXOPT, PPL, InteractiveLP backends do not
> implement it.
> It is used by `MixedIntegerLinearProgram.__copy__`.
>
> The backend method should actually probably be called `__copy__` as well
> -- see https://docs.python.org/2/library/copy.html
>
> See also #15159 (which may indicate that we may need a `__deepcopy__`
> method as well) and #20323 (in which copying a backend could be the basis
> for more diverse tests)

New description:

 The COIN, CPLEX, GLPK, and Gurobi backends supply a `copy` method.
 But it's not documented as a backend interface method in `GenericBackend`,
 and the CVXOPT, PPL, InteractiveLP backends do not implement it.
 It is used by `MixedIntegerLinearProgram.__copy__`.

 The backend method should actually probably be called `__copy__` as well
 -- see https://docs.python.org/2/library/copy.html

 The branch on the ticket does this.

 We also add `__deepcopy__` methods to `MixedIntegerLinearProgram` and the
 backends.
 This fixes #15159, though the semantics of `copy` and `deepcopy` of a
 `MixedIntegerLinearProgram` remains questionable due to its interaction
 with `MIPVariable`; see #15159 and #19523.

 See also #20323 (in which copying a backend could be the basis for more
 diverse tests).

--

Comment (by mkoeppe):

 Now also contains a fix for #15159 (see description).
 Needs review.

--
Ticket URL: <http://trac.sagemath.org/ticket/20414#comment:7>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to