code: public INDArray generateGaussianSamples(long count) {
          INDArray samples = Nd4j.randn(new long[] {count, eigenvalues.columns()});
          INDArray factors = Transforms.pow(eigenvalues, -0.5, true);
          samples.muliRowVector(factors);
          return Nd4j.tensorMmul(eigenvectors, samples, new int[][] {{1}, {1}}).transposei().addiRowVector(mean);
      }
docs: Generates a set of <i>count</i> random samples with the same variance and mean and eigenvector/values
  as the data set used to initialize the PCA object, with same number of features <i>N</i>.
  @param count The number of samples to generate
  @return A matrix of size <i>count</i> rows by <i>N</i> columns