Greg Ewing writes:
On 16/08/20 4:26 am, Ricky Teachey wrote:
There are certainly instances where I've needed to used matrices to solve a system of equations in an automated way. But most of time it's simply not needed,
If we're going to have a class that supports matrix multiplication, I think we should at least have the ability to invert a square matrix.
And once you have the machinery for that, it's only a small step to use it for solving systems of equations, so we might as well provide that too. It would cost very little extra, and might be useful.
Nobody disagrees that a "toy" (sorry-not-sorry) or "educational" matrix class should have those. But those use cases are quite well served by modules on PyPI, and arguably are far more educational in most cases if the student implements their own.
It's getting the fiddly stuff right (numerical stability and accuracy, catching edge cases in algorithms) so that you can use it with confidence for work that has consequences if you get it wrong that (to me, anyway) would justify inclusion in the stdlib.
That's assuming that such a class would be featureful enough, which is why I ask "how would engineers use a 'four-function' matrix class?" Ricky's post was a fair-enough answer I think, but I also agree with the posters whose feeling is that almost everybody would want something more, and we'd end up with a kudzu emulation of NumPy in the stdlib. But that's just a feeling. (Enough for me to still be -1, but also willing to continue exploring the subject.)