1

Consider the following code:

Simplify[Conjugate[Inactive[cn][n, nAvg]], 
 Assumptions -> Inactive[cn][__] > 0]

If you run it, it will not simplify, i.e recognize that because Inactive[cn][n,nAvg] is supposed to be positive there is no need to put the conjugate. However, running this script returns:

Conjugate[Inactive[cn][n, nAvg]]
  • Why isn't it working ?
  • How can I make it work ?
StarBucK
  • 2,164
  • 1
  • 10
  • 33
  • 1
    @CarlWoll To be honest, I don't know. The answer is way too high level for my knowledge of mathematica. – StarBucK May 10 '21 at 18:15
  • The problem is not Inactive, but the use of a pattern. If you used f instead of Inactive[cn], the same thing would happen. It is a common misconception that patterns may be used in Assumptions, but this is not the case. Assumptions -> f[_] > 0 does not in fact tell Mathematica that f is positive for any argument. However, patterns can be used in Element. The following works: Simplify[Conjugate[f[x]], Assumptions -> Element[f[_], Reals]]. Note that this is a feature of Element, not of Assumptions. – Szabolcs May 17 '21 at 09:30
  • You can use this approach if it is sufficient for your application to say that something is real instead of saying that it is positive. I hope this helps. – Szabolcs May 17 '21 at 09:30

1 Answers1

0

You may try instead to use a Rule such as

Conjugate[Inactive[cn][n, nAvg]] /. 
   Conjugate[Inactive[cn][x__]] -> Inactive[cn][x]

and then Simplify.

Somos
  • 4,897
  • 1
  • 9
  • 15