Package cern.colt.matrix

Examples of cern.colt.matrix.DoubleMatrix1D


  {
    LearnerGraph gr=buildLearnerGraph("A-a->B\nA-b->C\nA-c->C\nD-a->C\nD-b->C\nD-d->C\nD-c->A","testBuildMatrix8",config,converter);

    final int size =4*5/2;
    DoubleMatrix2D matrix=createIdentity(size);
    DoubleMatrix1D row=DoubleFactory1D.dense.make(size, 0);
    matrix.setQuick(2, 2, 1);matrix.setQuick(4, 4, 1);matrix.setQuick(5, 5, 1);// pairs with zero total outgoing transitions.
    matrix.setQuick(0, 0, 3*2);matrix.setQuick(0, 2, -k);matrix.setQuick(0, 5, -2*k);row.setQuick(0, 3);
    matrix.setQuick(1, 1, 3*2);
    matrix.setQuick(3, 3, 3*2);
    matrix.setQuick(6, 6, 3*2);
 
    matrix.setQuick(9, 5, -3*k);matrix.setQuick(9, 0, -k);row.setQuick(9, 4);
    matrix.setQuick(6, 4, -k);matrix.setQuick(6, 5, -k);matrix.setQuick(6, 3, -k);row.setQuick(6, 3);
    matrix.setQuick(9, 9, 4*2);
    matrix.setQuick(8, 8, 4*2);
    matrix.setQuick(7, 7, 4*2);
    matrix.setQuick(6, 6, 4*2);
   
 
View Full Code Here


  @Test
  public final void TestComputeStateCompatibility1a()
  {
    LearnerGraph gr = buildLearnerGraph(machineCompatibility1,"TestComputeStateCompatibility1",config,converter);
    GDLearnerGraph ndGraph = new GDLearnerGraph(gr,LearnerGraphND.ignoreRejectStates, false);
    DoubleMatrix1D result = DoubleFactory1D.dense.make(ndGraph.computeStateCompatibility(threadNumber,null));
    Assert.assertTrue(DoubleFactory1D.dense.make(new double[]{(1+k/2)/2,1./2,1./2,0,0,0}).equals(result));
 
View Full Code Here

  @Test
  public final void TestComputeStateCompatibility2a()
  {
    LearnerGraph gr=buildLearnerGraph(machineCompatibility2,"TestComputeStateCompatibility1",config,converter);
    GDLearnerGraph ndGraph = new GDLearnerGraph(gr,LearnerGraphND.ignoreRejectStates, false);
    DoubleMatrix1D result = DoubleFactory1D.dense.make(ndGraph.computeStateCompatibility(threadNumber,null));
    //DoubleMatrix1D expected=DoubleFactory1D.dense.make(new double[]{1+k,PAIR_INCOMPATIBLE,1,PAIR_INCOMPATIBLE,PAIR_INCOMPATIBLE,0});
    DoubleMatrix1D expected=DoubleFactory1D.dense.make(new double[]{(1+k/2*(k/2+1))/2,PAIR_INCOMPATIBLE,(1+k/2)/2,PAIR_INCOMPATIBLE,PAIR_INCOMPATIBLE,1./2});
    Assert.assertTrue("unexpected results: "+result+"\nexpected: "+expected,expected.equals(result));
  }
View Full Code Here

  */
 
  protected DoubleMatrix1D getExpectedMatrix1DSlowly(LearnerGraph gr)
  {
    int size=gr.getStateNumber()*(gr.getStateNumber()+1)/2;
    DoubleMatrix1D result = DoubleFactory1D.dense.make(size);
    StatesToConsider filter = LearnerGraphND.ignoreRejectStates;
    GDLearnerGraph ndGraph = new GDLearnerGraph(gr,filter, false);
    DetermineDiagonalAndRightHandSide ddrhInstance = ndGraph.new DDRH_default();
    for(Entry<CmpVertex,Map<Label,List<CmpVertex>>> entryA:ndGraph.matrixForward.transitionMatrix.entrySet())
    {
      // Now iterate through states
      Iterator<Entry<CmpVertex,Map<Label,List<CmpVertex>>>> stateB_It = ndGraph.matrixForward.transitionMatrix.entrySet().iterator();
      while(stateB_It.hasNext())
      {
        Entry<CmpVertex,Map<Label,List<CmpVertex>>> stateB = stateB_It.next();

        int currentStatePair = ndGraph.vertexToIntNR(stateB.getKey(),entryA.getKey());
        ddrhInstance.compute(entryA.getKey(),stateB.getKey(),entryA.getValue(),stateB.getValue());
        result.setQuick(currentStatePair, ddrhInstance.getRightHandSide());
       
        if (stateB.getKey().equals(entryA.getKey())) break; // we only process a triangular subset.
      }
    }
   
View Full Code Here

    GDLearnerGraph ndGraph = new GDLearnerGraph(gr,LearnerGraphND.ignoreRejectStates, false);
    LSolver solver = ndGraph.buildMatrix(threadNumber);
    DoubleMatrix2D Ax=solver.toDoubleMatrix2D();
    Assert.assertEquals(getExpectedMatrix2DSlowly(gr),Ax);
    if (expectedAx != null) Assert.assertEquals(expectedAx, Ax);
    DoubleMatrix1D b=solver.toDoubleMatrix1D();
    if (expectedB != null) Assert.assertEquals(expectedB, b);Assert.assertEquals(getExpectedMatrix1DSlowly(gr),b);
    solver.solveExternally(1);// check if we have a solution, just in case it fails.

    // Now check consistency.
    gr.config.setAttenuationK_testOnly(1);DoubleMatrix2D Ax1 = ndGraph.buildMatrix(threadNumber).toDoubleMatrix2D();
    gr.config.setAttenuationK(0);DoubleMatrix2D Ax0 = ndGraph.buildMatrix(threadNumber).toDoubleMatrix2D();
    DoubleMatrix1D one = DoubleFactory1D.dense.make(Ax1.rows(), 1), a=DoubleFactory1D.dense.make(Ax.rows(), 0);
   
    // check A(1)*one >= 0
    Ax1.zMult(one, a);for(int i=0;i<a.size();++i) Assert.assertTrue(a.getQuick(i)>=0);
   
    // check (A(1)-A(0))*one = b
View Full Code Here

  public final void testBuildMatrix3()
  {
    LearnerGraph gr=buildLearnerGraph("A-a->B\nC-a->D""testBuildMatrix3",config,converter);
    final int size =4*5/2;
    DoubleMatrix2D matrix=createIdentity(size);
    DoubleMatrix1D row=DoubleFactory1D.dense.make(size, 0);
    matrix.setQuick(2, 2, 1);matrix.setQuick(7, 7, 1);matrix.setQuick(9, 9, 1);// pairs with zero total outgoing transitions.
    matrix.setQuick(0, 2, -k);row.setQuick(0, 1);
    matrix.setQuick(5, 9, -k);row.setQuick(5, 1);
    matrix.setQuick(3, 7, -k);row.setQuick(3, 1);
   
    checkBuildMatrix(gr,matrix,row);
  }
View Full Code Here

  public final void testBuildMatrix4()
  {
    LearnerGraph gr=buildLearnerGraph("A-a->B\nA-b->C\nD-a->C""testBuildMatrix4",config,converter);
    final int size =4*5/2;
    DoubleMatrix2D matrix=createIdentity(size);
    DoubleMatrix1D row=DoubleFactory1D.dense.make(size, 0);
    matrix.setQuick(2, 2, 1);matrix.setQuick(4, 4, 1);matrix.setQuick(5, 5, 1);// pairs with zero total outgoing transitions.
    matrix.setQuick(0, 0, 2*2);matrix.setQuick(0, 2, -k);matrix.setQuick(0, 5, -k);row.setQuick(0, 2);
    matrix.setQuick(1, 1, 2*2);
    matrix.setQuick(3, 3, 2*2);
    matrix.setQuick(6, 6, 2*2);
 
    matrix.setQuick(9, 5, -k);row.setQuick(9, 1);
    matrix.setQuick(6, 4, -k);row.setQuick(6, 1);
       
    checkBuildMatrix(gr,matrix,row);
  }
View Full Code Here

  public final void testBuildMatrix5()
  {
    LearnerGraph gr=buildLearnerGraph("A-a->B\nA-b->C\nD-a->C\nD-b->C","testBuildMatrix5",config,converter);
    final int size =4*5/2;
    DoubleMatrix2D matrix=createIdentity(size);
    DoubleMatrix1D row=DoubleFactory1D.dense.make(size, 0);
    matrix.setQuick(2, 2, 1);matrix.setQuick(4, 4, 1);matrix.setQuick(5, 5, 1);// pairs with zero total outgoing transitions.
    matrix.setQuick(0, 0, 2*2);matrix.setQuick(0, 2, -k);matrix.setQuick(0, 5, -k);row.setQuick(0, 2);
    matrix.setQuick(1, 1, 2*2);
    matrix.setQuick(3, 3, 2*2);
    matrix.setQuick(6, 6, 2*2);
 
    matrix.setQuick(9, 5, -2*k);row.setQuick(9, 2);
    matrix.setQuick(6, 4, -k);matrix.setQuick(6, 5, -k);row.setQuick(6, 2);
    matrix.setQuick(9, 9, 2*2);
    matrix.setQuick(8, 8, 2*2);
    matrix.setQuick(7, 7, 2*2);
    matrix.setQuick(6, 6, 2*2);
   
 
View Full Code Here

  public final void testBuildMatrix6()
  {
    LearnerGraph gr=buildLearnerGraph("A-a->B\nA-b->C\nD-a->C\nD-b->C\nD-c->A","testBuildMatrix6",config,converter);
    final int size =4*5/2;
    DoubleMatrix2D matrix=createIdentity(size);
    DoubleMatrix1D row=DoubleFactory1D.dense.make(size, 0);
    matrix.setQuick(2, 2, 1);matrix.setQuick(4, 4, 1);matrix.setQuick(5, 5, 1);// pairs with zero total outgoing transitions.
    matrix.setQuick(0, 0, 2*2);matrix.setQuick(0, 2, -k);matrix.setQuick(0, 5, -k);row.setQuick(0, 2);
    matrix.setQuick(1, 1, 2*2);
    matrix.setQuick(3, 3, 2*2);
    matrix.setQuick(6, 6, 2*2);
 
    matrix.setQuick(9, 5, -2*k);matrix.setQuick(9, 0, -k);row.setQuick(9, 3);
    matrix.setQuick(6, 4, -k);matrix.setQuick(6, 5, -k);row.setQuick(6, 2);
    matrix.setQuick(9, 9, 3*2);
    matrix.setQuick(8, 8, 3*2);
    matrix.setQuick(7, 7, 3*2);
    matrix.setQuick(6, 6, 3*2);
   
 
View Full Code Here

  {
    LearnerGraph gr=buildLearnerGraph("A-a->B\nA-b->C\nA-c->C\nD-a->C\nD-b->C\nD-c->A","testBuildMatrix7",config,converter);

    final int size =4*5/2;
    DoubleMatrix2D matrix=createIdentity(size);
    DoubleMatrix1D row=DoubleFactory1D.dense.make(size, 0);
    matrix.setQuick(2, 2, 1);matrix.setQuick(4, 4, 1);matrix.setQuick(5, 5, 1);// pairs with zero total outgoing transitions.
    matrix.setQuick(0, 0, 3*2);matrix.setQuick(0, 2, -k);matrix.setQuick(0, 5, -2*k);row.setQuick(0, 3);
    matrix.setQuick(1, 1, 3*2);
    matrix.setQuick(3, 3, 3*2);
    matrix.setQuick(6, 6, 3*2);
 
    matrix.setQuick(9, 5, -2*k);matrix.setQuick(9, 0, -k);row.setQuick(9, 3);
    matrix.setQuick(6, 4, -k);matrix.setQuick(6, 5, -k);matrix.setQuick(6, 3, -k);row.setQuick(6, 3);
    matrix.setQuick(9, 9, 3*2);
    matrix.setQuick(8, 8, 3*2);
    matrix.setQuick(7, 7, 3*2);
    matrix.setQuick(6, 6, 3*2);
   
 
View Full Code Here

TOP

Related Classes of cern.colt.matrix.DoubleMatrix1D

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.