我怎样才能摆脱Mathematica中一个令人恼火的前因?

Des*_*sie 3 wolfram-mathematica algebra

我正在尝试使用Mathematica将代数表达式细化为一个方便的形式,以确保我不会丢弃一个符号或做一些其他的琐碎的滑动.经过大量的咒骂,我开始接受这不是一个确定性的过程,我将不得不一步一步地做,而代数操作调色板是我的朋友.然而,还有一件事让我疯狂.有时mathematica会用这些看似无关的前导词表达出表达式.例如,我现在正在看:

0.5*(1.*Log[-1.*a^2 + 1.*bigr^2] - 1.*Log[1.*a^2 - 2.*a*bigr + 1.*bigr^2])
Run Code Online (Sandbox Code Playgroud)

当我更愿意看的时候:

0.5*(Log[-a^2 + bigr^2] - Log[a^2 - 2.*a*bigr + bigr^2])
Run Code Online (Sandbox Code Playgroud)

它不仅仅是一个美容问题,因为当我尝试将它应用于上述表达式中的一些明显的二次因子分解时,它会混淆因子[].任何干净的修复?

Dr.*_*ius 6

your = 0.5*(1.*Log[-1.*a^2 + 1.*bigr^2] - 1.*Log[1.*a^2 - 2.*a*bigr + 1.*bigr^2])
your  /. {1. -> 1, -1. -> -1}

(* -> 0.5 (Log[-a^2 + bigr^2] - Log[a^2 - 2. a bigr + bigr^2]) *)
Run Code Online (Sandbox Code Playgroud)

之后的点1告诉数学治疗数作为非确切数量.所以举个例子

1. * 1/2
(* -> .5 *)
Run Code Online (Sandbox Code Playgroud)

1 * 1/2
(* -> 1/2 *)
Run Code Online (Sandbox Code Playgroud)

如果您需要精确的结果,请在计算中使用精确数量(1,2,1/2)而不是十进制数(1.,2.,0.5)