I'm responding to several recent posts by Sven and Ioannis.
1) I accept Sven's point that "eiggen2" is not a great name for the
revised (to deal with native complex matrices) variant of the old
"eigengen" function. In git, I've now renamed eiggen2() to eigen(),
and revised the doc accordingly. But for the present I've retained
"eiggen2" as an alias since I was concerned about breaking the
ghosts and/or DFM packages.
2) I accept Ioannis's point that the new functions Re() and Im()
might reasonably be applied to real matrices as well as complex
ones. Given real input, Re() would return a copy of the input and
Im() would return an appropriately sized zero matrix. That too is
now in git.
3) I'm not so sure about Sven's suggestion that (if I'm
understanding him right) sqrt(M), for M a real matrix with some
negative elements, should return an appropriate complex matrix. It's
clearly defensible, but it might produce surprising/puzzling results
in some cases so I think it requires further discussion.
Allin