// student4D.java compile javac -cp . student4D.java // execute java -cp . student4D public class student4D { double A4[] = {1.0, 1.0, 1.0, 1.0}; double B4[] = {1.0, 1.0, 3.0, -5.0}; double C4[] = {1.0, -1.0, 0.0, 0.0}; double D4[] = new double[4]; double detM4; double dotp4; double M4[][] = {{1.0, 1.0, 1.0, 1.0}, {1.0, 1.0, 1.0, 1.0}, // A all 1.0 {1.0, 2.0, 4.0, 5.0}, {10.0, 21.0, 32.0, 43.0}}; double M4u[][]= {{1.0, 0.0, 0.0, 0.0}, {0.0, 1.0, 0.0, 0.0}, // A unit vectors {0.0, 0.0, 1.0, 0.0}, {0.0, 0.0, 0.0, 1.0}}; double err1, err2, err3, err4; double B4l; public student4D() { System.out.println("student4D.java running"); prtvec(A4, "A4"); prtvec(B4, "B4"); prtvec(C4, "C4"); dotp4 = dot(A4, B4); System.out.println("dot(A4, B4)="+dotp4); System.out.println(" "); dotp4 = dot(A4, C4); System.out.println("dot(A4, C4)="+dotp4); System.out.println(" "); dotp4 = dot(B4, C4); System.out.println("dot(B4, C4)="+dotp4); System.out.println(" "); cross(A4, B4, C4, D4); System.out.println("cross4(A4, B4, C4, D4)="); prtvec(D4, "D4"); System.out.println("check orthoganal"); err1 = Math.abs(dot(A4,D4)); System.out.println("dot(A4, D4)="+err1); err2 = Math.abs(dot(B4,D4)); System.out.println("dot(B4, D4)="+err2); err3 = Math.abs(dot(C4,D4)); System.out.println("dot(C4, D4)="+err3); System.out.println("cross(A4, B4, C4, D4) err="+(err1+err2+err3)); System.out.println("student4D.java finished"); } // utility functions public double length(double A[]) { // return length of vector A int n = A.length; double len = 0.0; for(int i=0; i abs_pivot ) { I_pivot = i; pivot = B[row[i]][k]; abs_pivot = Math.abs(pivot); } } // have pivot, interchange row indicies if(I_pivot != k) { hold = row[k]; row[k] = row[I_pivot]; row[I_pivot] = hold; D = - D; } // check for near singular if(abs_pivot < 1.0E-20) { return abs_pivot; } else { D = D * pivot; // reduce about pivot for(int j=k+1; j