1. A computer implemented method comprising: (a) inputting vector x; (b) inputting vector y; (c) determining if said vector x=0 and said vector y=0; and (d) if yes then (d1) returning a zero vector as a result; (d2) storing in hardware on said computer said result; (d3) transforming said stored result to a graphical representation; and (d4) displaying to a user said graphical representation. (e) if no then (f) determining if said vector x=0; and (g) if yes then (g1) returning vector y as a result; (g2) storing in hardware on said computer said result; (g3) transforming said stored result to a graphical representation; and (g4) displaying to a user said graphical representation. (h) if no then (i) determining if said vector y=0; and (j) if yes then (j1) returning vector x as a result; (j2) storing in hardware on said computer said result; (j3) transforming said stored result to a graphical representation; and (j4) displaying to a user said graphical representation. (k) if no then (l) computing a one-sided Jacobi transformation: (l1) u=c*x−s*y (l1) v=s*x+c*y where g=<x, y> a=<x, x> b=<y, y> w=(b−a)/(2*g) t=sign(q)/(abs(q)+sqrt(1+ŵ2)) c=1/sqrt(t̂2+1) s=c*t (m) determining if ((b−a)*((s*s)−(c*c)))−4*c*s*g>0; and (n) if yes then (n1) returning vector u as a result; (n2) storing in hardware on said computer said result; (n3) transforming said stored result to a graphical representation; and (n4) displaying to a user said graphical representation. (o) if no then (o1) returning vector v as a result; (o2) storing in hardware on said computer said result; (o3) transforming said stored result to a graphical representation; and (o4) displaying to a user said graphical representation.