I can see your surprise, but Mathematica seems to be behaving as you would expect according to the documentation.
In particular, it may seem careless to you, but it is clearly spelled out in the documentation that any variable involved in an inequality is implicitly considered a real number.
As a reference, see:
- the Assumptions and Domains page of the documentation, under the entry for
Less
and Greater
in "Reference": "... define inequalities, implicitly for real numbers".
- the documentation page for
Simplify
also states that "Quantities that appear algebraically in inequalities are always assumed to be real."
In passing, as you mentioned yourself, using Re
to specify your assumption will work as expected:
Simplify[a\[Conjugate], Assumptions -> Re[a] > 0]
(* Out: Conjugate[a] *)
Regarding Re
, its documentation also states that "Re[expr]
is left unevaluated if expr is not a numeric quantity" (here, under "Details"), so I suspect this to be the reason why you found it not to work. Additionally, the "Properties and Relations" section of that page suggests the use of Re
in Assumption
statements very similar to yours.
An update:
One can clearly see the assumption that Simplify
makes as follows:
Simplify[a \[Element] Reals, Assumptions -> a + a\[Conjugate] > 0]
(* Out: True*)
In order to get around this problem, the assumption can be massaged into a form that does not involve $a$ in an inequality:
Simplify[a\[Conjugate], Assumptions -> FullSimplify[a + a\[Conjugate]] > 0]
(* Out: Conjugate[a] *)
In fact, FullSimplify
understands that $a+a^*=2 Re(a)$:
FullSimplify[a + a\[Conjugate]]
(* Out: 2 Re[a] *)
Simplify
, on the other hand, does not, so it returns its argument unchanged.
Simplify[Conjugate[a], Assumptions -> {Abs[(a + Conjugate[a])] > 0}]
maybe this is what you wanted? You can't doz > 0
for complexz
and expect anything meaningful - use the normAbs
$\endgroup$Re[a] == (a + a\[Conjugate])/2
? This does not imply thata>0
! $\endgroup$z
, the sumz + Conjugate[z]
is twice the real part ofz
, so it makes perfect sense to require thatz + Conjugate[z] >0
: it just says that the real part ofz
is positive. $\endgroup$a + a\[Conjugate]
is2Re[a]
$\endgroup$