/** * Original credit: https://github.com/alberts/array4j/blob/master/src/main/java/net/lunglet/util/ArrayUtils.java * @param a * @return */ public static int[] argsort(int[] a) { return argsort(a, true); }
int[] firstPerm = argsort(combine(deletedAxes[0],keep(argsort(sumAxes[1]),sumAxes[0]))); SDVariable firstResult = doTensorMmul(i_v1.get(0), rarg(), firstAxes); SDVariable permuted = f().permute(firstResult,firstPerm); int[] secondPerm = argsort(combine(keep(argsort(sumAxes[0]),sumAxes[1]),deletedAxes[1])); SDVariable secondResult = doTensorMmul(i_v1.get(0), larg(), secondAxes); SDVariable secondPermuted = f().permute(secondResult,secondPerm);
/** * Original credit: https://github.com/alberts/array4j/blob/master/src/main/java/net/lunglet/util/ArrayUtils.java * @param a * @return */ public static int[] argsort( int[] a) { return argsort(a, true); }