Skip to content

Adding a "swap" method to equation objects. #12554

Open
@sagetrac-JoalHeagney

Description

@sagetrac-JoalHeagney

Often when working with sage equations, it's desirable to swap the left and right hand side of the equations. (Makes substitutions easier for a start, allows manual solving of inequalities, etc.)

A model implementation by Ivan Andrus https://groups.google.com/forum/#!topic/sage-support/lKbMSQrFhGg
(in function form) is supplied below (with some rearrangement so equal operator case is tested first):

import operator
def reverse_inequality(eq):
    """
    Reverse the order of the inequality without changing it's meaning.
    """
    orig_op = eq.operator() # The "top-level" operator
    if orig_op == operator.eq:
        op = operator.eq
    elif orig_op == operator.lt:
        op = operator.gt
    elif orig_op == operator.le:
        op = operator.ge
    elif orig_op == operator.gt:
        op = operator.lt
    elif orig_op == operator.ge:
        op = operator.le
    elif orig_op == operator.ne:
        op = operator.ne
    else:
        raise TypeError, "this expression must be a relation"
   return op(eq.rhs(), eq.lhs())

My request is that something similar be attached to equation objects as a method.

Component: symbolics

Keywords: swap, left hand side, right hand side, inequalities

Author: Ivan Andrus, Joal Heagney

Issue created by migration from https://trac.sagemath.org/ticket/12554

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions