float[] bx = zeros(n); float[] by = zeros(n); lcf.applyInverse(a1,x,bx); lcf.applyInverseTranspose(a1,y,by); float dyx = dot(y,bx); float[] y = copy(x); lcf.applyInverse(a1,y,y); // in-place assertEqual(x,y);
float[][] bx = zeros(n1,n2); float[][] by = zeros(n1,n2); lcf.applyInverse(a2,x,bx); lcf.applyInverseTranspose(a2,y,by); float dyx = dot(y,bx); float[][] y = copy(x); lcf.applyInverse(a2,y,y); // in-place assertEqual(x,y);
float[][][] bx = zeros(n1,n2,n3); float[][][] by = zeros(n1,n2,n3); lcf.applyInverse(a3,x,bx); lcf.applyInverseTranspose(a3,y,by); float dyx = dot(y,bx); float[][][] y = copy(x); lcf.applyInverse(a3,y,y); // in-place assertEqual(x,y);