GramSchmidt Orthogonalization question

• To: mathgroup at smc.vnet.net
• Subject: [mg14291] GramSchmidt Orthogonalization question
• From: Steve Reagan <swr4f at virginia.edu>
• Date: Tue, 13 Oct 1998 01:21:11 -0400
• Organization: University of Virginia
• Sender: owner-wri-mathgroup at wolfram.com

```The LinearAlgebra'Orthogonalization' package seems to have a problem
when dealing with a set of dependent vectors:

<<LinearAlgebra`Orthogonalization`
v1={3+2I,3-2I,5};
v2={3-2I,3+2I,5};
v3={5,7,-12};
v4=2*v1;
v5=-7*v3;
GramSchmidt[{v1,v2,v3,v4},Normalized->False]

{{3 + 2*I, 3 - 2*I, 5},
{-48/35 - (172*I)/35, -48/35 + (172*I)/35, -16/7}, {330/43, 330/43,
-396/43},
{0, 0, 0}}

GramSchmidt[{v1,v2,v3,v4,v5},Normalized->False] Power::infy  Infinite
expression 1/0 encountered. indet:Indeterminate expression
0*ComplexInfinity encountered.

{{3 + 2*I, 3 - 2*I, 5}, {-48/35 - (172*I)/35, -48/35 + (172*I)/35,
-16/7}, {330/43, 330/43, -396/43},
{0, 0, 0}, {Indeterminate, Indeterminate, Indeterminate}}

When the number of vectors in the input list exceeds the number of
independent ones by exactly one, there is no problem as shown in first
example.  But, if a larger list is used for input, errors result as
shown in the second example.

Is there an extension or package that handles dependent sets such that
an orthogonal set is produced correctly ?