#10791: Fix and upgrade Gram-Schmidt
------------------------------+---------------------------------------------
   Reporter:  rbeezer         |       Owner:  jason, was
       Type:  defect          |      Status:  new       
   Priority:  major           |   Milestone:  sage-4.7  
  Component:  linear algebra  |    Keywords:            
     Author:                  |    Upstream:  N/A       
   Reviewer:                  |      Merged:            
Work_issues:                  |  
------------------------------+---------------------------------------------
 If a set of vectors has a linearly dependent subset, followed by a vector
 outside the span of that subset, then the presence of a zero vector in the
 orthogonal set causes division by a zero dot product.

 There are various other improvements that can be made in this routine.

 {{{
 sage: A=matrix(QQ, [[1,2],[2,4],[1,1]])
 sage: A.gram_schmidt()
 ---------------------------------------------------------------------------
 ZeroDivisionError                         Traceback (most recent call
 last)

 /sage/sage-4.6.2.alpha4/<ipython console> in <module>()

 /sage/sage-4.6.2.alpha4/local/lib/python2.6/site-
 packages/sage/matrix/matrix2.so in sage.matrix.matrix2.Matrix.gram_schmidt
 (sage/matrix/matrix2.c:31979)()

 /sage/sage-4.6.2.alpha4/local/lib/python2.6/site-
 packages/sage/modules/misc.pyc in gram_schmidt(B)
      55     for i in range(1,n):
      56         for j in range(i):
 ---> 57             mu[i,j] = B[i].dot_product(Bstar[j]) /
 (Bstar[j].dot_product(Bstar[j]))
      58         Bstar.append(B[i] - sum(mu[i,j]*Bstar[j] for j in
 range(i)))
      59     return Bstar, mu

 /sage/sage-4.6.2.alpha4/local/lib/python2.6/site-
 packages/sage/structure/element.so in
 sage.structure.element.RingElement.__div__
 (sage/structure/element.c:11981)()

 /sage/sage-4.6.2.alpha4/local/lib/python2.6/site-
 packages/sage/rings/rational.so in sage.rings.rational.Rational._div_
 (sage/rings/rational.c:15177)()

 ZeroDivisionError: Rational division by zero
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10791>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to