On Friday, September 6, 2019 at 1:19:48 AM UTC-7, Thierry (sage-googlesucks@xxx) wrote: > > > I would say that there is a bug in the 'default' algorithm. Note that > changing the algorithm leads to: > > sage: A.echelon_form(algorithm='partial_pivoting') > [ 1 0 -23/3 -2/3*a + 5/6*c] > [ 0 1 -13/3 -1/3*a + 2/3*c] > [ 0 0 0 b + 1/2*c] > > While that may be a useful answer for this particular problem, the real issue is that linear algebra over rings that are not fields is more complicated. Over PIDs one can use Hermite Normal Form as a substitute for reduced row echelon form, in general this gets more complicated. Even unique factorization domains are not so easy to handle.
For instance, over QQ[a,b,c,d], how would you echelonize the following matrix? [ a b ] [ c d ] There are algorithms to compute with modules over polynomial rings (i.e., do linear algebra over polynomial rings), but they require more complicated methods (basically groebner bases) and the answers one gets are more complicated too, because these modules are not just determined by their free rank (the analogue of dimension). So for the original problem I'd go with: "unfortunate mathematical reality" rather than "unfortunate feature". -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/9439cb1c-5040-4e0b-82b7-30882ef788d6%40googlegroups.com.