in reply to problem with complex matrix multiplication using PDL

This was due to a long-standing (and for backwards-compatibility reasons, unfixable) problem with PDL::Complex: its zeroth dim, real/imaginary, was visible as though it was a "normal" dimension, which caused chaos for code that didn't know to treat that specially.

PDL 2.046 was the first version where "native complex" (without that exposed real/imaginary dim, using C99 complex numbers) numbers worked well. 2.055 officially deprecated PDL::Complex in favour of that.

PDL::LinearAlgebra provides a fix to the exposed-dim problem via its "m"-beginning convenience routines such as minv, as well as doing all of its processing with the powerful LAPACK library. It now (at the time of writing) supports both PDL::Complex and native complex numbers, though you should not try to mix them.