One should think so, but it doesn't.
Conventional notation would have the 2x2 matrix left, the column vector to the right, so
print " result: ", $matrixM x $matrixX_assigned_value;
but that complains
PDL: Dim mismatch in matmult of [2x2] x [2x1]: 2 != 1
Swapping the factors
print "should be: ", $matrixB_assigned_value;
print " result: ", $matrixX_assigned_value x $matrixM;
prints
should be:
[
[
[5 8]
]
[
[10 -5]
]
]
result:
[
[
[5 4]
]
[
[ 4 -5]
]
]
The result looks like a column vector, but is numerically incorrect.
BTW, it helps to cast the piddles into the PDL::Complex data type, using the cplx function. That overloads stringification so that the complex elements are printed in a x + i*y format
instead of looking like pairs of reals. The numeric discrepancy remains, however.
Anno |