Note:

gVector elements can be arbitrary objects on which the standard
mathematical operators plus the functions sqrt and arccos are
defined.Mostly copied from Konrad Hinsen's (<hinsen@ibs.ibs.fr>) Vector.py by
Berthold Höllmann.