Real vs. Integer paradox
- To: mathgroup at yoda.physics.unc.edu
- Subject: Real vs. Integer paradox
- From: llefton at matcomlab.math.uno.edu
- Date: Wed, 3 Mar 93 15:45:26 CST
Hello,
In computing the NullSpace of a matrix with Mathematica, there seems
to be a significantly different algorithm used depending on whether
the matirx has real or symbolic (e.g. integer) entries. Here's an
example:
Mathematica 2.0 for NeXT
Copyright 1988-91 Wolfram Research, Inc.
-- NeXT graphics initialized --
In[1]:= $Version
Out[1]= NeXT 2.0 (July 15, 1991)
In[2]:= A=Table[Random[Integer,5], {2}, {4}]
Out[2]= {{2, 4, 1, 4}, {1, 3, 2, 1}}
In[3]:= NullSpace[A]
5 3
Out[3]= {{-4, 1, 0, 1}, {-, -(-), 1, 0}}
2 2
We check that these are indeed null vectors:
In[4]:= A. Transpose[NullSpace[A]]
Out[4]= {{0, 0}, {0, 0}}
Great. But now suppose we have floating point values
In[5]:= Ar = N[A]
Out[5]= {{2., 4., 1., 4.}, {1., 3., 2., 1.}}
In[6]:= NullSpace[Ar]
Out[6]= {{-0.943569, 0.211961, 0.0273498, 0.252986},
> {0., -0.59588, 0.681005, 0.425628}}
Whoa! Let's see if these are correct.
In[7]:= Chop[Ar.Transpose[NullSpace[Ar]]]
Out[7]= {{0, 0}, {0, 0}}
Yes they are, but why are they so different?
Any help or explanation would be appreciated.
----------------------------------------------------------------
| Lew Lefton | Phone: (504) 286-7441 |
| Department of Mathematics | FAX: (504) 286-5516 |
| University of New Orleans | e-mail: llefton at math.uno.edu |
| New Orleans, LA 70148 | (NeXT mail welcome) |
----------------------------------------------------------------