Gram-Schmidt takes a set of vectors and makes the column vectors normal to each other, Here is an example for a 3 by 3 vector Assume a matrix called xx is | 2 3 4 | | 5 6 7 | | 4 5 3 | Select desired vector n= 1,2,3 gs() Prgm ClIO rowDim(xx)->rd SubMat(xx,1,1,rd,1)->v1 SubMat(xx,1,2,rd,2)->v2 SubMat(xx,1,3,rd,3)->v3 If n=1 Then Disp n,v1 EndIf If n=2 Then v2-dotP(v2,v1)/(dotP(v1,v1))*v1->ou Disp n,ou EndIf If n=3 Then v2-dotP(v2,v1)/(dotP(v1,v1))*v1->v2 v3-dotP(v3,v1)/(dotP(v1,v1))*v1-dotP(v3,v2)/(dotP(v2,v2))*v2 ->ou Disp n,ou EndIf EndPrgm | 2 | | .5111 | | .6428 | v1= | 5 | v2 = | -.2222 | v3 = | 1.2857 | | 4 | | .02222 | | -1.928 | If a unit vector is desired, use unitV( )