public DoubleMatrix propdown(DoubleMatrix h) {
   return MatrixMath.sigmoid(h.mmul(this.weights).addi(vbias.repmat(v_data.rows, 1)));
 }
 public DoubleMatrix propup(DoubleMatrix v) {
   return MatrixMath.sigmoid(
       this.weights.mmul(v.transpose()).transpose().addi(hbias.repmat(v_data.rows, 1)));
 }