Hello Community Users,
I have encoutered the following issues using "Assuming":
I define a simple matrix that will be tested whether it is Hermitean.
(mat = {{0, Exp[I \[Phi]]}, {Exp[-I \[Phi]], 0}}) // MatrixForm
If I define the condition that phi is real valued, I expect the defined matrix to be Hermitean. So I tried to use Assuming to define this constraint
Assuming[\[Phi] \[Element] Reals, {$Assumptions,
HermitianMatrixQ[mat], ConjugateTranspose[mat] == mat,
Simplify[ConjugateTranspose[mat]] == mat}]
This is the corresponding output:
(* {[Phi] [Element] Reals, False, {{0, E^( I Conjugate[[Phi]])}, {E^(-I Conjugate[[Phi]]), 0}} == {{0, E^( I [Phi])}, {E^(-I [Phi]), 0}}, True} *)
"Assuming" apparently understands the constraint, but seems to fail with the evaluation, i.e. the matrix is reported not to be Hermitean. Next I perform the evaluation step by step. If I use additional "Simplify" (without specifying additional constraints) to process the ConjugateTransposed matrix under the assumption phi element Real, I get the expected result that the conjugated transposed matrix is equivalent to the original matrix, which according to the documentation is exactly the condition that HermiteanMatrixQ should evaluate.
Can anybody shed some light on this issue?
Thank you and best regards,
Michael