Talk:Matrix-exponentiation operator

From Rosetta Code

The implementations seem to be wrong. Matrix exponentiation is defined for any complex power. For example, like for numbers sqrt A = A**0.5. The implementation can be based on decomposition: A = VT diag{λ1,..,λn} V. Then AX = VT diag{λ1X,..,λnX} V

Well, the task isn't specific in this respect. Exponentiation with an integer exponent just means repeatedly doing matrix multiplication, and that generalization is also useful for integer matrices, say. It's fortuitous that one can generalize this for complex matrices, but that won't be possible for any base type.
Also, implementing this is mainly an exercise in using the available linear-algebra library packages. That doesn't really help in highlighting the differences between computer languages. Nor is it the goal of Rosetta to develop a complete set of libraries for every language.
So I'd suggest that a task "define exponentiation for matrices with integer exponents and any basetype, including complex" is actually more interesting than "do it for complex exponents and complex matrices, by using LA-libraries". --Dirkt 04:59, 4 June 2008 (MDT)