Bug introduced in 12.3 or earlier, fixed in 13.0.
Suppose I have a normalized numerical 1D array, B1
,
B1 = {0.9269939990888411` - 0.22888585272824927` I,
1.3877787807814457`*^-17 + 0.` I, -2.7755575615628914`*^-17 -
1.8041124150158794`*^-16 I,
0.05746221176648221` +
0.10518387310098759` I, -1.3877787807814457`*^-17 -
9.020562075079397`*^-17 I,
0.0574622117664822` + 0.10518387310098762` I,
0.0574622117664822` + 0.10518387310098765` I,
2.0816681711721685`*^-17 - 3.469446951953614`*^-17 I,
0.` - 1.3877787807814457`*^-16 I,
0.057462211766482196` + 0.10518387310098765` I,
0.05746221176648217` + 0.10518387310098765` I,
2.7755575615628914`*^-17 - 6.938893903907228`*^-17 I,
0.05746221176648225` + 0.1051838731009876` I,
3.469446951953614`*^-17 - 3.469446951953614`*^-17 I,
5.0306980803327406`*^-17 -
3.469446951953614`*^-17 I, -0.04191842262180526` +
0.01851810652627404` I};
Then $Version == "12.3.0 for Mac OS X x86 (64-bit) (May 10, 2021)"
gives the very sensible
Conjugate[B1] . B1
Transpose[Conjugate[B1]] . B1
as both 1. + 0. I
. However
ConjugateTranspose[B1] . B1
gives 0.761773 - 0.353375 I
, which is the same as what I get for B1.B1
.
Questions:
- What gives?
- Is this known / expected behavior?
- Is this a bug?
ConjugateTranspose[{1,I}]
If this is a bug or a misuse of the command, I do not know. $\endgroup$Conjugate[Transpose[B1]]==ConjugateTranspose[B1]
as the docs claim? IsB1==Transpose[B1]]
? IsConjugate[B1]==Transpose[Conjugate[B1]]
And do some or all of those work as expected ifB1
is a well behaved matrix instead of a vector? $\endgroup$ConjugateTranspose[B1] == Conjugate[Transpose[B1]]
givesFalse
.B1==Transpose[B1]
givesTrue
.Conjugate[B1]==Transpose[Conjugate[B1]]
givesTrue
. To test the matrix case, you can tryConjugateTranspose[{B1, B1}] == Conjugate[Transpose[{B1, B1}]]
which givesTrue
. $\endgroup$