The code for the problem is:

J = 1    

newcoherentstate[α_, χ_, 
 m_] := ((ψ[α, χ])/(1 + 
  Abs[ψ[α, χ]]^2))^(J) *(ψ[α, \
   χ])^(m)*Sqrt[Binomial[2 J, J + m]] ;

NewMatrix [α_, χ_] := 
 Table[newcoherentstate[α, χ, m], {m, -J, J}];

NewMatrix1[α_, χ_] := 
 ArrayReshape[NewMatrix[α, χ], {1, 2*J + 1}];

NewMatrixC[α_, χ_] := 
 Conjugate[NewMatrix1[α, χ]];

Using matrix form, the result is:

enter image description here

What is making the Conjugate appear everywhere? I simply want the Conjugate function to take the complex conjugate of each term in the row vector.


What you observe is the fact that Mathematica assumes the most general case, since you did not specify any assumptions. If you know that e.g. \[alpha] is real-valued, you need to let Mathematica know this very important fact.

See this:

z = Exp[I*a];

E^(-I Conjugate[a])

This is basically what you asked about in your question. IF a is real, then you need to provide this as Assumptions to e.g. Refine or Simplify (depending on your expression, Simplify might take more time than Refine due to its nature):

Simplify[Conjugate[z], Assumptions -> Element[a, Reals]]
Refine[Conjugate[z], Assumptions -> Element[a, Reals]]

both yield

E^(-I [Alpha])

as you would expect, knowing that a is real. If this assumption is true for all your calculation you might want to globally specify this assumption by executing


before you start over with your symbolic calculus.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.