2 added 17 characters in body
source | link

What Simplify does is not very well defined. It tries to put expressions in a simpler form, but what is usefully simpler is both subjective and depends on the context. Simplify aims for "smaller" expressions, for some definition of smaller.

Because of the nature of this function the user doesn't have a lot of control over what it does (though it does have a few options).

For this reason I recommend you post-process the result. Your requirement seems to be simple and well-defined: have 0 on one side of the equation. So use this transformation rule:

...Simplify[eq] /. lhs_ == rhs_ :> Simplify[lhs - rhs] == 0

Since you'll have zero on one side, you might only want to get the other side, and use

Subtract @@ Simplify[eq]

A fancier way would be

Simplify[ Subtract @@ Simplify[eq], 
   TransformationFunctions -> {Automatic, Composition[Last,Last@FactorTermsList[#]& FactorTermsList]}
]

This allows Simplify to drop any numerical factor from the resulting expression (e.g. a minus sign that might have been introduced by Subtract).

What Simplify does is not very well defined. It tries to put expressions in a simpler form, but what is usefully simpler is both subjective and depends on the context. Simplify aims for "smaller" expressions, for some definition of smaller.

Because of the nature of this function the user doesn't have a lot of control over what it does (though it does have a few options).

For this reason I recommend you post-process the result. Your requirement seems to be simple: have 0 on one side of the equation. So use this transformation rule:

... /. lhs_ == rhs_ :> Simplify[lhs - rhs] == 0

Since you'll have zero on one side, you might only want to get the other side, and use

Subtract @@ Simplify[eq]

A fancier way would be

Simplify[ Subtract @@ Simplify[eq], 
   TransformationFunctions -> {Automatic, Composition[Last, FactorTermsList]}
]

This allows Simplify to drop any numerical factor from the resulting expression (e.g. a minus sign that might have been introduced by Subtract).

What Simplify does is not very well defined. It tries to put expressions in a simpler form, but what is usefully simpler is both subjective and depends on the context. Simplify aims for "smaller" expressions, for some definition of smaller.

Because of the nature of this function the user doesn't have a lot of control over what it does (though it does have a few options).

For this reason I recommend you post-process the result. Your requirement seems to be simple and well-defined: have 0 on one side of the equation. So use this transformation rule:

Simplify[eq] /. lhs_ == rhs_ :> Simplify[lhs - rhs] == 0

Since you'll have zero on one side, you might only want to get the other side, and use

Subtract @@ Simplify[eq]

A fancier way would be

Simplify[ Subtract @@ Simplify[eq], 
   TransformationFunctions -> {Automatic, Last@FactorTermsList[#]& }
]

This allows Simplify to drop any numerical factor from the resulting expression (e.g. a minus sign that might have been introduced by Subtract).

1
source | link

What Simplify does is not very well defined. It tries to put expressions in a simpler form, but what is usefully simpler is both subjective and depends on the context. Simplify aims for "smaller" expressions, for some definition of smaller.

Because of the nature of this function the user doesn't have a lot of control over what it does (though it does have a few options).

For this reason I recommend you post-process the result. Your requirement seems to be simple: have 0 on one side of the equation. So use this transformation rule:

... /. lhs_ == rhs_ :> Simplify[lhs - rhs] == 0

Since you'll have zero on one side, you might only want to get the other side, and use

Subtract @@ Simplify[eq]

A fancier way would be

Simplify[ Subtract @@ Simplify[eq], 
   TransformationFunctions -> {Automatic, Composition[Last, FactorTermsList]}
]

This allows Simplify to drop any numerical factor from the resulting expression (e.g. a minus sign that might have been introduced by Subtract).