Has anybody an explanation for the following or is it a bug? The display form and the input form do not give the same result.
I include the raw display form here. Simply copy it to Mathematica to inspect it. The two following two pattern match:
MatchQ[
\!\(\*SuperscriptBox[
SubscriptBox[\(u\), \(2\)],
TagBox[
RowBox[{"(",
RowBox[{"1", ",", "0"}], ")"}],
Derivative],
MultilineFunction->None]\)[x1, x2],
\!\(\*SuperscriptBox[
SubscriptBox[\(u\), \(_\)],
TagBox[
RowBox[{"(",
RowBox[{"_", ",", "_"}], ")"}],
Derivative],
MultilineFunction->None]\)[x1, x2]]
MatchQ[
Derivative[0, 1][Subscript[u, 2]][x1, x2]
\!\(\*SuperscriptBox[
SubscriptBox[\(u\), \(2\)],
TagBox[
RowBox[{"(",
RowBox[{"0", ",", "1"}], ")"}],
Derivative],
MultilineFunction->None]\)[x1, x2],
\!\(\*SuperscriptBox[
SubscriptBox[\(u\), \(_\)],
TagBox[
RowBox[{"(",
RowBox[{"_", ",", "_"}], ")"}],
Derivative],
MultilineFunction->None]\)[x1, x2]
\!\(\*SuperscriptBox[
SubscriptBox[\(u\), \(_\)],
TagBox[
RowBox[{"(",
RowBox[{"_", ",", "_"}], ")"}],
Derivative],
MultilineFunction->None]\)[x1, x2]]
However if I change the first derivative from Fullform to Displayform, that is: Derivative[0,1][u2] to u2^(0,1), the pattern does no more match:
MatchQ[
\!\(\*SuperscriptBox[
SubscriptBox[\(u\), \(2\)],
TagBox[
RowBox[{"(",
RowBox[{"0", ",", "1"}], ")"}],
Derivative],
MultilineFunction->None]\)[x1, x2]
\!\(\*SuperscriptBox[
SubscriptBox[\(u\), \(2\)],
TagBox[
RowBox[{"(",
RowBox[{"1", ",", "0"}], ")"}],
Derivative],
MultilineFunction->None]\)[x1, x2],
\!\(\*SuperscriptBox[
SubscriptBox[\(u\), \(_\)],
TagBox[
RowBox[{"(",
RowBox[{"_", ",", "_"}], ")"}],
Derivative],
MultilineFunction->None]\) [x1, x2]
\!\(\*SuperscriptBox[
SubscriptBox[\(u\), \(_\)],
TagBox[
RowBox[{"(",
RowBox[{"_", ",", "_"}], ")"}],
Derivative],
MultilineFunction->None]\)[x1, x2]]