#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.