#14506: Echelonize leads to wrong multiplication
------------------------------+---------------------------------------------
   Reporter:  mraum           |             Owner:  jason, was
       Type:  defect          |            Status:  new       
   Priority:  critical        |         Milestone:  sage-5.10 
  Component:  linear algebra  |          Keywords:            
Work issues:                  |   Report Upstream:  N/A       
  Reviewers:                  |           Authors:            
  Merged in:                  |      Dependencies:            
   Stopgaps:                  |  
------------------------------+---------------------------------------------
 Load the two matrices that I have attached and run the following code to
 see that the second row of the second matrix is not updated correctly.
 {{{
 sage: (a, b) = load("tst.sobj")
 sage: a.transpose() * b
 [                        0                         1
 24                       324                      3200
 25650                    176256                   1073720
 5930496                  30178575                 143184000
 639249300                2705114880               10916609264
 42224364768              157237849404              565928955336
 1975748911989             6712360813296            22258958382384
 72248546142576           230126686576596           720999820523680
 2226607404115308          6790183423299432         20478994820181329
 61157329008540264        181004375431019448        531238661914490832
 1546662807633726456       4467428806660680816      12801302700703268916
 36384312930487005696     102550540165931773881     286559332427090336280
 793661555641170811488    2178228257908531278912    5922967390221653096898
 15954542776854757733856   42569726135569471713636
 112504969550911913199256  294509000583368778593058
 763659353026853825886576 1961586226496587115127844
 4991900581029733007609328]
 sage: (b.transpose() * a).transpose()
 [0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0]
 }}}

 The following works correctly. To me this indicates that the internal
 representation is somehow not updated correctly.
 {{{
 sage: (a, b) = load("tst.sobj")
 sage: b = copy(b)
 sage: a.transpose() * b
 [0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0]
 }}}

 I make this a critical ticket. But the actual mistake seems so dangerous
 and it results from a common operation, so that it is a candidate for a
 blocker.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14506>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to