# manipulating expressions: get_rhs and joining to an equation

+1 vote

Hi, I have an expression of substitution rule / equation, where the right-hand-side has numerous terms. When I tried calling simplify(_), it returned an error that I think is coming when the algorithm tries to run on both sides of the equation.

So I used get_rhs() from the manip library,

ex_temp = manip.get_rhs(exp_full);

and performed the simplification steps on ex_temp. However now ex_temp is not an equation, so when I use the function multiply_through() - I get an error.

My two questions are:

(1) Is there a way to multiply an expression which is not an equation by a factor, like multiply_through does

(2) How do I "return" the value of my non-equation ex_temp into an equation expression? like

ex_full_new := Y -> (ex_temp);

I assume it has something to do with nodes of expressions. In the manual section I see a list of functions under cdb.utils.node, but they all return values, not updating them.

+1 vote

You can multiply expressions like this:

 ex:= A+B+C;
ex:= (D+E) @(ex);

I am not entirely sure what you mean with (2). Do you mean that you have two expressions and you want to turn them into an equation by setting one equal to the other? Something like

lhs:= A+B;
rhs:= C+D;
ex:= @(lhs) = @(rhs);

?

Finally, if you think simplify has a bug when acting on equations, please try to provide a minimal example and send that to me, so it can be fixed.

by (64.9k points)