private static void testGrad1() { int n = 21; float[] x = randfloat(n); float[] y = randfloat(n); //float[] x = zerofloat(n); x[0] = x[n/2] = x[n-1] = 1.0f; //float[] y = zerofloat(n); y[0] = y[n/2] = y[n-1] = 1.0f; float[] gx = zerofloat(n); float[] gy = zerofloat(n); gf(C71,x,gx); // Gx gt(C71,y,gy); // G'y dump(gx); dump(gy); float ygx = sum(mul(y,gx)); // y'Gx float xgy = sum(mul(x,gy)); // x'G'y trace("ygx="+ygx); trace("xgy="+xgy); } private static void testGrad2() {
private static void testGrad2() { int n1 = 11; int n2 = 21; float[][] x = randfloat(n1,n2); float[][] y1 = randfloat(n1,n2); float[][] y2 = randfloat(n1,n2); float[][] y = zerofloat(n1,n2); float[][] x1 = zerofloat(n1,n2); float[][] x2 = zerofloat(n1,n2); gf(C71,x,x1,x2); gt(C71,y1,y2,y); float ygx = sum(add(mul(y1,x1),mul(y2,x2))); float xgy = sum(mul(x,y)); trace("ygx="+ygx); trace("xgy="+xgy); } public static void main(String[] args) {