algorithms for 'invert', was: program works with maxima 5.29.1 but freezes with maxima 5.30.0
Subject: algorithms for 'invert', was: program works with maxima 5.29.1 but freezes with maxima 5.30.0
From: Robert Dodier
Date: Fri, 19 Apr 2013 16:27:16 +0000 (UTC)
On 2013-04-19, Henry Baker <hbaker1 at pipeline.com> wrote:
> So it depends upon what you're trying to achieve, and which fields/rings are involved.
> The advantages of certain 'efficient' matrix operations like LU quickly disappear when
> operating with rings other than floating point numbers.
Can we derive from these considerations a policy for automatically
choosing which algorithm to use? E.g. if small then adjoint method, else
if numerical then LU, otherwise print a warning message ("umm, it might
or might not work") and use either one. Each method should be available
as a separate function (e.g. invert_by_adjoint) so that the user can
explicitly choose one or another.
I realize that such heuristics are not foolproof, but it would be an
improvement on the current situation, and in any event it is
unreasonable to expect users to have any idea how to choose among
algorithms.
best
Robert Dodier