Package org.apache.mahout.math

Examples of org.apache.mahout.math.Vector


    assertOrthonormal(eigens, 1.0e-6);
  }

  public static void assertOrthonormal(Matrix currentEigens, double errorMargin) {
    for (int i = 0; i < currentEigens.numRows(); i++) {
      Vector ei = currentEigens.getRow(i);
      for (int j = 0; j <= i; j++) {
        Vector ej = currentEigens.getRow(j);
        if (ei.norm(2) == 0 || ej.norm(2) == 0) {
          continue;
        }
        double dot = ei.dot(ej);
        if (i == j) {
          assertTrue("not norm 1 : " + dot + " (eigen #" + i + ')', (Math.abs(1 - dot) < errorMargin));
View Full Code Here


                                 VectorIterable corpus,
                                 int numEigensToCheck,
                                 double errorMargin,
                                 boolean isSymmetric) {
    for (int i = 0; i < numEigensToCheck; i++) {
      Vector e = eigens.getRow(i);
      if (e.getLengthSquared() == 0) continue;
      Vector afterMultiply = isSymmetric ? corpus.times(e) : corpus.timesSquared(e);
      double dot = afterMultiply.dot(e);
      double afterNorm = afterMultiply.getLengthSquared();
      double error = 1 - dot / Math.sqrt(afterNorm * e.getLengthSquared());
      log.info("Eigenvalue({}) = {}", i, Math.sqrt(afterNorm/e.getLengthSquared()));
      assertTrue("Error margin: {" + error + " too high! (for eigen " + i + ")", Math.abs(error) < errorMargin);
    }
  }
View Full Code Here

      }
      int c = r.nextInt(numRows);
      if (r.nextBoolean() || numRows == nonNullRows) {
        m.assignRow(numRows == nonNullRows ? i : c, v);
      } else {
        Vector other = m.getRow(r.nextInt(numRows));
        if (other != null && other.getLengthSquared() > 0) {
          m.assignRow(c, other.clone());
        }
      }
      n += m.getRow(c).getLengthSquared();
    }
    return m;
View Full Code Here

    @Override
    public Vector next() {
      if (!hasNext()) {
        throw new NoSuchElementException();
      }
      Vector result = type == VectorType.SPARSE ? new RandomAccessSparseVector(numItems) : new DenseVector(numItems);
      result.assign(new UnaryFunction(){
        @Override
        public double apply(double arg1) {
          return random.nextDouble();
        }
      });
View Full Code Here

    Map<String, Integer> bindings = iterable.getModel().getLabelBindings();
    Assert.assertNotNull(bindings);
    Assert.assertEquals(5, bindings.size());
    Iterator<Vector> iter = iterable.iterator();
    Assert.assertTrue(iter.hasNext());
    Vector next = iter.next();
    Assert.assertNotNull(next);
    Assert.assertTrue("Wrong instanceof", next instanceof DenseVector);
    Assert.assertEquals(1.0, next.get(0));
    Assert.assertEquals(2.0, next.get(1));
    Assert.assertTrue(iter.hasNext());
    next = iter.next();
    Assert.assertNotNull(next);
    Assert.assertTrue("Wrong instanceof", next instanceof DenseVector);
    Assert.assertEquals(2.0, next.get(0));
    Assert.assertEquals(3.0, next.get(1));
   
    Assert.assertTrue(iter.hasNext());
    next = iter.next();
    Assert.assertNotNull(next);
    Assert.assertTrue("Wrong instanceof", next instanceof RandomAccessSparseVector);
    Assert.assertEquals(5.0, next.get(0));
    Assert.assertEquals(23.0, next.get(1));
   
    Assert.assertFalse(iter.hasNext());
  }
View Full Code Here

      }
    }
    for (MeanShiftCanopy canopy : canopies) {
      int ch = 'A' + canopy.getCanopyId() - 100;
      for (int pid : canopy.getBoundPoints().elements()) {
        Vector pt = raw[pid];
        out[(int) pt.getQuick(0)][(int) pt.getQuick(1)] = (char) ch;
      }
    }
    for (char[] anOut : out) {
      System.out.println(anOut);
    }
View Full Code Here

    rmr("testdata");
    raw = new Vector[100];
    for (int i = 0; i < 10; i++) {
      for (int j = 0; j < 10; j++) {
        int ix = i * 10 + j;
        Vector v = new DenseVector(3);
        v.setQuick(0, i);
        v.setQuick(1, j);
        if (i == j) {
          v.setQuick(2, 9);
        } else if (i + j == 9) {
          v.setQuick(2, 4.5);
        }
        raw[ix] = v;
      }
    }
  }
View Full Code Here

    public void map(IntWritable index,
                    TupleWritable v,
                    OutputCollector<IntWritable,VectorWritable> out,
                    Reporter reporter) throws IOException {
      boolean firstIsOutFrag =  ((VectorWritable)v.get(0)).get().size() == outCardinality;
      Vector outFrag = firstIsOutFrag ? ((VectorWritable)v.get(0)).get() : ((VectorWritable)v.get(1)).get();
      Vector multiplier = firstIsOutFrag ? ((VectorWritable)v.get(1)).get() : ((VectorWritable)v.get(0)).get();

      Iterator<Vector.Element> it = multiplier.iterateNonZero();
      while(it.hasNext()) {
        Vector.Element e = it.next();
        row.set(e.index());
        outVector.set(outFrag.times(e.get()));
        out.collect(row, outVector);
View Full Code Here

  private static final Type clusterType = new TypeToken<DirichletCluster<Vector>>() {
  }.getType();

  public void testDirichletNormalModel() {
    double[] d = { 1.1, 2.2, 3.3 };
    Vector m = new DenseVector(d);
    Printable model = new NormalModel(m, 0.75);
    String format = model.asFormatString(null);
    assertEquals("format", "nm{n=0 m=[1.100, 2.200, 3.300] sd=0.75}", format);
    String json = model.asJsonString();
    GsonBuilder builder = new GsonBuilder();
View Full Code Here

    assertEquals("Json", format, model2.asFormatString(null));
  }

  public void testDirichletSampledNormalModel() {
    double[] d = { 1.1, 2.2, 3.3 };
    Vector m = new DenseVector(d);
    Printable model = new SampledNormalModel(m, 0.75);
    String format = model.asFormatString(null);
    assertEquals("format", "snm{n=0 m=[1.100, 2.200, 3.300] sd=0.75}", format);
    String json = model.asJsonString();
    GsonBuilder builder = new GsonBuilder();
View Full Code Here

TOP

Related Classes of org.apache.mahout.math.Vector

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.