FUNCTION:  CartanMatrix - Cartan matrix of a crystallographic root system
CALLING SEQUENCE:  CartanMatrix(R);,    
PARAMETERS:  R = a crystallographic root system data Structure
SYNOPSIS:   
  The Cartan matrix of a crystallographic root system with simple roots
  [r_1,...,r_n] is the n x n integer matrix whose (i,j)-entry is
                  2 * Iprod(r_i,r_j) / Iprod(r_j,r_j).
  An error is generated if these quantities do not evaluate to integers.
  The Cartan "matrix" of the empty root system is the empty list [].
  If R is a Coxeter matrix, CartanMatrix(R) returns the Cartan matrix for
  some crystallographic root system with Coxeter matrix R, if one exists.

  If R is a matrix of integers whose (1,1)-entry is 2, it is assumed that
  R is itself a Cartan matrix and CartanMatrix(R) returns R.,    
  For a description of root system data Structures, see Coxeter[Structure].
EXAMPLES:   
  CartanMatrix(F4)[3,2];                 yields            -2
  CartanMatrix([e1-e2,2*e2]);            yields   array([[2,-1],[-2,2]])
  CartanMatrix(");                       yields   array([[2,-1],[-2,2]])
  m:=array([[1,2,3],[2,1,3],[3,3,1]]);
  CartanMatrix(m)[1,3];                  yields            -1
SEE ALSO:  Base, CoxMatrix, Iprod, Diagram, NameOf, Structure):
