private double[] center(double[] xt) { double[] mvec = mv.vec(); double[] ret = new double[xt.length]; if(mvec == null) return ret; for (int i = 0; i < mvec.length; i++) { ret[i] = xt[i] - mvec[i]; } return ret; }
private double[] center(double[] xt) { double[] mvec = mv.vec(); double[] ret = new double[xt.length]; if(mvec == null) return ret; for (int i = 0; i < mvec.length; i++) { ret[i] = xt[i] - mvec[i]; } return ret; }
public double[] getMean() { return mv.vec(); } }
public double[] getMean() { return this.mv.vec(); }
public static void main(String[] args) { SparseMatrix a = SparseMatrix.sparse(4, 1118); MatlibMatrixUtils.plusInplace(a, 1); SparseMatrix xtrow = MatlibMatrixUtils.transpose(SparseMatrix.random(1118,22917,1 - 0.9998818947086253)); System.out.println("xtrow sparsity: " + MatlibMatrixUtils.sparsity(xtrow)); MeanVector mv = new MeanVector(); System.out.println("doing: a . xtrow"); for (int i = 0; i < 10; i++) { Timer t = Timer.timer(); MatlibMatrixUtils.dotProductTranspose(a, xtrow); mv.update(new double[]{t.duration()}); System.out.println("time: " + mv.vec()[0]); } } }
public static void main(String[] args) { SparseMatrix a = SparseMatrix.sparse(4, 1118); MatlibMatrixUtils.plusInplace(a, 1); SparseMatrix xtrow = MatlibMatrixUtils.transpose(SparseMatrix.random(1118,22917,1 - 0.9998818947086253)); System.out.println("xtrow sparsity: " + MatlibMatrixUtils.sparsity(xtrow)); MeanVector mv = new MeanVector(); System.out.println("doing: a . xtrow"); for (int i = 0; i < 10; i++) { Timer t = Timer.timer(); MatlibMatrixUtils.dotProductTranspose(a, xtrow); mv.update(new double[]{t.duration()}); System.out.println("time: " + mv.vec()[0]); } } }
CFMatrixUtils.fastsparsedot(a,xtcol); mv.update(new double[]{t.duration()}); System.out.println("time: " + mv.vec()[0]); a.times(xtcol); mv.update(new double[]{t.duration()}); System.out.println("time: " + mv.vec()[0]); a.times(xtrow); mv.update(new double[]{t.duration()}); System.out.println("time: " + mv.vec()[0]);
CFMatrixUtils.fastsparsedot(a,xtcol); mv.update(new double[]{t.duration()}); System.out.println("time: " + mv.vec()[0]); a.times(xtcol); mv.update(new double[]{t.duration()}); System.out.println("time: " + mv.vec()[0]); a.times(xtrow); mv.update(new double[]{t.duration()}); System.out.println("time: " + mv.vec()[0]);