FUNCTION:  Reflect - apply Reflections to a vector,    
CALLING SEQUENCE:  Reflect(r,v);,                   Reflect(r1,r2,...,v);
    ,PARAMETERS:  r,r1,r2,...,v = linear combinations of e1,e2,...
SYNOPSIS:   
  A "vector" (distinct from the vector data Structure used by Maple) is a
  linear combination of the standard orthonormal basis e1,e2,e3,..., with
  coefficients that are rational or floating-point.
  If r and v are vectors then Reflect(r,v) will return the vector obtained
  by Reflecting v across the hyperplane orthogonal to r.
  More generally, if r1,r2,... is a sequence of one or more vectors, then
  Reflect(r1,r2,...,v) returns the result of successively Reflecting v
  across the hyperplanes ...,r2,r1, in that order. In particular,
  Reflect(r1,r2,v)  is equivalent to  Reflect(r1,Reflect(r2,v)).
  While r,r1,r2,.... are required to have coefficients that are rational
  or floating-point, this requirement is not necessary for v. All that is
  required for v is that the function calls  coeff(v,e1),coeff(v,e2),...
  return valid answers. ,EXAMPLES:   
  Reflect(e1+e2, e1+2*e2);              yields         -2*e1-e2
  Reflect(e1+e2, a*e1+b*e2);
  collect(",{e1,e2});                   yields        -b*e1-a*e2
  w0:=LongestElt(B4); S:=Base(B4); v:=InteriorPt(B4);
  Reflect(seq(S[i],i=w0),v);            yields    -e1-2*e2-3*e3-4*e4,    
SEE ALSO:  InteriorPt, Iprod, Orbit, Vec2FC):
