<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Many people help Mike Meyer:<br>
    <br>
    <blockquote
cite="mid:CAHYVw0yO9spFbQ3S=cxNn0B4pjQjzBynn0SJog6vtBouhsROCw@mail.gmail.com"
      type="cite">
      <div class="gmail_extra">My real problem is that I've got a list
        of points in R3  and want to decide if they determine a plane,
        meaning they are coplanar but not colinear. Similarly, given a
        list of points in R2, I want to verify that they aren't
        colinear. Both of these can be done by converting the list of
        points to a matrix and finding the rank of the matrix, but I
        only use the rank function in the definitions of colinear and
        coplanar.</div>
      <div class="gmail_extra"><br>
      </div>
      <div class="gmail_extra">Maybe there's an easier way to tackle the
        underlying problems. Anyone got a suggestion for such?</div>
    </blockquote>
    <br>
    I didn't follow this discussion, so I might have missed some
    essential issues, I apologize then. But if THIS is the problem...<br>
    <br>
    All these powerful universal libraries, with several hundreds of
    lines of code are important and useful, but if the problem is to
    find whether a list of pairs (x,y) is collinear or not, I presume
    that such program as below could do. I am ashamed showing something
    like that...<br>
    <br>
    <b><font face="Courier New, Courier, monospace">colin ((x,y):l) =
        all (\(c,d)->abs(px*d-py*c)<eps) q where <br>
         ((px,py):q) = [(ax-x,ay-y) | (ax,ay) <- l]<br>
      </font></b><br>
    [The iterated subtraction puts the first vector at the origin. eps
    is the precision; better avoid ==0]<br>
    <br>
    For three dimensions and coplanarity, instead of separating one
    vector, we need two, in order to compute their skew product. Then,
    it suffices to verify that all its scalar products with the
    remaining, vanish; if not, they are not coplanar.<br>
    <br>
    Jerzy Karczmarczuk<br>
    <br>
    <br>
    <br>
  </body>
</html>